EAddressbookSelector: Inherit from EClientSelector.
Use e_client_selector_get_client() to obtain an EClient.
This commit is contained in:
@ -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;
|
||||
|
||||
return g_object_new (
|
||||
g_return_val_if_fail (E_IS_CLIENT_CACHE (client_cache), NULL);
|
||||
|
||||
registry = e_client_cache_ref_registry (client_cache);
|
||||
|
||||
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 *
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user