From fb540f5bfb3573322be73f00968583b723595046 Mon Sep 17 00:00:00 2001 From: Jon Trowbridge Date: Fri, 21 Dec 2001 03:39:10 +0000 Subject: Makes the auto-undelete behavior when changing message flags a bit more 2001-12-20 Jon Trowbridge * message-list.c (on_click): Makes the auto-undelete behavior when changing message flags a bit more sane. (Fixes #17634) svn path=/trunk/; revision=15200 --- mail/ChangeLog | 5 +++++ mail/message-list.c | 18 +++++++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/mail/ChangeLog b/mail/ChangeLog index 6bd057bbaa..4ac26319b0 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,8 @@ +2001-12-20 Jon Trowbridge + + * message-list.c (on_click): Makes the auto-undelete behavior when + changing message flags a bit more sane. (Fixes #17634) + 2001-12-20 Ettore Perazzoli [Fixes #17377, Evolution doesn't work on multi-depth displays.] diff --git a/mail/message-list.c b/mail/message-list.c index 24fac02cbe..c2f9f127a8 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -2060,9 +2060,21 @@ on_click (ETree *tree, gint row, ETreePath path, gint col, GdkEvent *event, Mess return FALSE; } - /* If a message was marked as deleted and the user flags it as important, undelete it */ - if ((col == COL_FLAGGED || col == COL_NEED_REPLY) && (info->flags & CAMEL_MESSAGE_DELETED)) - flag |= CAMEL_MESSAGE_DELETED; + /* If a message was marked as deleted and the user flags it as + important, marks it as needing a reply, marks it as unread, + then undelete the message. */ + if (info->flags & CAMEL_MESSAGE_DELETED) { + + if (col == COL_FLAGGED && !(info->flags & CAMEL_MESSAGE_FLAGGED)) + flag |= CAMEL_MESSAGE_DELETED; + + if (col == COL_NEED_REPLY && !(info->flags & CAMEL_MESSAGE_NEEDS_REPLY)) + flag |= CAMEL_MESSAGE_DELETED; + + if (col == COL_MESSAGE_STATUS && (info->flags & CAMEL_MESSAGE_SEEN)) + flag |= CAMEL_MESSAGE_DELETED; + + } camel_folder_set_message_flags (list->folder, camel_message_info_uid (info), flag, ~info->flags); -- cgit v1.2.3