From 11d2ccf165bbe36403fa59e71725a12ec8614d61 Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Fri, 23 Jan 2004 17:16:47 +0000 Subject: use check_junk_for_imap flag 2004-01-23 Radek Doulik * camel-folder.c (folder_changed): use check_junk_for_imap flag * camel-session.c: add check_junk_for_imap flag svn path=/trunk/; revision=24381 --- camel/ChangeLog | 6 ++++++ camel/camel-folder.c | 2 +- camel/camel-session.c | 29 +++++++++++++++++++++++++++++ camel/camel-session.h | 9 +++++++-- 4 files changed, 43 insertions(+), 3 deletions(-) diff --git a/camel/ChangeLog b/camel/ChangeLog index 40992db18e..61ac6dd235 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,9 @@ +2004-01-23 Radek Doulik + + * camel-folder.c (folder_changed): use check_junk_for_imap flag + + * camel-session.c: add check_junk_for_imap flag + 2004-01-23 Not Zed * providers/imap/camel-imap-folder.c (IMAP_SMALL_BODY_SIZE): diff --git a/camel/camel-folder.c b/camel/camel-folder.c index 08fd816d97..c2ff8ef759 100644 --- a/camel/camel-folder.c +++ b/camel/camel-folder.c @@ -1648,7 +1648,7 @@ folder_changed (CamelObject *obj, gpointer event_data) CamelSession *session = ((CamelService *)folder->parent_store)->session; CamelFilterDriver *driver = NULL; - if (((folder->folder_flags & CAMEL_FOLDER_FILTER_RECENT) || camel_session_check_junk (session)) + if (((folder->folder_flags & CAMEL_FOLDER_FILTER_RECENT) || (camel_session_check_junk (session) && camel_session_check_junk_for_imap (session))) && 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); diff --git a/camel/camel-session.c b/camel/camel-session.c index b7d86c571a..0e5efa1d9c 100644 --- a/camel/camel-session.c +++ b/camel/camel-session.c @@ -904,3 +904,32 @@ camel_session_set_check_junk (CamelSession *session, gboolean check_junk) session->check_junk = check_junk; } + +/** + * camel_session_check_junk_for_imap + * @session: + * + * Do we have to check IMAP incoming messages to be junk? + **/ +gboolean +camel_session_check_junk_for_imap (CamelSession *session) +{ + g_assert(CAMEL_IS_SESSION(session)); + + return session->check_junk_for_imap; +} + +/** + * camel_session_set_check_junk_for_imap: + * @session: + * @check_junk_for_imap: + * + * Set check_junk_for_imap flag, if set, incoming IMAP mail will be checked for being junk. + **/ +void +camel_session_set_check_junk_for_imap (CamelSession *session, gboolean check_junk_for_imap) +{ + g_assert(CAMEL_IS_SESSION(session)); + + session->check_junk_for_imap = check_junk_for_imap; +} diff --git a/camel/camel-session.h b/camel/camel-session.h index cd811a6304..27beb0a45f 100644 --- a/camel/camel-session.h +++ b/camel/camel-session.h @@ -69,6 +69,7 @@ struct _CamelSession CamelJunkPlugin *junk_plugin; gboolean check_junk; + gboolean check_junk_for_imap; }; #ifdef ENABLE_THREADS @@ -184,8 +185,12 @@ CamelFilterDriver *camel_session_get_filter_driver (CamelSession *session, const char *type, CamelException *ex); -gboolean camel_session_check_junk (CamelSession *session); -void camel_session_set_check_junk (CamelSession *session, gboolean check_junk); +gboolean camel_session_check_junk (CamelSession *session); +void camel_session_set_check_junk (CamelSession *session, + gboolean check_junk); +gboolean camel_session_check_junk_for_imap (CamelSession *session); +void camel_session_set_check_junk_for_imap (CamelSession *session, + gboolean check_junk_for_imap); #ifdef ENABLE_THREADS struct _CamelSessionThreadOps { -- cgit v1.2.3