[evolution] Bug #725615 - Disable Delete button in a vTrash folder
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution] Bug #725615 - Disable Delete button in a vTrash folder
- Date: Thu, 6 Mar 2014 10:49:57 +0000 (UTC)
commit ddffaf3bcef9daf894e85911cd6179b9458ee502
Author: Milan Crha <mcrha redhat com>
Date: Thu Mar 6 11:49:03 2014 +0100
Bug #725615 - Disable Delete button in a vTrash folder
mail/e-mail-reader.c | 9 +++++++--
mail/e-mail-reader.h | 3 ++-
2 files changed, 9 insertions(+), 3 deletions(-)
---
diff --git a/mail/e-mail-reader.c b/mail/e-mail-reader.c
index d0a8512..e1c477e 100644
--- a/mail/e-mail-reader.c
+++ b/mail/e-mail-reader.c
@@ -3326,8 +3326,9 @@ mail_reader_update_actions (EMailReader *reader,
* advance the cursor even if the message is already deleted. */
action_name = "mail-delete";
sensitive =
- single_message_selected ||
- selection_has_undeleted_messages;
+ (single_message_selected ||
+ selection_has_undeleted_messages) &&
+ (state & E_MAIL_READER_FOLDER_IS_VTRASH) == 0;
action = e_mail_reader_get_action (reader, action_name);
gtk_action_set_sensitive (action, sensitive);
@@ -4042,6 +4043,7 @@ e_mail_reader_check_state (EMailReader *reader)
gboolean store_supports_vjunk = FALSE;
gboolean is_mailing_list;
gboolean is_junk_folder = FALSE;
+ gboolean is_vtrash_folder = FALSE;
guint32 state = 0;
guint ii;
@@ -4062,6 +4064,7 @@ e_mail_reader_check_state (EMailReader *reader)
store_supports_vjunk = (store->flags & CAMEL_STORE_VJUNK);
is_junk_folder =
(folder->folder_flags & CAMEL_FOLDER_IS_JUNK) != 0;
+ is_vtrash_folder = (store->flags & CAMEL_STORE_VTRASH) != 0 && (folder->folder_flags &
CAMEL_FOLDER_IS_TRASH) != 0;
drafts_or_outbox =
em_utils_folder_is_drafts (registry, folder) ||
em_utils_folder_is_outbox (registry, folder);
@@ -4189,6 +4192,8 @@ e_mail_reader_check_state (EMailReader *reader)
state |= E_MAIL_READER_SELECTION_IS_MAILING_LIST;
if (is_junk_folder)
state |= E_MAIL_READER_FOLDER_IS_JUNK;
+ if (is_vtrash_folder)
+ state |= E_MAIL_READER_FOLDER_IS_VTRASH;
g_clear_object (&folder);
g_ptr_array_unref (uids);
diff --git a/mail/e-mail-reader.h b/mail/e-mail-reader.h
index 90e86f4..5d081c2 100644
--- a/mail/e-mail-reader.h
+++ b/mail/e-mail-reader.h
@@ -86,7 +86,8 @@ enum {
E_MAIL_READER_SELECTION_HAS_UNREAD = 1 << 14,
E_MAIL_READER_SELECTION_HAS_ATTACHMENTS = 1 << 15,
E_MAIL_READER_SELECTION_IS_MAILING_LIST = 1 << 16,
- E_MAIL_READER_FOLDER_IS_JUNK = 1 << 17
+ E_MAIL_READER_FOLDER_IS_JUNK = 1 << 17,
+ E_MAIL_READER_FOLDER_IS_VTRASH = 1 << 18
};
struct _EMailReaderInterface {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]