From 646487c65ef772097d52c0e6d3a93ef19de98b3c Mon Sep 17 00:00:00 2001 From: Colin Leroy Date: Mon, 25 Nov 2002 14:58:25 +0000 Subject: [PATCH] Deletion of duplicates now prefer deleting the unread dup (fixes feature-request 638989). --- ChangeLog.claws | 6 ++++++ configure.in | 2 +- src/summaryview.c | 14 ++++++++++---- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/ChangeLog.claws b/ChangeLog.claws index a349ad218..a2f7cc72c 100644 --- a/ChangeLog.claws +++ b/ChangeLog.claws @@ -1,3 +1,9 @@ +2002-11-25 [colin] 0.8.6claws1 + + * src/summaryview.c + Deletion of duplicates now prefer deleting + the unread dup (fixes feature-request 638989). + 2002-11-24 [paul] 0.8.6claws * po/es.po diff --git a/configure.in b/configure.in index 1feda1b62..614abec31 100644 --- a/configure.in +++ b/configure.in @@ -11,7 +11,7 @@ MINOR_VERSION=8 MICRO_VERSION=6 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=claws +EXTRA_VERSION=claws1 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION dnl set $target diff --git a/src/summaryview.c b/src/summaryview.c index 95131b07a..8a2b54612 100644 --- a/src/summaryview.c +++ b/src/summaryview.c @@ -2988,13 +2988,19 @@ static void summary_delete_duplicated_func(GtkCTree *ctree, GtkCTreeNode *node, { GtkCTreeNode *found; MsgInfo *msginfo = GTK_CTREE_ROW(node)->row.data; - + MsgInfo *dup_msginfo; + if (!msginfo->msgid || !*msginfo->msgid) return; found = g_hash_table_lookup(summaryview->msgid_table, msginfo->msgid); - - if (found && found != node) - summary_delete_row(summaryview, node); + + if (found && found != node) { + dup_msginfo = gtk_ctree_node_get_row_data(ctree, found); + /* prefer to delete the unread one */ + if ((MSG_IS_UNREAD(msginfo->flags) && !MSG_IS_UNREAD(dup_msginfo->flags)) + || (MSG_IS_UNREAD(msginfo->flags) == MSG_IS_UNREAD(dup_msginfo->flags))) + summary_delete_row(summaryview, node); + } } static void summary_unmark_row(SummaryView *summaryview, GtkCTreeNode *row) -- 2.25.1