From 5795e22cb7a67056948f81e1faca2dcecb9333de Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Tue, 7 Feb 2012 09:07:12 -0500 Subject: Bug 418520 - Disable Folder -> Expunge in virtual folders Expunging from a virtual folder actually expunges one or more real folders, which the user may not be aware of and can lead to unintended message removal. I feel it's safest to just disable Folder -> Expunge for any virtual folder, be it Junk, Trash, or a Search Folder. Note that File -> Empty Trash is still always enabled. --- modules/mail/e-mail-shell-view.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'modules/mail') diff --git a/modules/mail/e-mail-shell-view.c b/modules/mail/e-mail-shell-view.c index afd7501d92..9929d8ae0e 100644 --- a/modules/mail/e-mail-shell-view.c +++ b/modules/mail/e-mail-shell-view.c @@ -828,6 +828,7 @@ mail_shell_view_update_actions (EShellView *shell_view) gboolean folder_is_outbox; gboolean folder_is_store; gboolean folder_is_trash; + gboolean folder_is_virtual; gboolean folder_has_unread_rec = FALSE; gboolean folder_tree_and_message_list_agree = TRUE; gboolean store_is_subscribable; @@ -864,6 +865,8 @@ mail_shell_view_update_actions (EShellView *shell_view) (state & E_MAIL_SIDEBAR_FOLDER_IS_STORE); folder_is_trash = (state & E_MAIL_SIDEBAR_FOLDER_IS_TRASH); + folder_is_virtual = + (state & E_MAIL_SIDEBAR_FOLDER_IS_VIRTUAL); store_is_subscribable = (state & E_MAIL_SIDEBAR_STORE_IS_SUBSCRIBABLE); @@ -962,7 +965,7 @@ mail_shell_view_update_actions (EShellView *shell_view) gtk_action_set_sensitive (action, sensitive); action = ACTION (MAIL_FOLDER_EXPUNGE); - sensitive = !folder_is_store && uri != NULL; + sensitive = !folder_is_store && !folder_is_virtual && uri != NULL; gtk_action_set_sensitive (action, sensitive); action = ACTION (MAIL_FOLDER_MOVE); -- cgit v1.2.3