aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/widgets/e-addressbook-model.c
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/gui/widgets/e-addressbook-model.c')
-rw-r--r--addressbook/gui/widgets/e-addressbook-model.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/addressbook/gui/widgets/e-addressbook-model.c b/addressbook/gui/widgets/e-addressbook-model.c
index 9183ee0831..0d84d70e45 100644
--- a/addressbook/gui/widgets/e-addressbook-model.c
+++ b/addressbook/gui/widgets/e-addressbook-model.c
@@ -197,11 +197,13 @@ writable_status (EBook *book,
gboolean writable,
EAddressbookModel *model)
{
- model->editable = writable;
+ if (!model->editable_set) {
+ model->editable = writable;
- gtk_signal_emit (GTK_OBJECT (model),
- e_addressbook_model_signals [WRITABLE_STATUS],
- writable);
+ gtk_signal_emit (GTK_OBJECT (model),
+ e_addressbook_model_signals [WRITABLE_STATUS],
+ writable);
+ }
}
static void
@@ -298,6 +300,7 @@ e_addressbook_model_init (GtkObject *object)
model->allocated_count = 0;
model->search_in_progress = FALSE;
model->editable = FALSE;
+ model->editable_set = FALSE;
model->first_get_view = TRUE;
}
@@ -416,6 +419,7 @@ e_addressbook_model_set_arg (GtkObject *o, GtkArg *arg, guint arg_id)
break;
case ARG_EDITABLE:
model->editable = GTK_VALUE_BOOL (*arg);
+ model->editable_set = TRUE;
break;
}
}