diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2010-07-12 23:26:47 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2010-07-12 23:26:47 +0800 |
commit | 78bf9d9d708dd255cc0966d64112aba56a4b2544 (patch) | |
tree | 99005ed153514c35d47a86482cad28b024c7ee50 /modules/mail | |
parent | eb29179da623f9cf4abd663577395a085452ca18 (diff) | |
download | gsoc2013-evolution-78bf9d9d708dd255cc0966d64112aba56a4b2544.tar.gz gsoc2013-evolution-78bf9d9d708dd255cc0966d64112aba56a4b2544.tar.zst gsoc2013-evolution-78bf9d9d708dd255cc0966d64112aba56a4b2544.zip |
Bug 624128 - Folder -> Subscriptions is always enabled
Diffstat (limited to 'modules/mail')
-rw-r--r-- | modules/mail/e-mail-shell-view.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/modules/mail/e-mail-shell-view.c b/modules/mail/e-mail-shell-view.c index 3bee268afb..f3b70433bf 100644 --- a/modules/mail/e-mail-shell-view.c +++ b/modules/mail/e-mail-shell-view.c @@ -785,6 +785,7 @@ mail_shell_view_update_actions (EShellView *shell_view) gboolean folder_is_trash; gboolean folder_has_unread_rec = FALSE; gboolean folder_tree_and_message_list_agree = TRUE; + gboolean have_enabled_account; /* Chain up to parent's update_actions() method. */ E_SHELL_VIEW_CLASS (parent_class)->update_actions (shell_view); @@ -795,7 +796,11 @@ mail_shell_view_update_actions (EShellView *shell_view) mail_shell_content = mail_shell_view->priv->mail_shell_content; reader = E_MAIL_READER (mail_shell_content); - e_mail_reader_update_actions (reader); + state = e_mail_reader_check_state (reader); + e_mail_reader_update_actions (reader, state); + + have_enabled_account = + (state & E_MAIL_READER_HAVE_ENABLED_ACCOUNT); mail_shell_sidebar = mail_shell_view->priv->mail_shell_sidebar; folder_tree = e_mail_shell_sidebar_get_folder_tree (mail_shell_sidebar); @@ -857,6 +862,7 @@ mail_shell_view_update_actions (EShellView *shell_view) g_free (uri); } + action = ACTION (MAIL_ACCOUNT_DISABLE); sensitive = (account != NULL) && folder_is_store; if (account_is_groupwise) @@ -920,6 +926,10 @@ mail_shell_view_update_actions (EShellView *shell_view) sensitive = folder_has_unread_rec && !folder_is_store; gtk_action_set_sensitive (action, sensitive); + action = ACTION (MAIL_TOOLS_SUBSCRIPTIONS); + sensitive = have_enabled_account; + gtk_action_set_sensitive (action, sensitive); + e_mail_shell_view_update_popup_labels (mail_shell_view); } |