From: Christoph Hohmann Date: Tue, 18 Mar 2003 16:21:19 +0000 (+0000) Subject: 0.8.11claws25 X-Git-Tag: rel_0_9_0~193 X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=commitdiff_plain;h=cad8990b0d024146a8cd942a1f950e528621a314 0.8.11claws25 * src/folder.c * src/procmsg.c * src/summaryview.c unset NEW and UNREAD flags when message is ignored, to make sure messages don't show up as unread on other IMAP clients, because the IGNORE_THREAD flag can not be syncronized through the IMAP folder --- diff --git a/ChangeLog.claws b/ChangeLog.claws index 48a88479a..148e2bfb2 100644 --- a/ChangeLog.claws +++ b/ChangeLog.claws @@ -1,3 +1,13 @@ +2003-03-17 [christoph] 0.8.11claws25 + + * src/folder.c + * src/procmsg.c + * src/summaryview.c + unset NEW and UNREAD flags when message is ignored, to make + sure messages don't show up as unread on other IMAP clients, + because the IGNORE_THREAD flag can not be syncronized through + the IMAP folder + 2003-03-17 [christoph] 0.8.11claws24 * src/imap.c diff --git a/configure.ac b/configure.ac index 30c0a0e41..697d30aba 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=8 MICRO_VERSION=11 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=claws24 +EXTRA_VERSION=claws25 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION dnl set $target diff --git a/src/folder.c b/src/folder.c index 312373c32..66d77d435 100644 --- a/src/folder.c +++ b/src/folder.c @@ -1229,8 +1229,10 @@ gint folder_item_scan(FolderItem *item) unreadcnt++; if (MSG_IS_UNREAD(msginfo->flags) && procmsg_msg_has_marked_parent(msginfo)) unreadmarkedcnt++; - if (!MSG_IS_IGNORE_THREAD(msginfo->flags) && procmsg_msg_has_flagged_parent(msginfo, MSG_IGNORE_THREAD)) + if (!MSG_IS_IGNORE_THREAD(msginfo->flags) && procmsg_msg_has_flagged_parent(msginfo, MSG_IGNORE_THREAD)) { + procmsg_msginfo_unset_flags(msginfo, MSG_NEW | MSG_UNREAD, 0); procmsg_msginfo_set_flags(msginfo, MSG_IGNORE_THREAD, 0); + } totalcnt++; procmsg_msginfo_free(msginfo); diff --git a/src/procmsg.c b/src/procmsg.c index 2240b14ec..306bdcd4d 100644 --- a/src/procmsg.c +++ b/src/procmsg.c @@ -137,6 +137,7 @@ static gboolean procmsg_ignore_node(GNode *node, gpointer data) { MsgInfo *msginfo = (MsgInfo *)node->data; + procmsg_msginfo_unset_flags(msginfo, MSG_NEW | MSG_UNREAD, 0); procmsg_msginfo_set_flags(msginfo, MSG_IGNORE_THREAD, 0); return FALSE; @@ -167,6 +168,7 @@ GNode *procmsg_get_thread_tree(GSList *mlist) parent = root; } else { if (MSG_IS_IGNORE_THREAD(((MsgInfo *)parent->data)->flags) && !MSG_IS_IGNORE_THREAD(msginfo->flags)) { + procmsg_msginfo_unset_flags(msginfo, MSG_NEW | MSG_UNREAD, 0); procmsg_msginfo_set_flags(msginfo, MSG_IGNORE_THREAD, 0); } } diff --git a/src/summaryview.c b/src/summaryview.c index 813b85669..a05f0b59f 100644 --- a/src/summaryview.c +++ b/src/summaryview.c @@ -5110,6 +5110,7 @@ static void summary_ignore_thread_func(GtkCTree *ctree, GtkCTreeNode *row, gpoin if (MSG_IS_UNREAD(msginfo->flags) && procmsg_msg_has_marked_parent(msginfo)) summaryview->unreadmarked--; + procmsg_msginfo_unset_flags(msginfo, MSG_NEW | MSG_UNREAD, 0); procmsg_msginfo_set_flags(msginfo, MSG_IGNORE_THREAD, 0); summary_set_row_marks(summaryview, row); @@ -5122,10 +5123,14 @@ static void summary_ignore_thread(SummaryView *summaryview) GtkCTree *ctree = GTK_CTREE(summaryview->ctree); GList *cur; + folder_item_update_freeze(); + for (cur = GTK_CLIST(ctree)->selection; cur != NULL; cur = cur->next) { gtk_ctree_pre_recursive(ctree, GTK_CTREE_NODE(cur->data), GTK_CTREE_FUNC(summary_ignore_thread_func), summaryview); } + folder_item_update_thaw(); + summary_status_show(summaryview); } @@ -5155,10 +5160,14 @@ static void summary_unignore_thread(SummaryView *summaryview) GtkCTree *ctree = GTK_CTREE(summaryview->ctree); GList *cur; + folder_item_update_freeze(); + for (cur = GTK_CLIST(ctree)->selection; cur != NULL; cur = cur->next) { gtk_ctree_pre_recursive(ctree, GTK_CTREE_NODE(cur->data), GTK_CTREE_FUNC(summary_unignore_thread_func), summaryview); } + folder_item_update_thaw(); + summary_status_show(summaryview); }