aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-folder.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2004-03-18 01:54:39 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2004-03-18 01:54:39 +0800
commit0d0740a85cdc7c15e1941e902499c043c4b0802f (patch)
tree632c4916b0d7e6f77a8da4014b6dd9214a589154 /camel/camel-folder.c
parentec2983a44c9e261898ba4a8372220172ca3c3bcc (diff)
downloadgsoc2013-evolution-0d0740a85cdc7c15e1941e902499c043c4b0802f.tar
gsoc2013-evolution-0d0740a85cdc7c15e1941e902499c043c4b0802f.tar.gz
gsoc2013-evolution-0d0740a85cdc7c15e1941e902499c043c4b0802f.tar.bz2
gsoc2013-evolution-0d0740a85cdc7c15e1941e902499c043c4b0802f.tar.lz
gsoc2013-evolution-0d0740a85cdc7c15e1941e902499c043c4b0802f.tar.xz
gsoc2013-evolution-0d0740a85cdc7c15e1941e902499c043c4b0802f.tar.zst
gsoc2013-evolution-0d0740a85cdc7c15e1941e902499c043c4b0802f.zip
Don't bloody junktest filter mail unless the user has configured Evolution
2004-03-17 Jeffrey Stedfast <fejj@ximian.com> * camel-folder.c (folder_changed): Don't bloody junktest filter mail unless the user has configured Evolution to do so. svn path=/trunk/; revision=25102
Diffstat (limited to 'camel/camel-folder.c')
-rw-r--r--camel/camel-folder.c59
1 files changed, 32 insertions, 27 deletions
diff --git a/camel/camel-folder.c b/camel/camel-folder.c
index 620881b1fc..909a5e429c 100644
--- a/camel/camel-folder.c
+++ b/camel/camel-folder.c
@@ -1714,37 +1714,42 @@ folder_changed (CamelObject *obj, gpointer event_data)
camel_type_to_name (CAMEL_OBJECT_GET_TYPE (folder))));
return ret;
}
-
- if (changed->uid_changed->len) {
- int i;
- guint32 flags;
-
- for (i = 0; i < changed->uid_changed->len; i ++) {
- flags = camel_folder_get_message_flags (folder, changed->uid_changed->pdata [i]);
- if (flags & CAMEL_MESSAGE_JUNK_LEARN) {
- if (flags & CAMEL_MESSAGE_JUNK) {
- if (!junk)
- junk = g_ptr_array_new();
- g_ptr_array_add (junk, g_strdup (changed->uid_changed->pdata [i]));
- } else {
- if (!notjunk)
- notjunk = g_ptr_array_new();
- g_ptr_array_add (notjunk, g_strdup (changed->uid_changed->pdata [i]));
+
+ if ((folder->folder_flags & (CAMEL_FOLDER_FILTER_RECENT|CAMEL_FOLDER_FILTER_JUNK)) && changed->uid_recent->len > 0) {
+ const char *source;
+
+ if (folder->folder_flags & CAMEL_FOLDER_FILTER_RECENT)
+ source = FILTER_SOURCE_INCOMING;
+ else
+ source = FILTER_SOURCE_JUNKTEST;
+
+ if (folder->folder_flags & CAMEL_FOLDER_FILTER_JUNK) {
+ guint32 flags;
+ int i;
+
+ for (i = 0; i < changed->uid_changed->len; i++) {
+ flags = camel_folder_get_message_flags (folder, changed->uid_changed->pdata[i]);
+ if (flags & CAMEL_MESSAGE_JUNK_LEARN) {
+ if (flags & CAMEL_MESSAGE_JUNK) {
+ if (!junk)
+ junk = g_ptr_array_new ();
+ g_ptr_array_add (junk, g_strdup (changed->uid_changed->pdata[i]));
+ } else {
+ if (!notjunk)
+ notjunk = g_ptr_array_new ();
+ g_ptr_array_add (notjunk, g_strdup (changed->uid_changed->pdata[i]));
+ }
+
+ /* reset junk learn flag so that we don't process it again */
+ camel_folder_set_message_flags (folder, changed->uid_changed->pdata[i],
+ CAMEL_MESSAGE_JUNK_LEARN, 0);
}
- /* reset junk learn flag so that we don't process it again */
- camel_folder_set_message_flags (folder, changed->uid_changed->pdata [i], CAMEL_MESSAGE_JUNK_LEARN, 0);
}
}
- d(if (junk || notjunk) printf("** Have '%d' messages for junk filter to learn, launching thread to process them\n",
- (junk ? junk->len : 0) + (notjunk ? notjunk->len : 0)));
- }
-
- if ((folder->folder_flags & (CAMEL_FOLDER_FILTER_RECENT|CAMEL_FOLDER_FILTER_JUNK))
- && changed->uid_recent->len > 0)
- driver = camel_session_get_filter_driver(session,
- (folder->folder_flags & CAMEL_FOLDER_FILTER_RECENT)
- ? FILTER_SOURCE_INCOMING : FILTER_SOURCE_JUNKTEST, NULL);
+ driver = camel_session_get_filter_driver (session, source, NULL);
+ }
+
CAMEL_FOLDER_LOCK(folder, change_lock);
if (driver) {