diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2011-05-04 02:07:50 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@gnome-db.org> | 2011-06-30 00:42:06 +0800 |
commit | b73fe7218fedc76c1f5860c02315eac957669167 (patch) | |
tree | 6f339a60996440986d447bca07c58cd623144457 /mail/mail-autofilter.c | |
parent | 839b17d1fd5265f0dd32e63be2b9146466266757 (diff) | |
download | gsoc2013-evolution-b73fe7218fedc76c1f5860c02315eac957669167.tar gsoc2013-evolution-b73fe7218fedc76c1f5860c02315eac957669167.tar.gz gsoc2013-evolution-b73fe7218fedc76c1f5860c02315eac957669167.tar.bz2 gsoc2013-evolution-b73fe7218fedc76c1f5860c02315eac957669167.tar.lz gsoc2013-evolution-b73fe7218fedc76c1f5860c02315eac957669167.tar.xz gsoc2013-evolution-b73fe7218fedc76c1f5860c02315eac957669167.tar.zst gsoc2013-evolution-b73fe7218fedc76c1f5860c02315eac957669167.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; |