diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2009-08-18 00:15:57 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2009-08-18 00:15:57 +0800 |
commit | ff736e48b2d4375d86af8bbb9ab535f62180e61d (patch) | |
tree | 62488587338dad505397f7538ba4aa554da0a90c /mail/e-mail-reader.c | |
parent | 1eab1eeaeb5cf5947f931ce2a9a16779e4d0662b (diff) | |
download | gsoc2013-evolution-ff736e48b2d4375d86af8bbb9ab535f62180e61d.tar.gz gsoc2013-evolution-ff736e48b2d4375d86af8bbb9ab535f62180e61d.tar.zst gsoc2013-evolution-ff736e48b2d4375d86af8bbb9ab535f62180e61d.zip |
BugĀ 592034 - Reply to List doesn't work
Diffstat (limited to 'mail/e-mail-reader.c')
-rw-r--r-- | mail/e-mail-reader.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/mail/e-mail-reader.c b/mail/e-mail-reader.c index 0362cb110a..ed70753719 100644 --- a/mail/e-mail-reader.c +++ b/mail/e-mail-reader.c @@ -2141,6 +2141,7 @@ e_mail_reader_check_state (EMailReader *reader) gboolean has_unread = FALSE; gboolean drafts_or_outbox; gboolean store_supports_vjunk = FALSE; + gboolean is_mailing_list; guint32 state = 0; guint ii; @@ -2160,8 +2161,13 @@ e_mail_reader_check_state (EMailReader *reader) em_utils_folder_is_drafts (folder, folder_uri) || em_utils_folder_is_outbox (folder, folder_uri); + /* Initialize this flag based on whether there are any + * messages selected. We will update it in the loop. */ + is_mailing_list = (uids->len > 0); + for (ii = 0; ii < uids->len; ii++) { CamelMessageInfo *info; + const gchar *string; guint32 flags; info = camel_folder_get_message_info ( @@ -2227,6 +2233,9 @@ e_mail_reader_check_state (EMailReader *reader) can_flag_completed = TRUE; } else can_flag_for_followup = TRUE; + + string = camel_message_info_mlist (info); + is_mailing_list &= (string != NULL && *string != '\0'); } if (em_utils_check_user_can_send_mail ()) @@ -2237,10 +2246,6 @@ e_mail_reader_check_state (EMailReader *reader) state |= E_MAIL_READER_SELECTION_MULTIPLE; if (!drafts_or_outbox && uids->len == 1) state |= E_MAIL_READER_SELECTION_CAN_ADD_SENDER; -#if 0 /* FIXME */ - if (can_edit) - state |= E_MAIL_READER_SELECTION_CAN_EDIT; -#endif if (can_clear_flags) state |= E_MAIL_READER_SELECTION_FLAG_CLEAR; if (can_flag_completed) @@ -2263,14 +2268,8 @@ e_mail_reader_check_state (EMailReader *reader) state |= E_MAIL_READER_SELECTION_HAS_UNIMPORTANT; if (has_unread) state |= E_MAIL_READER_SELECTION_HAS_UNREAD; -#if 0 /* FIXME */ - if (has_http_uri) - state |= E_MAIL_READER_SELECTION_HAS_URI_HTTP; - if (has_mailto_uri) - state |= E_MAIL_READER_SELECTION_HAS_URI_MAILTO; if (is_mailing_list) state |= E_MAIL_READER_SELECTION_IS_MAILING_LIST; -#endif em_utils_uids_free (uids); @@ -2327,7 +2326,7 @@ e_mail_reader_update_actions (EMailReader *reader) (state & E_MAIL_READER_SELECTION_SINGLE); multiple_messages_selected = (state & E_MAIL_READER_SELECTION_MULTIPLE); - /* FIXME Missing booleans */ + /* FIXME Missing CAN_ADD_SENDER */ enable_flag_clear = (state & E_MAIL_READER_SELECTION_FLAG_CLEAR); enable_flag_completed = @@ -2350,7 +2349,6 @@ e_mail_reader_update_actions (EMailReader *reader) (state & E_MAIL_READER_SELECTION_HAS_UNIMPORTANT); selection_has_unread_messages = (state & E_MAIL_READER_SELECTION_HAS_UNREAD); - /* FIXME Missing booleans */ selection_is_mailing_list = (state & E_MAIL_READER_SELECTION_IS_MAILING_LIST); |