diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2010-11-02 02:44:23 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2010-11-02 02:46:03 +0800 |
commit | 7d20b8fd5fd28a90852c737f35cef7ba03a2c116 (patch) | |
tree | 0803b787043a9bb825c59ffbbda2da8b328f48a6 /modules/addressbook/e-book-shell-sidebar.c | |
parent | 966c22cc9440851d166a530c7e187e0f80633c57 (diff) | |
download | gsoc2013-evolution-7d20b8fd5fd28a90852c737f35cef7ba03a2c116.tar gsoc2013-evolution-7d20b8fd5fd28a90852c737f35cef7ba03a2c116.tar.gz gsoc2013-evolution-7d20b8fd5fd28a90852c737f35cef7ba03a2c116.tar.bz2 gsoc2013-evolution-7d20b8fd5fd28a90852c737f35cef7ba03a2c116.tar.lz gsoc2013-evolution-7d20b8fd5fd28a90852c737f35cef7ba03a2c116.tar.xz gsoc2013-evolution-7d20b8fd5fd28a90852c737f35cef7ba03a2c116.tar.zst gsoc2013-evolution-7d20b8fd5fd28a90852c737f35cef7ba03a2c116.zip |
Utilize the new ESourceSelector:primary-selection property.
Diffstat (limited to 'modules/addressbook/e-book-shell-sidebar.c')
-rw-r--r-- | modules/addressbook/e-book-shell-sidebar.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/modules/addressbook/e-book-shell-sidebar.c b/modules/addressbook/e-book-shell-sidebar.c index 5ff6c2902c..3c61f5e55d 100644 --- a/modules/addressbook/e-book-shell-sidebar.c +++ b/modules/addressbook/e-book-shell-sidebar.c @@ -24,6 +24,8 @@ #include <string.h> #include <glib/gi18n.h> +#include <e-util/e-util.h> + #include "e-book-shell-view.h" #include "e-book-shell-backend.h" #include "e-addressbook-selector.h" @@ -81,9 +83,11 @@ static void book_shell_sidebar_constructed (GObject *object) { EBookShellSidebarPrivate *priv; + EShell *shell; EShellView *shell_view; EShellBackend *shell_backend; EShellSidebar *shell_sidebar; + EShellSettings *shell_settings; ESourceList *source_list; GtkContainer *container; GtkWidget *widget; @@ -97,6 +101,9 @@ book_shell_sidebar_constructed (GObject *object) shell_view = e_shell_sidebar_get_shell_view (shell_sidebar); shell_backend = e_shell_view_get_shell_backend (shell_view); + shell = e_shell_backend_get_shell (shell_backend); + shell_settings = e_shell_get_shell_settings (shell); + source_list = e_book_shell_backend_get_source_list ( E_BOOK_SHELL_BACKEND (shell_backend)); @@ -118,6 +125,16 @@ book_shell_sidebar_constructed (GObject *object) gtk_container_add (GTK_CONTAINER (container), widget); priv->selector = g_object_ref (widget); gtk_widget_show (widget); + + g_object_bind_property_full ( + shell_settings, "book-primary-selection", + widget, "primary-selection", + G_BINDING_BIDIRECTIONAL | + G_BINDING_SYNC_CREATE, + (GBindingTransformFunc) e_binding_transform_uid_to_source, + (GBindingTransformFunc) e_binding_transform_source_to_uid, + g_object_ref (source_list), + (GDestroyNotify) g_object_unref); } static guint32 @@ -132,7 +149,7 @@ book_shell_sidebar_check_state (EShellSidebar *shell_sidebar) book_shell_sidebar = E_BOOK_SHELL_SIDEBAR (shell_sidebar); selector = e_book_shell_sidebar_get_selector (book_shell_sidebar); - source = e_source_selector_peek_primary_selection (selector); + source = e_source_selector_get_primary_selection (selector); if (source != NULL) { const gchar *uri; |