talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit b61b46f5877d84df8e9e9800912f29a0acac64ef
parent 59d8eb6221a9098d8fc3525b809cc8b6b08e261a
Author: Holger Berndt <hb@claws-mail.org>
Date:   Wed, 26 May 2010 17:30:31 +0000

2010-05-26 [holger]	3.7.6cvs9

	* src/summaryview.c
	* src/summaryview.h
		Add function to select rows given a list of messages,
		complementary to summary_get_selected_msg_list()

Diffstat:
MChangeLog | 7+++++++
MPATCHSETS | 1+
Mconfigure.ac | 2+-
Msrc/summaryview.c | 24++++++++++++++++++++++++
Msrc/summaryview.h | 1+
5 files changed, 34 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,3 +1,10 @@ +2010-05-26 [holger] 3.7.6cvs9 + + * src/summaryview.c + * src/summaryview.h + Add function to select rows given a list of messages, + complementary to summary_get_selected_msg_list() + 2010-05-22 [mir] 3.7.6cvs8 * src/ldapctrl.c diff --git a/PATCHSETS b/PATCHSETS @@ -4004,3 +4004,4 @@ ( cvs diff -u -r 1.382.2.550 -r 1.382.2.551 src/compose.c; ) > 3.7.6cvs6.patchset ( cvs diff -u -r 1.1.2.53 -r 1.1.2.54 manual/advanced.xml; cvs diff -u -r 1.382.2.551 -r 1.382.2.552 src/compose.c; cvs diff -u -r 1.204.2.196 -r 1.204.2.197 src/prefs_common.c; cvs diff -u -r 1.103.2.129 -r 1.103.2.130 src/prefs_common.h; ) > 3.7.6cvs7.patchset ( cvs diff -u -r 1.2.2.20 -r 1.2.2.21 src/ldapctrl.c; ) > 3.7.6cvs8.patchset +( cvs diff -u -r 1.395.2.419 -r 1.395.2.420 src/summaryview.c; cvs diff -u -r 1.68.2.55 -r 1.68.2.56 src/summaryview.h; ) > 3.7.6cvs9.patchset diff --git a/configure.ac b/configure.ac @@ -12,7 +12,7 @@ MINOR_VERSION=7 MICRO_VERSION=6 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=8 +EXTRA_VERSION=9 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/summaryview.c b/src/summaryview.c @@ -2056,6 +2056,30 @@ void summary_select_by_msgnum(SummaryView *summaryview, guint msgnum) summary_select_node(summaryview, node, FALSE, TRUE); } +void summary_select_by_msg_list(SummaryView *summaryview, GSList *msginfos) +{ + GtkCMCTree *ctree; + GSList *msgnum_list, *walk; + gboolean froze = FALSE; + + ctree = GTK_CMCTREE(summaryview->ctree); + + msgnum_list = NULL; + for(walk = msginfos; walk; walk = walk->next) { + MsgInfo *msginfo; + msginfo = walk->data; + msgnum_list = g_slist_prepend(msgnum_list, GUINT_TO_POINTER(msginfo->msgnum)); + } + START_LONG_OPERATION(summaryview, FALSE); + for(walk = msgnum_list; walk; walk = walk->next) { + GtkCMCTreeNode *node; + node = summary_find_msg_by_msgnum(summaryview, GPOINTER_TO_UINT(walk->data)); + gtk_cmctree_select(ctree, node); + } + END_LONG_OPERATION(summaryview); + g_slist_free(msgnum_list); +} + typedef struct _PostponedSelectData { GtkCMCTree *ctree; diff --git a/src/summaryview.h b/src/summaryview.h @@ -208,6 +208,7 @@ void summary_select_last_read (SummaryView *summaryview); void summary_select_parent (SummaryView *summaryview); void summary_select_by_msgnum (SummaryView *summaryview, guint msgnum); +void summary_select_by_msg_list (SummaryView *summaryview, GSList *msginfos); guint summary_get_current_msgnum (SummaryView *summaryview); void summary_select_node (SummaryView *summaryview, GtkCMCTreeNode *node,