diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-06-30 07:41:00 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-06-30 07:41:00 +0000 |
commit | 0e676a1296e611abea9bcb6ce673cd8f55aa5691 (patch) | |
tree | 3f2d463ac208673148b4ecb958af089d6926c9c1 /src | |
parent | f3fb1172b4b6ecf8254e52d03bb326f78cd58e57 (diff) |
reflect flag changes of manual filtering to IMAP server.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@387 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src')
-rw-r--r-- | src/summaryview.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/summaryview.c b/src/summaryview.c index a3a3d8b9..8b568c0c 100644 --- a/src/summaryview.c +++ b/src/summaryview.c @@ -3636,11 +3636,16 @@ static gboolean summary_filter_func(GtkTreeModel *model, GtkTreePath *path, fltinfo->actions[FLT_ACTION_REDIRECT]) summaryview->filtered++; - if ((fltinfo->actions[FLT_ACTION_MARK] || - fltinfo->actions[FLT_ACTION_COLOR_LABEL] || - fltinfo->actions[FLT_ACTION_MARK_READ])) { + if (msginfo->flags.perm_flags != fltinfo->flags.perm_flags) { msginfo->flags = fltinfo->flags; summary_set_row(summaryview, iter, msginfo); + if (MSG_IS_IMAP(msginfo->flags)) { + if (fltinfo->actions[FLT_ACTION_MARK]) + imap_msg_set_perm_flags(msginfo, MSG_MARKED); + if (fltinfo->actions[FLT_ACTION_MARK_READ]) + imap_msg_unset_perm_flags(msginfo, + MSG_NEW|MSG_UNREAD); + } } if (fltinfo->actions[FLT_ACTION_MOVE] && fltinfo->move_dest) |