diff options
Diffstat (limited to 'mail')
-rw-r--r-- | mail/em-utils.c | 37 | ||||
-rw-r--r-- | mail/em-utils.h | 3 | ||||
-rw-r--r-- | mail/importers/mail-importer.c | 4 | ||||
-rw-r--r-- | mail/mail-autofilter.c | 7 | ||||
-rw-r--r-- | mail/mail-config.c | 5 | ||||
-rw-r--r-- | mail/mail-folder-cache.c | 2 | ||||
-rw-r--r-- | mail/mail-ops.c | 4 | ||||
-rw-r--r-- | mail/mail-session.c | 17 | ||||
-rw-r--r-- | mail/mail-session.h | 3 | ||||
-rw-r--r-- | mail/mail-tools.c | 2 | ||||
-rw-r--r-- | mail/mail-vfolder.c | 19 |
11 files changed, 44 insertions, 59 deletions
diff --git a/mail/em-utils.c b/mail/em-utils.c index bf4357aff3..fd60db36fb 100644 --- a/mail/em-utils.c +++ b/mail/em-utils.c @@ -78,6 +78,7 @@ #include "em-composer-utils.h" #include "em-format-quote.h" #include "e-mail-local.h" +#include "mail-session.h" /* XXX This is a dirty hack on a dirty hack. We really need * to rework or get rid of the functions that use this. */ @@ -91,38 +92,6 @@ static void emu_save_part_done (CamelMimePart *part, gchar *name, gint done, gpo #define d(x) -const gchar * -em_utils_get_data_dir (void) -{ - EShell *shell; - EShellBackend *shell_backend; - - /* XXX This is a temporary solution until I can figure out a - * better way. Ideally, nothing below the module layer - * should need to know about the user data directory. */ - shell = e_shell_get_default (); - shell_backend = e_shell_get_backend_by_name ( - shell, shell_builtin_backend); - - return e_shell_backend_get_data_dir (shell_backend); -} - -const gchar * -em_utils_get_config_dir (void) -{ - EShell *shell; - EShellBackend *shell_backend; - - /* XXX This is a temporary solution until I can figure out a - * better way. Ideally, nothing below the module layer - * should need to know about the user config directory. */ - shell = e_shell_get_default (); - shell_backend = e_shell_get_backend_by_name ( - shell, shell_builtin_backend); - - return e_shell_backend_get_config_dir (shell_backend); -} - gboolean em_utils_ask_open_many (GtkWindow *parent, gint how_many) @@ -274,7 +243,7 @@ em_filter_editor_response (GtkWidget *dialog, gint button, gpointer user_data) const gchar *data_dir; gchar *user; - data_dir = em_utils_get_data_dir (); + data_dir = mail_session_get_data_dir (); fc = g_object_get_data ((GObject *) dialog, "context"); user = g_strdup_printf ("%s/filters.xml", data_dir); e_rule_context_save ((ERuleContext *) fc, user); @@ -312,7 +281,7 @@ em_utils_edit_filters (GtkWidget *parent) return; } - data_dir = em_utils_get_data_dir (); + data_dir = mail_session_get_data_dir (); fc = em_filter_context_new (); user = g_build_filename (data_dir, "filters.xml", NULL); diff --git a/mail/em-utils.h b/mail/em-utils.h index db2a7c6952..ae8e2f5f10 100644 --- a/mail/em-utils.h +++ b/mail/em-utils.h @@ -38,9 +38,6 @@ G_BEGIN_DECLS struct _EMFormat; -const gchar * em_utils_get_data_dir (void); -const gchar * em_utils_get_config_dir (void); - gboolean em_utils_ask_open_many (GtkWindow *parent, gint how_many); gboolean em_utils_prompt_user(GtkWindow *parent, const gchar *promptkey, const gchar *tag, const gchar *arg0, ...); diff --git a/mail/importers/mail-importer.c b/mail/importers/mail-importer.c index 6e4573487f..ee1c958d12 100644 --- a/mail/importers/mail-importer.c +++ b/mail/importers/mail-importer.c @@ -50,7 +50,7 @@ #include "mail-mt.h" #include "mail-tools.h" #include "e-mail-local.h" -#include "em-utils.h" +#include "mail-session.h" #include "mail-importer.h" @@ -292,7 +292,7 @@ import_folders_rec(struct _import_folders_data *m, const gchar *filepath, const if (dir == NULL) return; - data_dir = em_utils_get_data_dir (); + data_dir = mail_session_get_data_dir (); utf8_filename = g_filename_to_utf8 (filepath, -1, NULL, NULL, NULL); camel_operation_start(NULL, _("Scanning %s"), utf8_filename); diff --git a/mail/mail-autofilter.c b/mail/mail-autofilter.c index bbb3694ee8..8117bfca6a 100644 --- a/mail/mail-autofilter.c +++ b/mail/mail-autofilter.c @@ -32,6 +32,7 @@ #include "mail-vfolder.h" #include "mail-autofilter.h" +#include "mail-session.h" #include "em-utils.h" #include "e-util/e-alert-dialog.h" #include "e-util/e-util-private.h" @@ -352,7 +353,7 @@ filter_gui_add_from_message (CamelMimeMessage *msg, const gchar *source, gint fl g_return_if_fail (msg != NULL); fc = em_filter_context_new (); - data_dir = em_utils_get_data_dir (); + data_dir = mail_session_get_data_dir (); user = g_build_filename (data_dir, "filters.xml", NULL); system = g_build_filename (EVOLUTION_PRIVDATADIR, "filtertypes.xml", NULL); e_rule_context_load ((ERuleContext *)fc, system, user); @@ -380,7 +381,7 @@ mail_filter_rename_uri(CamelStore *store, const gchar *olduri, const gchar *newu enewuri = em_uri_from_camel(newuri); fc = em_filter_context_new (); - data_dir = em_utils_get_data_dir (); + data_dir = mail_session_get_data_dir (); user = g_build_filename (data_dir, "filters.xml", NULL); system = g_build_filename (EVOLUTION_PRIVDATADIR, "filtertypes.xml", NULL); e_rule_context_load ((ERuleContext *)fc, system, user); @@ -413,7 +414,7 @@ mail_filter_delete_uri(CamelStore *store, const gchar *uri) euri = em_uri_from_camel(uri); fc = em_filter_context_new (); - data_dir = em_utils_get_data_dir (); + data_dir = mail_session_get_data_dir (); user = g_build_filename (data_dir, "filters.xml", NULL); system = g_build_filename (EVOLUTION_PRIVDATADIR, "filtertypes.xml", NULL); e_rule_context_load ((ERuleContext *)fc, system, user); diff --git a/mail/mail-config.c b/mail/mail-config.c index 41ac85a373..be2125bcc0 100644 --- a/mail/mail-config.c +++ b/mail/mail-config.c @@ -59,7 +59,6 @@ #include <libedataserverui/e-passwords.h> #include "e-mail-local.h" -#include "em-utils.h" #include "mail-config.h" #include "mail-folder-cache.h" #include "mail-mt.h" @@ -441,7 +440,7 @@ uri_to_evname (const gchar *uri, const gchar *prefix) gchar *safe; gchar *tmp; - data_dir = em_utils_get_data_dir (); + data_dir = mail_session_get_data_dir (); safe = g_strdup (uri); e_filename_make_safe (safe); @@ -573,7 +572,7 @@ mail_config_folder_to_cachename (CamelFolder *folder, const gchar *prefix) gchar *url, *basename, *filename; const gchar *config_dir; - config_dir = em_utils_get_config_dir (); + config_dir = mail_session_get_config_dir (); url = mail_config_folder_to_safe_url (folder); basename = g_strdup_printf ("%s%s", prefix, url); filename = g_build_filename (config_dir, basename, NULL); diff --git a/mail/mail-folder-cache.c b/mail/mail-folder-cache.c index f43e16e7b8..5bf5be4bbd 100644 --- a/mail/mail-folder-cache.c +++ b/mail/mail-folder-cache.c @@ -701,7 +701,7 @@ rename_folders(MailFolderCache *self, struct _store_info *si, const gchar *oldba #endif /* rename the meta-data we maintain ourselves */ - config_dir = em_utils_get_config_dir (); + config_dir = mail_session_get_config_dir (); olduri = folder_to_url(si->store, old); e_filename_make_safe(olduri); newuri = folder_to_url(si->store, fi->full_name); diff --git a/mail/mail-ops.c b/mail/mail-ops.c index 8110ab48db..e07fe19a67 100644 --- a/mail/mail-ops.c +++ b/mail/mail-ops.c @@ -256,7 +256,7 @@ uid_cachename_hack (CamelStore *store) url->host); e_filename_make_safe (encoded_url); - data_dir = em_utils_get_data_dir (); + data_dir = mail_session_get_data_dir (); filename = g_build_filename (data_dir, "pop", encoded_url, "uid-cache", NULL); g_free (encoded_url); @@ -1796,7 +1796,7 @@ empty_trash_exec (struct _empty_trash_msg *m) if (m->account) { trash = mail_tool_get_trash (m->account->source->url, FALSE, &m->base.ex); } else { - data_dir = em_utils_get_data_dir (); + data_dir = mail_session_get_data_dir (); uri = g_strdup_printf ("mbox:%s/local", data_dir); trash = mail_tool_get_trash (uri, TRUE, &m->base.ex); g_free (uri); diff --git a/mail/mail-session.c b/mail/mail-session.c index b7b26bf8dc..e9ad274839 100644 --- a/mail/mail-session.c +++ b/mail/mail-session.c @@ -834,3 +834,20 @@ mail_session_set_junk_headers (const gchar **name, const gchar **value, gint len camel_session_set_junk_headers (session, name, value, len); } + +const gchar * +mail_session_get_data_dir (void) +{ + g_return_val_if_fail (session_shell_backend, NULL); + + return e_shell_backend_get_data_dir (session_shell_backend); +} + +const gchar * +mail_session_get_config_dir (void) +{ + g_return_val_if_fail (session_shell_backend, NULL); + + return e_shell_backend_get_config_dir (session_shell_backend); +} + diff --git a/mail/mail-session.h b/mail/mail-session.h index b1274403c0..ccca89d199 100644 --- a/mail/mail-session.h +++ b/mail/mail-session.h @@ -50,6 +50,9 @@ void mail_session_add_junk_plugin (const gchar *plugin_name, CamelJunkPlugin *ju const GList * mail_session_get_junk_plugins (void); void mail_session_set_junk_headers (const gchar **name, const gchar **value, gint len); +const gchar * mail_session_get_data_dir (void); +const gchar * mail_session_get_config_dir (void); + extern CamelSession *session; G_END_DECLS diff --git a/mail/mail-tools.c b/mail/mail-tools.c index 45f502ecf0..53bf2be0c6 100644 --- a/mail/mail-tools.c +++ b/mail/mail-tools.c @@ -129,7 +129,7 @@ mail_tool_get_local_movemail_path (const guchar *uri, CamelException *ex) if (strchr("/:;=|%&#!*^()\\, ", *c) || !isprint((gint) *c)) *c = '_'; - data_dir = em_utils_get_data_dir (); + data_dir = mail_session_get_data_dir (); path = g_build_filename (data_dir, "spool", NULL); if (g_stat(path, &st) == -1 && g_mkdir_with_parents(path, 0777) == -1) { diff --git a/mail/mail-vfolder.c b/mail/mail-vfolder.c index b4a8330776..6301e5ff5e 100644 --- a/mail/mail-vfolder.c +++ b/mail/mail-vfolder.c @@ -46,6 +46,7 @@ #include "mail-folder-cache.h" #include "mail-mt.h" #include "mail-ops.h" +#include "mail-session.h" #include "mail-tools.h" #include "mail-vfolder.h" @@ -66,8 +67,6 @@ static GHashTable *vfolder_hash; /* This is a slightly hacky solution to shutting down, we poll this variable in various loops, and just quit processing if it is set. */ static volatile gint shutdown; /* are we shutting down? */ -/* more globals ... */ -extern CamelSession *session; static void rule_changed(EFilterRule *rule, CamelFolder *folder); @@ -667,7 +666,7 @@ done: dialog = e_alert_dialog_new_for_args (e_shell_get_active_window (NULL), "mail:vfolder-updated", changed->str, uri, NULL); em_utils_show_info_silent (dialog); - data_dir = em_utils_get_data_dir (); + data_dir = mail_session_get_data_dir (); user = g_build_filename (data_dir, "vfolders.xml", NULL); e_rule_context_save ((ERuleContext *) context, user); g_free (user); @@ -735,7 +734,7 @@ mail_vfolder_rename_uri(CamelStore *store, const gchar *cfrom, const gchar *cto) gchar *user; d(printf("Vfolders updated from renamed folder\n")); - data_dir = em_utils_get_data_dir (); + data_dir = mail_session_get_data_dir (); user = g_build_filename (data_dir, "vfolders.xml", NULL); e_rule_context_save((ERuleContext *)context, user); g_free(user); @@ -914,7 +913,7 @@ store_folder_deleted(CamelObject *o, gpointer event_data, gpointer data) g_object_unref(rule); g_signal_connect(context, "rule_removed", G_CALLBACK(context_rule_removed), context); - data_dir = em_utils_get_data_dir (); + data_dir = mail_session_get_data_dir (); user = g_build_filename (data_dir, "vfolders.xml", NULL); e_rule_context_save((ERuleContext *)context, user); g_free(user); @@ -960,7 +959,7 @@ store_folder_renamed(CamelObject *o, gpointer event_data, gpointer data) e_filter_rule_set_name(rule, info->new->full_name); g_signal_connect(rule, "changed", G_CALLBACK(rule_changed), folder); - data_dir = em_utils_get_data_dir (); + data_dir = mail_session_get_data_dir (); user = g_build_filename (data_dir, "vfolders.xml", NULL); e_rule_context_save((ERuleContext *)context, user); g_free(user); @@ -1021,7 +1020,7 @@ vfolder_load_storage(void) G_UNLOCK (vfolder_hash); /* first, create the vfolder store, and set it up */ - data_dir = em_utils_get_data_dir (); + data_dir = mail_session_get_data_dir (); storeuri = g_strdup_printf("vfolder:%s/vfolder", data_dir); vfolder_store = camel_session_get_store(session, storeuri, NULL); if (vfolder_store == NULL) { @@ -1091,7 +1090,7 @@ vfolder_revert(void) gchar *user; d(printf("vfolder_revert\n")); - data_dir = em_utils_get_data_dir (); + data_dir = mail_session_get_data_dir (); user = g_build_filename (data_dir, "vfolders.xml", NULL); e_rule_context_revert((ERuleContext *)context, user); g_free(user); @@ -1145,7 +1144,7 @@ edit_rule_response(GtkWidget *w, gint button, gpointer data) EFilterRule *orig = g_object_get_data (G_OBJECT (w), "orig"); e_filter_rule_copy(orig, rule); - data_dir = em_utils_get_data_dir (); + data_dir = mail_session_get_data_dir (); user = g_build_filename (data_dir, "vfolders.xml", NULL); e_rule_context_save((ERuleContext *)context, user); g_free(user); @@ -1222,7 +1221,7 @@ new_rule_clicked(GtkWidget *w, gint button, gpointer data) g_object_ref(rule); e_rule_context_add_rule((ERuleContext *)context, rule); - data_dir = em_utils_get_data_dir (); + data_dir = mail_session_get_data_dir (); user = g_build_filename (data_dir, "vfolders.xml", NULL); e_rule_context_save((ERuleContext *)context, user); g_free(user); |