aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--ChangeLog.ja5
-rw-r--r--src/summaryview.c11
3 files changed, 18 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index c28c4ffd..2367c85c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2005-06-30
+ * src/summaryview.c: summary_filter_func(): reflect flag changes to
+ IMAP server.
+
+2005-06-30
+
* src/compose.c: compose_write_to_file(): check for line length limit
and display warning if exceeds.
* src/utils.[ch]: check_line_length(): new.
diff --git a/ChangeLog.ja b/ChangeLog.ja
index 5bc6ab07..b4c3ba67 100644
--- a/ChangeLog.ja
+++ b/ChangeLog.ja
@@ -1,5 +1,10 @@
2005-06-30
+ * src/summaryview.c: summary_filter_func(): フラグの変更を IMAP
+ サーバに反映させるようにした。
+
+2005-06-30
+
* src/compose.c: compose_write_to_file(): 行長制限をチェックし、
超えた場合は警告を表示。
* src/utils.[ch]: check_line_length(): 新規。
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)