aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addressbook/gui/widgets/e-addressbook-selector.c26
-rw-r--r--addressbook/gui/widgets/e-addressbook-selector.h6
-rw-r--r--modules/addressbook/e-book-shell-sidebar.c8
3 files changed, 26 insertions, 14 deletions
diff --git a/addressbook/gui/widgets/e-addressbook-selector.c b/addressbook/gui/widgets/e-addressbook-selector.c
index 73a3334084..0ae747f404 100644
--- a/addressbook/gui/widgets/e-addressbook-selector.c
+++ b/addressbook/gui/widgets/e-addressbook-selector.c
@@ -65,7 +65,7 @@ static GtkTargetEntry drag_types[] = {
G_DEFINE_TYPE (
EAddressbookSelector,
e_addressbook_selector,
- E_TYPE_SOURCE_SELECTOR)
+ E_TYPE_CLIENT_SELECTOR)
static void
merge_context_next (MergeContext *merge_context)
@@ -257,7 +257,8 @@ target_client_connect_cb (GObject *source_object,
g_return_if_fail (merge_context != NULL);
- client = e_book_client_connect_finish (result, &error);
+ client = e_client_selector_get_client_finish (
+ E_CLIENT_SELECTOR (source_object), result, &error);
/* Sanity check. */
g_return_if_fail (
@@ -327,8 +328,9 @@ addressbook_selector_data_dropped (ESourceSelector *selector,
merge_context->remove_from_source = remove_from_source;
merge_context->pending_adds = TRUE;
- e_book_client_connect (
- destination, NULL, target_client_connect_cb, merge_context);
+ e_client_selector_get_client (
+ E_CLIENT_SELECTOR (selector), destination, NULL,
+ target_client_connect_cb, merge_context);
return TRUE;
}
@@ -381,14 +383,24 @@ e_addressbook_selector_init (EAddressbookSelector *selector)
}
GtkWidget *
-e_addressbook_selector_new (ESourceRegistry *registry)
+e_addressbook_selector_new (EClientCache *client_cache)
{
- g_return_val_if_fail (E_IS_SOURCE_REGISTRY (registry), NULL);
+ ESourceRegistry *registry;
+ GtkWidget *widget;
+
+ g_return_val_if_fail (E_IS_CLIENT_CACHE (client_cache), NULL);
+
+ registry = e_client_cache_ref_registry (client_cache);
- return g_object_new (
+ widget = g_object_new (
E_TYPE_ADDRESSBOOK_SELECTOR,
+ "client-cache", client_cache,
"extension-name", E_SOURCE_EXTENSION_ADDRESS_BOOK,
"registry", registry, NULL);
+
+ g_object_unref (registry);
+
+ return widget;
}
EAddressbookView *
diff --git a/addressbook/gui/widgets/e-addressbook-selector.h b/addressbook/gui/widgets/e-addressbook-selector.h
index 663f58656b..3746bc3aeb 100644
--- a/addressbook/gui/widgets/e-addressbook-selector.h
+++ b/addressbook/gui/widgets/e-addressbook-selector.h
@@ -49,16 +49,16 @@ typedef struct _EAddressbookSelectorClass EAddressbookSelectorClass;
typedef struct _EAddressbookSelectorPrivate EAddressbookSelectorPrivate;
struct _EAddressbookSelector {
- ESourceSelector parent;
+ EClientSelector parent;
EAddressbookSelectorPrivate *priv;
};
struct _EAddressbookSelectorClass {
- ESourceSelectorClass parent_class;
+ EClientSelectorClass parent_class;
};
GType e_addressbook_selector_get_type (void);
-GtkWidget * e_addressbook_selector_new (ESourceRegistry *registry);
+GtkWidget * e_addressbook_selector_new (EClientCache *client_cache);
EAddressbookView *
e_addressbook_selector_get_current_view
(EAddressbookSelector *selector);
diff --git a/modules/addressbook/e-book-shell-sidebar.c b/modules/addressbook/e-book-shell-sidebar.c
index 6e9e3484f9..094e825640 100644
--- a/modules/addressbook/e-book-shell-sidebar.c
+++ b/modules/addressbook/e-book-shell-sidebar.c
@@ -94,7 +94,7 @@ book_shell_sidebar_constructed (GObject *object)
EShellBackend *shell_backend;
EShellSidebar *shell_sidebar;
EShellSettings *shell_settings;
- ESourceRegistry *registry;
+ EClientCache *client_cache;
GtkContainer *container;
GtkWidget *widget;
@@ -123,8 +123,8 @@ book_shell_sidebar_constructed (GObject *object)
container = GTK_CONTAINER (widget);
- registry = e_shell_get_registry (shell);
- widget = e_addressbook_selector_new (registry);
+ client_cache = e_shell_get_client_cache (shell);
+ widget = e_addressbook_selector_new (client_cache);
gtk_container_add (GTK_CONTAINER (container), widget);
priv->selector = g_object_ref (widget);
gtk_widget_show (widget);
@@ -136,7 +136,7 @@ book_shell_sidebar_constructed (GObject *object)
G_BINDING_SYNC_CREATE,
(GBindingTransformFunc) e_binding_transform_uid_to_source,
(GBindingTransformFunc) e_binding_transform_source_to_uid,
- g_object_ref (registry),
+ e_client_cache_ref_registry (client_cache),
(GDestroyNotify) g_object_unref);
}