aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-06-30 07:41:00 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-06-30 07:41:00 +0000
commit0e676a1296e611abea9bcb6ce673cd8f55aa5691 (patch)
tree3f2d463ac208673148b4ecb958af089d6926c9c1 /src
parentf3fb1172b4b6ecf8254e52d03bb326f78cd58e57 (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.c11
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)