+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
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
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);
{
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;
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);
}
}
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);
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);
}
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);
}