From 6b2a55be48922c9fe5c94d654a4d463f23a428f2 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Tue, 1 Sep 2009 20:26:33 -0400 Subject: Disable classic/vertical options when preview is hidden. --- modules/addressbook/e-book-shell-view-actions.c | 8 ++++++++ modules/addressbook/e-book-shell-view-private.h | 1 + modules/calendar/e-memo-shell-view-actions.c | 8 ++++++++ modules/calendar/e-memo-shell-view-private.h | 1 + modules/calendar/e-task-shell-view-actions.c | 8 ++++++++ modules/mail/e-mail-shell-view-actions.c | 8 ++++++++ 6 files changed, 34 insertions(+) diff --git a/modules/addressbook/e-book-shell-view-actions.c b/modules/addressbook/e-book-shell-view-actions.c index c2195e52de..5daf7e51df 100644 --- a/modules/addressbook/e-book-shell-view-actions.c +++ b/modules/addressbook/e-book-shell-view-actions.c @@ -1007,6 +1007,14 @@ e_book_shell_view_actions_init (EBookShellView *book_shell_view) g_signal_connect ( ACTION (SEARCH_EXECUTE), "activate", G_CALLBACK (action_search_execute_cb), book_shell_view); + + e_binding_new ( + G_OBJECT (ACTION (CONTACT_PREVIEW)), "active", + G_OBJECT (ACTION (CONTACT_VIEW_CLASSIC)), "sensitive"); + + e_binding_new ( + G_OBJECT (ACTION (CONTACT_PREVIEW)), "active", + G_OBJECT (ACTION (CONTACT_VIEW_VERTICAL)), "sensitive"); } void diff --git a/modules/addressbook/e-book-shell-view-private.h b/modules/addressbook/e-book-shell-view-private.h index b49677680f..31165e49b3 100644 --- a/modules/addressbook/e-book-shell-view-private.h +++ b/modules/addressbook/e-book-shell-view-private.h @@ -32,6 +32,7 @@ #include #include +#include "e-util/e-binding.h" #include "e-util/gconf-bridge.h" #include "shell/e-shell-content.h" #include "shell/e-shell-sidebar.h" diff --git a/modules/calendar/e-memo-shell-view-actions.c b/modules/calendar/e-memo-shell-view-actions.c index 0161eeb198..8604d8e2c5 100644 --- a/modules/calendar/e-memo-shell-view-actions.c +++ b/modules/calendar/e-memo-shell-view-actions.c @@ -933,6 +933,14 @@ e_memo_shell_view_actions_init (EMemoShellView *memo_shell_view) g_signal_connect ( ACTION (SEARCH_EXECUTE), "activate", G_CALLBACK (action_search_execute_cb), memo_shell_view); + + e_binding_new ( + G_OBJECT (ACTION (MEMO_PREVIEW)), "active", + G_OBJECT (ACTION (MEMO_VIEW_CLASSIC)), "sensitive"); + + e_binding_new ( + G_OBJECT (ACTION (MEMO_PREVIEW)), "active", + G_OBJECT (ACTION (MEMO_VIEW_VERTICAL)), "sensitive"); } void diff --git a/modules/calendar/e-memo-shell-view-private.h b/modules/calendar/e-memo-shell-view-private.h index c7ece91f68..857e924363 100644 --- a/modules/calendar/e-memo-shell-view-private.h +++ b/modules/calendar/e-memo-shell-view-private.h @@ -29,6 +29,7 @@ #include #include +#include "e-util/e-binding.h" #include "e-util/e-dialog-utils.h" #include "e-util/e-error.h" #include "e-util/e-util.h" diff --git a/modules/calendar/e-task-shell-view-actions.c b/modules/calendar/e-task-shell-view-actions.c index d4fb94c2e5..b08f9656c9 100644 --- a/modules/calendar/e-task-shell-view-actions.c +++ b/modules/calendar/e-task-shell-view-actions.c @@ -1133,6 +1133,14 @@ e_task_shell_view_actions_init (ETaskShellView *task_shell_view) g_signal_connect ( ACTION (SEARCH_EXECUTE), "activate", G_CALLBACK (action_search_execute_cb), task_shell_view); + + e_binding_new ( + G_OBJECT (ACTION (TASK_PREVIEW)), "active", + G_OBJECT (ACTION (TASK_VIEW_CLASSIC)), "sensitive"); + + e_binding_new ( + G_OBJECT (ACTION (TASK_PREVIEW)), "active", + G_OBJECT (ACTION (TASK_VIEW_VERTICAL)), "sensitive"); } void diff --git a/modules/mail/e-mail-shell-view-actions.c b/modules/mail/e-mail-shell-view-actions.c index 5e6a9ba9cf..11cedfbb3d 100644 --- a/modules/mail/e-mail-shell-view-actions.c +++ b/modules/mail/e-mail-shell-view-actions.c @@ -1583,6 +1583,14 @@ e_mail_shell_view_actions_init (EMailShellView *mail_shell_view) G_OBJECT (ACTION (MAIL_PREVIEW)), "active", G_OBJECT (shell_content), "preview-visible"); + e_binding_new ( + G_OBJECT (ACTION (MAIL_PREVIEW)), "active", + G_OBJECT (ACTION (MAIL_VIEW_CLASSIC)), "sensitive"); + + e_binding_new ( + G_OBJECT (ACTION (MAIL_PREVIEW)), "active", + G_OBJECT (ACTION (MAIL_VIEW_VERTICAL)), "sensitive"); + /* XXX The boolean sense of the GConf key is the inverse of * the menu item, so we have to maintain two properties. */ e_mutual_binding_new_with_negation ( -- cgit