diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ChangeLog.ja | 5 | ||||
-rw-r--r-- | src/summaryview.c | 11 |
3 files changed, 18 insertions, 3 deletions
@@ -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) |