aboutsummaryrefslogtreecommitdiffstats
path: root/mail/e-mail-shell-view.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@src.gnome.org>2009-01-20 08:05:40 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2009-01-20 08:05:40 +0800
commit22d41a51fae2d18315887b05000cf7facc36e887 (patch)
tree044eaaa852ca31a11ea70ec8bfa33c6df8c01891 /mail/e-mail-shell-view.c
parent8e546420df08f5fe243aa4227be44915fd79b86b (diff)
downloadgsoc2013-evolution-22d41a51fae2d18315887b05000cf7facc36e887.tar
gsoc2013-evolution-22d41a51fae2d18315887b05000cf7facc36e887.tar.gz
gsoc2013-evolution-22d41a51fae2d18315887b05000cf7facc36e887.tar.bz2
gsoc2013-evolution-22d41a51fae2d18315887b05000cf7facc36e887.tar.lz
gsoc2013-evolution-22d41a51fae2d18315887b05000cf7facc36e887.tar.xz
gsoc2013-evolution-22d41a51fae2d18315887b05000cf7facc36e887.tar.zst
gsoc2013-evolution-22d41a51fae2d18315887b05000cf7facc36e887.zip
Formalize the "no disabled items in popup menus" policy in the form of a
GtkAction subclass called EPopupAction. Migrate all the modules over to using EPopupActions in their popup menus. Add sensitivity management of GtkActions to EMailReader. Not finished. svn path=/branches/kill-bonobo/; revision=37106
Diffstat (limited to 'mail/e-mail-shell-view.c')
-rw-r--r--mail/e-mail-shell-view.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/mail/e-mail-shell-view.c b/mail/e-mail-shell-view.c
index f93e72c043..5a338ab011 100644
--- a/mail/e-mail-shell-view.c
+++ b/mail/e-mail-shell-view.c
@@ -88,6 +88,7 @@ mail_shell_view_update_actions (EShellView *shell_view)
{
EMailShellViewPrivate *priv;
EMailShellSidebar *mail_shell_sidebar;
+ EShellContent *shell_content;
EShellSidebar *shell_sidebar;
EShellWindow *shell_window;
EMFolderTree *folder_tree;
@@ -96,7 +97,6 @@ mail_shell_view_update_actions (EShellView *shell_view)
const gchar *label;
gchar *uri;
gboolean sensitive;
- gboolean visible;
guint32 state;
/* Be descriptive. */
@@ -112,6 +112,9 @@ mail_shell_view_update_actions (EShellView *shell_view)
shell_window = e_shell_view_get_shell_window (shell_view);
+ shell_content = e_shell_view_get_shell_content (shell_view);
+ e_mail_reader_update_actions (E_MAIL_READER (shell_content));
+
mail_shell_sidebar = priv->mail_shell_sidebar;
folder_tree = e_mail_shell_sidebar_get_folder_tree (mail_shell_sidebar);
@@ -144,21 +147,21 @@ mail_shell_view_update_actions (EShellView *shell_view)
}
action = ACTION (MAIL_ACCOUNT_DISABLE);
- visible = (account != NULL) && folder_is_store;
+ sensitive = (account != NULL) && folder_is_store;
if (account_is_groupwise)
label = _("Proxy _Logout");
else
label = _("_Disable Account");
- gtk_action_set_visible (action, visible);
+ gtk_action_set_sensitive (action, sensitive);
g_object_set (action, "label", label, NULL);
action = ACTION (MAIL_EMPTY_TRASH);
- visible = folder_is_trash;
- gtk_action_set_visible (action, visible);
+ sensitive = folder_is_trash;
+ gtk_action_set_sensitive (action, sensitive);
action = ACTION (MAIL_FLUSH_OUTBOX);
- visible = folder_is_outbox;
- gtk_action_set_visible (action, visible);
+ sensitive = folder_is_outbox;
+ gtk_action_set_sensitive (action, sensitive);
action = ACTION (MAIL_FOLDER_COPY);
sensitive = !folder_is_store;
@@ -182,9 +185,7 @@ mail_shell_view_update_actions (EShellView *shell_view)
action = ACTION (MAIL_FOLDER_REFRESH);
sensitive = !folder_is_store;
- visible = !folder_is_outbox;
gtk_action_set_sensitive (action, sensitive);
- gtk_action_set_visible (action, visible);
action = ACTION (MAIL_FOLDER_RENAME);
sensitive = !folder_is_store && folder_can_be_deleted;