aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/contact-editor/e-contact-editor-fullname.c
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/gui/contact-editor/e-contact-editor-fullname.c')
-rw-r--r--addressbook/gui/contact-editor/e-contact-editor-fullname.c38
1 files changed, 25 insertions, 13 deletions
diff --git a/addressbook/gui/contact-editor/e-contact-editor-fullname.c b/addressbook/gui/contact-editor/e-contact-editor-fullname.c
index 21eddb14d2..c2dc45304b 100644
--- a/addressbook/gui/contact-editor/e-contact-editor-fullname.c
+++ b/addressbook/gui/contact-editor/e-contact-editor-fullname.c
@@ -71,7 +71,9 @@ e_contact_editor_fullname_set_property (GObject *object,
}
break;
case PROP_EDITABLE: {
+ gboolean editable;
gint i;
+
const gchar *widget_names[] = {
"comboentry-title",
"comboentry-suffix",
@@ -85,22 +87,32 @@ e_contact_editor_fullname_set_property (GObject *object,
"label-last",
NULL
};
- e_contact_editor_fullname->editable = g_value_get_boolean (value) ? TRUE : FALSE;
+
+ editable = g_value_get_boolean (value);
+ e_contact_editor_fullname->editable = editable;
+
for (i = 0; widget_names[i] != NULL; i++) {
- GtkWidget *w = e_builder_get_widget (
+ GtkWidget *widget;
+
+ widget = e_builder_get_widget (
e_contact_editor_fullname->builder,
widget_names[i]);
- if (GTK_IS_ENTRY (w)) {
- gtk_editable_set_editable (GTK_EDITABLE (w),
- e_contact_editor_fullname->editable);
- }
- else if (GTK_IS_COMBO_BOX (w)) {
- gtk_editable_set_editable (GTK_EDITABLE (gtk_bin_get_child (GTK_BIN (w))),
- e_contact_editor_fullname->editable);
- gtk_widget_set_sensitive (w, e_contact_editor_fullname->editable);
- }
- else if (GTK_IS_LABEL (w)) {
- gtk_widget_set_sensitive (w, e_contact_editor_fullname->editable);
+
+ if (GTK_IS_ENTRY (widget)) {
+ gtk_editable_set_editable (
+ GTK_EDITABLE (widget), editable);
+
+ } else if (GTK_IS_COMBO_BOX (widget)) {
+ GtkWidget *child;
+
+ child = gtk_bin_get_child (GTK_BIN (widget));
+
+ gtk_editable_set_editable (
+ GTK_EDITABLE (child), editable);
+ gtk_widget_set_sensitive (widget, editable);
+
+ } else if (GTK_IS_LABEL (widget)) {
+ gtk_widget_set_sensitive (widget, editable);
}
}
break;