diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2011-05-06 06:23:11 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@gnome-db.org> | 2011-06-30 00:42:10 +0800 |
commit | 3b05e9099c5edc98631298fab9bdc98c77c1b4f3 (patch) | |
tree | 2379e1155987e7dbbdefc2b17ab26fe1edbcfb0f /mail/mail-autofilter.c | |
parent | 4129a7c9c5a6c39618cd48d36660c33788bfc3a7 (diff) | |
download | gsoc2013-evolution-3b05e9099c5edc98631298fab9bdc98c77c1b4f3.tar gsoc2013-evolution-3b05e9099c5edc98631298fab9bdc98c77c1b4f3.tar.gz gsoc2013-evolution-3b05e9099c5edc98631298fab9bdc98c77c1b4f3.tar.bz2 gsoc2013-evolution-3b05e9099c5edc98631298fab9bdc98c77c1b4f3.tar.lz gsoc2013-evolution-3b05e9099c5edc98631298fab9bdc98c77c1b4f3.tar.xz gsoc2013-evolution-3b05e9099c5edc98631298fab9bdc98c77c1b4f3.tar.zst gsoc2013-evolution-3b05e9099c5edc98631298fab9bdc98c77c1b4f3.zip |
MailFolderCache: Emit folder names instead of URIs in signals.
Diffstat (limited to 'mail/mail-autofilter.c')
-rw-r--r-- | mail/mail-autofilter.c | 48 |
1 files changed, 29 insertions, 19 deletions
diff --git a/mail/mail-autofilter.c b/mail/mail-autofilter.c index e2b6e9ee7d..22bc51c779 100644 --- a/mail/mail-autofilter.c +++ b/mail/mail-autofilter.c @@ -404,20 +404,26 @@ filter_gui_add_from_message (EMailSession *session, } void -mail_filter_rename_uri (EMailBackend *backend, - CamelStore *store, - const gchar *olduri, - const gchar *newuri) +mail_filter_rename_folder (EMailBackend *backend, + CamelStore *store, + const gchar *old_folder_name, + const gchar *new_folder_name) { EMFilterContext *fc; EMailSession *session; const gchar *config_dir; gchar *user, *system; GList *changed; - gchar *eolduri, *enewuri; + gchar *old_uri; + gchar *new_uri; - eolduri = em_uri_from_camel (olduri); - enewuri = em_uri_from_camel (newuri); + g_return_if_fail (E_IS_MAIL_BACKEND (backend)); + g_return_if_fail (CAMEL_IS_STORE (store)); + g_return_if_fail (old_folder_name != NULL); + g_return_if_fail (new_folder_name != NULL); + + old_uri = e_mail_folder_uri_build (store, old_folder_name); + new_uri = e_mail_folder_uri_build (store, new_folder_name); session = e_mail_backend_get_session (backend); @@ -429,7 +435,7 @@ mail_filter_rename_uri (EMailBackend *backend, g_free (system); changed = e_rule_context_rename_uri ( - (ERuleContext *)fc, eolduri, enewuri, g_str_equal); + (ERuleContext *)fc, old_uri, new_uri, g_str_equal); if (changed) { if (e_rule_context_save ((ERuleContext *)fc, user) == -1) g_warning("Could not write out changed filter rules\n"); @@ -439,23 +445,27 @@ mail_filter_rename_uri (EMailBackend *backend, g_free (user); g_object_unref (fc); - g_free (enewuri); - g_free (eolduri); + g_free (old_uri); + g_free (new_uri); } void -mail_filter_delete_uri (EMailBackend *backend, - CamelStore *store, - const gchar *uri) +mail_filter_delete_folder (EMailBackend *backend, + CamelStore *store, + const gchar *folder_name) { EMFilterContext *fc; EMailSession *session; const gchar *config_dir; gchar *user, *system; GList *deleted; - gchar *euri; + gchar *uri; - euri = em_uri_from_camel (uri); + g_return_if_fail (E_IS_MAIL_BACKEND (backend)); + g_return_if_fail (CAMEL_IS_STORE (store)); + g_return_if_fail (folder_name != NULL); + + uri = e_mail_folder_uri_build (store, folder_name); session = e_mail_backend_get_session (backend); @@ -466,7 +476,8 @@ mail_filter_delete_uri (EMailBackend *backend, e_rule_context_load ((ERuleContext *)fc, system, user); g_free (system); - deleted = e_rule_context_delete_uri ((ERuleContext *) fc, euri, g_str_equal); + deleted = e_rule_context_delete_uri ( + (ERuleContext *) fc, uri, g_str_equal); if (deleted) { GString *s; guint s_count; @@ -500,13 +511,12 @@ mail_filter_delete_uri (EMailBackend *backend, "for the deleted folder\n\"%s\".", "The following filter rules\n%s have been modified " "to account for the deleted folder\n\"%s\".", - s_count), s->str, euri); + s_count), s->str, folder_name); e_mail_backend_submit_alert ( backend, "mail:filter-updated", info, NULL); g_string_free (s, TRUE); g_free (info); - d(printf("Folder delete/rename '%s' changed filters, resaving\n", euri)); if (e_rule_context_save ((ERuleContext *) fc, user) == -1) g_warning ("Could not write out changed filter rules\n"); e_rule_context_free_uri_list ((ERuleContext *) fc, deleted); @@ -514,5 +524,5 @@ mail_filter_delete_uri (EMailBackend *backend, g_free (user); g_object_unref (fc); - g_free (euri); + g_free (uri); } |