diff options
Diffstat (limited to 'mail/e-mail-reader-utils.c')
-rw-r--r-- | mail/e-mail-reader-utils.c | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/mail/e-mail-reader-utils.c b/mail/e-mail-reader-utils.c index 12d87d97c8..3282af34af 100644 --- a/mail/e-mail-reader-utils.c +++ b/mail/e-mail-reader-utils.c @@ -26,9 +26,7 @@ #include <glib/gi18n.h> #include <libxml/tree.h> #include <gtkhtml/gtkhtml.h> -#include <camel/camel-mime-message.h> -#include <camel/camel-vee-folder.h> -#include <camel/camel-vee-store.h> +#include <camel/camel.h> #include "e-util/e-alert-dialog.h" #include "filter/e-filter-rule.h" @@ -68,6 +66,7 @@ e_mail_reader_confirm_delete (EMailReader *reader) EShellBackend *shell_backend; EShellSettings *shell_settings; CamelFolder *folder; + CamelStore *parent_store; GtkWidget *check_button; GtkWidget *content_area; GtkWidget *dialog; @@ -90,7 +89,9 @@ e_mail_reader_confirm_delete (EMailReader *reader) prompt_delete_in_vfolder = e_shell_settings_get_boolean ( shell_settings, "mail-prompt-delete-in-vfolder"); - if (!CAMEL_IS_VEE_STORE (folder->parent_store)) + parent_store = camel_folder_get_parent_store (folder); + + if (!CAMEL_IS_VEE_STORE (parent_store)) return TRUE; if (!prompt_delete_in_vfolder) @@ -98,7 +99,7 @@ e_mail_reader_confirm_delete (EMailReader *reader) dialog = e_alert_dialog_new_for_args ( window, "mail:ask-delete-vfolder-msg", - folder->full_name, NULL); + camel_folder_get_full_name (folder), NULL); /* XXX e-error should provide a widget layout and API suitable * for packing additional widgets to the right of the alert @@ -251,6 +252,7 @@ e_mail_reader_open_selected (EMailReader *reader) } g_free (real_folder_uri); + camel_folder_free_message_info (folder, info); } for (ii = 0; ii < views->len; ii++) { @@ -669,7 +671,7 @@ e_mail_reader_header_free (EMailReaderHeader *header) } static void -headers_changed_cb (GConfClient *gconf, +headers_changed_cb (GConfClient *client, guint cnxn_id, GConfEntry *entry, EMailReader *reader) @@ -678,7 +680,7 @@ headers_changed_cb (GConfClient *gconf, EMFormatHTMLDisplay *emfhd; GSList *header_config_list, *p; - g_return_if_fail (gconf != NULL); + g_return_if_fail (client != NULL); g_return_if_fail (reader != NULL); emfhd = e_mail_reader_get_html_display (reader); @@ -689,7 +691,7 @@ headers_changed_cb (GConfClient *gconf, g_return_if_fail (emf != NULL); header_config_list = gconf_client_get_list ( - gconf, "/apps/evolution/mail/display/headers", + client, "/apps/evolution/mail/display/headers", GCONF_VALUE_STRING, NULL); em_format_clear_headers (emf); for (p = header_config_list; p; p = g_slist_next(p)) { @@ -718,16 +720,16 @@ headers_changed_cb (GConfClient *gconf, static void remove_header_notify_cb (gpointer data) { - GConfClient *gconf = mail_config_get_gconf_client (); + GConfClient *client = mail_config_get_gconf_client (); guint notify_id; - g_return_if_fail (gconf != NULL); + g_return_if_fail (client != NULL); notify_id = GPOINTER_TO_INT (data); g_return_if_fail (notify_id != 0); - gconf_client_notify_remove (gconf, notify_id); - gconf_client_remove_dir (gconf, "/apps/evolution/mail/display", NULL); + gconf_client_notify_remove (client, notify_id); + gconf_client_remove_dir (client, "/apps/evolution/mail/display", NULL); } /** @@ -740,19 +742,20 @@ remove_header_notify_cb (gpointer data) void e_mail_reader_connect_headers (EMailReader *reader) { - GConfClient *gconf = mail_config_get_gconf_client (); + GConfClient *client = mail_config_get_gconf_client (); guint notify_id; gconf_client_add_dir ( - gconf, "/apps/evolution/mail/display", + client, "/apps/evolution/mail/display", GCONF_CLIENT_PRELOAD_NONE, NULL); notify_id = gconf_client_notify_add ( - gconf, "/apps/evolution/mail/display/headers", + client, "/apps/evolution/mail/display/headers", (GConfClientNotifyFunc) headers_changed_cb, reader, NULL, NULL); + g_object_set_data_full ( G_OBJECT (reader), "reader-header-notify-id", GINT_TO_POINTER (notify_id), remove_header_notify_cb); - headers_changed_cb (gconf, 0, NULL, reader); + headers_changed_cb (client, 0, NULL, reader); } |