aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-folder-properties.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-10-07 11:38:52 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-10-13 01:58:59 +0800
commita06e4484b8df804124b5bcf88d94dec5acfba270 (patch)
tree4fa42793d7dc461f2b3767296d76592182c48222 /mail/em-folder-properties.c
parent5e0758bb6934a7859b1d8a247c8fb21c156772cf (diff)
downloadgsoc2013-evolution-a06e4484b8df804124b5bcf88d94dec5acfba270.tar.gz
gsoc2013-evolution-a06e4484b8df804124b5bcf88d94dec5acfba270.tar.zst
gsoc2013-evolution-a06e4484b8df804124b5bcf88d94dec5acfba270.zip
Give MailSession a permanent home.
Global variables in shared libraries are a bad idea. EMailBackend now owns the MailSession instance, which is actually now EMailSession. Move the blocking utility functions in mail-tools.c to e-mail-session.c and add asynchronous variants. Same approach as Camel. Replace EMailReader.get_shell_backend() with EMailReader.get_backend(), which returns an EMailBackend. Easier access to the EMailSession.
Diffstat (limited to 'mail/em-folder-properties.c')
-rw-r--r--mail/em-folder-properties.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/mail/em-folder-properties.c b/mail/em-folder-properties.c
index d79e3f7c7f..c0e9ad9537 100644
--- a/mail/em-folder-properties.c
+++ b/mail/em-folder-properties.c
@@ -36,6 +36,7 @@
#include "em-folder-properties.h"
#include "em-config.h"
+#include "e-mail-backend.h"
#include "e-mail-local.h"
#include "mail-ops.h"
#include "mail-mt.h"
@@ -347,9 +348,15 @@ em_folder_properties_show (EShellView *shell_view,
CamelFolder *folder,
const gchar *uri)
{
+ EShellBackend *shell_backend;
+ EMailSession *session;
+
g_return_if_fail (E_IS_SHELL_VIEW (shell_view));
g_return_if_fail (uri != NULL);
+ shell_backend = e_shell_view_get_shell_backend (shell_view);
+ session = e_mail_backend_get_session (E_MAIL_BACKEND (shell_backend));
+
/* HACK: its the old behaviour, not very 'neat' but it works */
if (!strncmp (uri, "vfolder:", 8)) {
CamelURL *url = camel_url_new (uri, NULL);
@@ -368,7 +375,9 @@ em_folder_properties_show (EShellView *shell_view,
}
if (folder == NULL)
- mail_get_folder (uri, 0, emfp_dialog_got_folder, shell_view, mail_msg_unordered_push);
+ mail_get_folder (
+ session, uri, 0, emfp_dialog_got_folder,
+ shell_view, mail_msg_unordered_push);
else
emfp_dialog_got_folder ((gchar *)uri, folder, shell_view);
}