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.c78
1 files changed, 40 insertions, 38 deletions
diff --git a/addressbook/gui/widgets/e-addressbook-model.c b/addressbook/gui/widgets/e-addressbook-model.c
index 948c74d432..cddbabf924 100644
--- a/addressbook/gui/widgets/e-addressbook-model.c
+++ b/addressbook/gui/widgets/e-addressbook-model.c
@@ -36,7 +36,7 @@
((obj), E_TYPE_ADDRESSBOOK_MODEL, EAddressbookModelPrivate))
struct _EAddressbookModelPrivate {
- ESourceRegistry *registry;
+ EClientCache *client_cache;
EBookClient *book_client;
gchar *query_str;
EBookClientView *client_view;
@@ -62,9 +62,9 @@ struct _EAddressbookModelPrivate {
enum {
PROP_0,
PROP_CLIENT,
+ PROP_CLIENT_CACHE,
PROP_EDITABLE,
- PROP_QUERY,
- PROP_REGISTRY
+ PROP_QUERY
};
enum {
@@ -454,13 +454,13 @@ remove_status_cb (gpointer data)
}
static void
-addressbook_model_set_registry (EAddressbookModel *model,
- ESourceRegistry *registry)
+addressbook_model_set_client_cache (EAddressbookModel *model,
+ EClientCache *client_cache)
{
- g_return_if_fail (E_IS_SOURCE_REGISTRY (registry));
- g_return_if_fail (model->priv->registry == NULL);
+ g_return_if_fail (E_IS_CLIENT_CACHE (client_cache));
+ g_return_if_fail (model->priv->client_cache == NULL);
- model->priv->registry = g_object_ref (registry);
+ model->priv->client_cache = g_object_ref (client_cache);
}
static void
@@ -476,6 +476,12 @@ addressbook_model_set_property (GObject *object,
g_value_get_object (value));
return;
+ case PROP_CLIENT_CACHE:
+ addressbook_model_set_client_cache (
+ E_ADDRESSBOOK_MODEL (object),
+ g_value_get_object (value));
+ return;
+
case PROP_EDITABLE:
e_addressbook_model_set_editable (
E_ADDRESSBOOK_MODEL (object),
@@ -487,12 +493,6 @@ addressbook_model_set_property (GObject *object,
E_ADDRESSBOOK_MODEL (object),
g_value_get_string (value));
return;
-
- case PROP_REGISTRY:
- addressbook_model_set_registry (
- E_ADDRESSBOOK_MODEL (object),
- g_value_get_object (value));
- return;
}
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -512,6 +512,12 @@ addressbook_model_get_property (GObject *object,
E_ADDRESSBOOK_MODEL (object)));
return;
+ case PROP_CLIENT_CACHE:
+ g_value_set_object (
+ value, e_addressbook_model_get_client_cache (
+ E_ADDRESSBOOK_MODEL (object)));
+ return;
+
case PROP_EDITABLE:
g_value_set_boolean (
value, e_addressbook_model_get_editable (
@@ -523,12 +529,6 @@ addressbook_model_get_property (GObject *object,
value, e_addressbook_model_get_query (
E_ADDRESSBOOK_MODEL (object)));
return;
-
- case PROP_REGISTRY:
- g_value_set_object (
- value, e_addressbook_model_get_registry (
- E_ADDRESSBOOK_MODEL (object)));
- return;
}
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -542,6 +542,8 @@ addressbook_model_dispose (GObject *object)
remove_book_view (model);
free_data (model);
+ g_clear_object (&model->priv->client_cache);
+
if (model->priv->book_client) {
if (model->priv->writable_status_id)
g_signal_handler_disconnect (
@@ -601,6 +603,18 @@ e_addressbook_model_class_init (EAddressbookModelClass *class)
g_object_class_install_property (
object_class,
+ PROP_CLIENT_CACHE,
+ g_param_spec_object (
+ "client-cache",
+ "Client Cache",
+ "Shared EClient instances",
+ E_TYPE_CLIENT_CACHE,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (
+ object_class,
PROP_EDITABLE,
g_param_spec_boolean (
"editable",
@@ -622,18 +636,6 @@ e_addressbook_model_class_init (EAddressbookModelClass *class)
G_PARAM_CONSTRUCT |
G_PARAM_STATIC_STRINGS));
- g_object_class_install_property (
- object_class,
- PROP_REGISTRY,
- g_param_spec_object (
- "registry",
- "Registry",
- "Data source registry",
- E_TYPE_SOURCE_REGISTRY,
- G_PARAM_READWRITE |
- G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
signals[WRITABLE_STATUS] = g_signal_new (
"writable_status",
G_OBJECT_CLASS_TYPE (object_class),
@@ -743,21 +745,21 @@ e_addressbook_model_init (EAddressbookModel *model)
}
EAddressbookModel *
-e_addressbook_model_new (ESourceRegistry *registry)
+e_addressbook_model_new (EClientCache *client_cache)
{
- g_return_val_if_fail (E_IS_SOURCE_REGISTRY (registry), NULL);
+ g_return_val_if_fail (E_IS_CLIENT_CACHE (client_cache), NULL);
return g_object_new (
E_TYPE_ADDRESSBOOK_MODEL,
- "registry", registry, NULL);
+ "client-cache", client_cache, NULL);
}
-ESourceRegistry *
-e_addressbook_model_get_registry (EAddressbookModel *model)
+EClientCache *
+e_addressbook_model_get_client_cache (EAddressbookModel *model)
{
g_return_val_if_fail (E_IS_ADDRESSBOOK_MODEL (model), NULL);
- return model->priv->registry;
+ return model->priv->client_cache;
}
EContact *