From: Holger Berndt Date: Sat, 19 Mar 2005 03:19:22 +0000 (+0000) Subject: 2005-03-19 [holger] 1.9.6cvs1 X-Git-Tag: gtk2_win32_new_merge~1 X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=commitdiff_plain;h=08af36b0b29f0ba2c75963a9944ecc3f28ffa0eb 2005-03-19 [holger] 1.9.6cvs1 * src/summaryview.c * src/summaryview.h Sync with HEAD --- diff --git a/ChangeLog-gtk2.claws b/ChangeLog-gtk2.claws index 87fae5cf2..2836ad92e 100644 --- a/ChangeLog-gtk2.claws +++ b/ChangeLog-gtk2.claws @@ -1,3 +1,9 @@ +2005-03-19 [holger] 1.9.6cvs1 + + * src/summaryview.c + * src/summaryview.h + Sync with HEAD + 2005-03-18 [paul] 1.9.6 initial GTK2 release diff --git a/PATCHSETS b/PATCHSETS index 896830a03..733306c0f 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -417,3 +417,4 @@ ( cvs diff -u -r 1.26.2.12 -r 1.26.2.13 src/foldersel.c; ) > 1.0.3cvs2.5.patchset ( cvs diff -u -r 1.395.2.59 -r 1.395.2.60 src/summaryview.c; ) > 1.0.3cvs2.6.patchset ( cvs diff -u -r 1.100.2.13 -r 1.100.2.14 AUTHORS; cvs diff -u -r 1.2504.2.53 -r 1.2504.2.54 ChangeLog.claws; cvs diff -u -r 1.654.2.451 -r 1.654.2.452 configure.ac; cvs diff -u -r 1.4.2.7 -r 1.4.2.8 src/gtk/about.c; cvs diff -u -r 1.1 -r 1.2 src/pixmaps/sylpheed_logo.xpm; ) > 1.0.3cvs3.1.patchset +( cvs diff -u -r 1.395.2.60 -r 1.395.2.61 src/summaryview.c; cvs diff -u -r 1.68.2.5 -r 1.68.2.6 src/summaryview.h; ) > 1.9.6cvs1.patchset diff --git a/configure.ac b/configure.ac index 67859a547..dbba4eb02 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=9 MICRO_VERSION=6 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=0 +EXTRA_VERSION=1 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/summaryview.c b/src/summaryview.c index 06ed224be..3bc45cafc 100644 --- a/src/summaryview.c +++ b/src/summaryview.c @@ -3891,11 +3891,6 @@ void summary_collapse_threads(SummaryView *summaryview) void summary_filter(SummaryView *summaryview, gboolean selected_only) { - if (!filtering_rules) { - alertpanel_error(_("No filter rules defined.")); - return; - } - summary_lock(summaryview); folder_item_update_freeze(); @@ -3906,37 +3901,21 @@ void summary_filter(SummaryView *summaryview, gboolean selected_only) gtk_clist_freeze(GTK_CLIST(summaryview->ctree)); - if (filtering_rules == NULL) { + if (selected_only) { + GList *cur; + + for (cur = GTK_CLIST(summaryview->ctree)->selection; + cur != NULL; cur = cur->next) { + summary_filter_func(GTK_CTREE(summaryview->ctree), + GTK_CTREE_NODE(cur->data), + summaryview); + } + } else { gtk_ctree_pre_recursive(GTK_CTREE(summaryview->ctree), NULL, GTK_CTREE_FUNC(summary_filter_func), summaryview); - - gtk_clist_thaw(GTK_CLIST(summaryview->ctree)); - - if (prefs_common.immediate_exec) { - summary_unlock(summaryview); - summary_execute(summaryview); - summary_lock(summaryview); - } else - summary_status_show(summaryview); - } - else { - if (selected_only) { - GList *cur; - - for (cur = GTK_CLIST(summaryview->ctree)->selection; - cur != NULL; cur = cur->next) { - summary_filter_func(GTK_CTREE(summaryview->ctree), - GTK_CTREE_NODE(cur->data), - summaryview); - } - } else { - gtk_ctree_pre_recursive(GTK_CTREE(summaryview->ctree), NULL, - GTK_CTREE_FUNC(summary_filter_func), - summaryview); - } - gtk_clist_thaw(GTK_CLIST(summaryview->ctree)); } + gtk_clist_thaw(GTK_CLIST(summaryview->ctree)); folder_item_update_thaw(); debug_print("done.\n"); @@ -3949,16 +3928,19 @@ void summary_filter(SummaryView *summaryview, gboolean selected_only) * CLAWS: summary_show() only valid after having a lock. ideally * we want the lock to be context aware... */ - if (filtering_rules) { - summary_show(summaryview, summaryview->folder_item); - } + summary_show(summaryview, summaryview->folder_item); } static void summary_filter_func(GtkCTree *ctree, GtkCTreeNode *node, gpointer data) { + MailFilteringData mail_filtering_data; MsgInfo *msginfo = GTKUT_CTREE_NODE_GET_ROW_DATA(node); + mail_filtering_data.msginfo = msginfo; + if (hooks_invoke(MAIL_MANUAL_FILTERING_HOOKLIST, &mail_filtering_data)) + return; + filter_message_by_msginfo(filtering_rules, msginfo); } diff --git a/src/summaryview.h b/src/summaryview.h index 93781a8fb..a8fc6a7da 100644 --- a/src/summaryview.h +++ b/src/summaryview.h @@ -33,6 +33,8 @@ typedef struct _SummaryView SummaryView; typedef struct _SummaryColumnState SummaryColumnState; +#define MAIL_MANUAL_FILTERING_HOOKLIST "mail_manual_filtering_hooklist" + typedef enum { S_COL_MARK,