diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2011-05-04 02:07:50 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2011-05-04 02:07:50 +0800 |
commit | 76280e456d8d9789e9a9d2186926fc5607bd8967 (patch) | |
tree | 36625829ef5c079b42ac753f11913e82f8d8be08 /mail/mail-autofilter.c | |
parent | 06411bdbbb3e6877c679007c269c84b05713f895 (diff) | |
download | gsoc2013-evolution-76280e456d8d9789e9a9d2186926fc5607bd8967.tar.gz gsoc2013-evolution-76280e456d8d9789e9a9d2186926fc5607bd8967.tar.zst gsoc2013-evolution-76280e456d8d9789e9a9d2186926fc5607bd8967.zip |
Build vfolder rules with CamelFolders instead of folder URIs.
Diffstat (limited to 'mail/mail-autofilter.c')
-rw-r--r-- | mail/mail-autofilter.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/mail/mail-autofilter.c b/mail/mail-autofilter.c index 2055480ea7..7c6a5c1b44 100644 --- a/mail/mail-autofilter.c +++ b/mail/mail-autofilter.c @@ -30,6 +30,7 @@ #include <glib.h> #include <glib/gi18n.h> +#include "e-mail-folder-utils.h" #include "e-mail-session.h" #include "mail-vfolder.h" #include "mail-autofilter.h" @@ -312,17 +313,22 @@ EFilterRule * em_vfolder_rule_from_message (EMVFolderContext *context, CamelMimeMessage *msg, gint flags, - const gchar *source) + CamelFolder *folder) { EFilterRule *rule; EMailSession *session; - gchar *euri = em_uri_from_camel (source); + gchar *uri, *euri; + + uri = e_mail_folder_uri_from_folder (folder); + euri = em_uri_from_camel (uri); session = em_vfolder_context_get_session (context); rule = em_vfolder_rule_new (session); em_vfolder_rule_add_source (EM_VFOLDER_RULE (rule), euri); rule_from_message (rule, E_RULE_CONTEXT (context), msg, flags); + + g_free (uri); g_free (euri); return rule; @@ -332,17 +338,22 @@ EFilterRule * em_vfolder_rule_from_address (EMVFolderContext *context, CamelInternetAddress *addr, gint flags, - const gchar *source) + CamelFolder *folder) { EFilterRule *rule; EMailSession *session; - gchar *euri = em_uri_from_camel (source); + gchar *uri, *euri; + + uri = e_mail_folder_uri_from_folder (folder); + euri = em_uri_from_camel (uri); session = em_vfolder_context_get_session (context); rule = em_vfolder_rule_new (session); em_vfolder_rule_add_source (EM_VFOLDER_RULE (rule), euri); rule_from_address (rule, E_RULE_CONTEXT (context), addr, flags); + + g_free (uri); g_free (euri); return rule; |