diff options
-rw-r--r-- | addressbook/gui/widgets/e-addressbook-selector.c | 26 | ||||
-rw-r--r-- | addressbook/gui/widgets/e-addressbook-selector.h | 6 | ||||
-rw-r--r-- | modules/addressbook/e-book-shell-sidebar.c | 8 |
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); } |