static void addressbook_model_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { switch (property_id) { case PROP_CLIENT: e_addressbook_model_set_client ( E_ADDRESSBOOK_MODEL (object), g_value_get_object (value)); return; case PROP_EDITABLE: e_addressbook_model_set_editable ( E_ADDRESSBOOK_MODEL (object), g_value_get_boolean (value)); return; case PROP_QUERY: e_addressbook_model_set_query ( E_ADDRESSBOOK_MODEL (object), g_value_get_string (value)); return; } G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); }
static void readonly_cb (EBookClient *book_client, GParamSpec *pspec, EAddressbookModel *model) { gboolean editable; editable = !e_client_is_readonly (E_CLIENT (book_client)); e_addressbook_model_set_editable (model, editable); }
static void addressbook_model_client_notify_readonly_cb (EClientCache *client_cache, EClient *client, GParamSpec *pspec, EAddressbookModel *model) { if (!E_IS_BOOK_CLIENT (client)) return; if (E_BOOK_CLIENT (client) == model->priv->book_client) { gboolean editable = !e_client_is_readonly (client); e_addressbook_model_set_editable (model, editable); } }