aboutsummaryrefslogtreecommitdiffstats
path: root/mail/e-mail-paned-view.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/e-mail-paned-view.c
parent5e0758bb6934a7859b1d8a247c8fb21c156772cf (diff)
downloadgsoc2013-evolution-a06e4484b8df804124b5bcf88d94dec5acfba270.tar
gsoc2013-evolution-a06e4484b8df804124b5bcf88d94dec5acfba270.tar.gz
gsoc2013-evolution-a06e4484b8df804124b5bcf88d94dec5acfba270.tar.bz2
gsoc2013-evolution-a06e4484b8df804124b5bcf88d94dec5acfba270.tar.lz
gsoc2013-evolution-a06e4484b8df804124b5bcf88d94dec5acfba270.tar.xz
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/e-mail-paned-view.c')
-rw-r--r--mail/e-mail-paned-view.c30
1 files changed, 16 insertions, 14 deletions
diff --git a/mail/e-mail-paned-view.c b/mail/e-mail-paned-view.c
index ccbd6a2077..d63109d420 100644
--- a/mail/e-mail-paned-view.c
+++ b/mail/e-mail-paned-view.c
@@ -344,6 +344,20 @@ mail_paned_view_get_action_group (EMailReader *reader)
return E_SHELL_WINDOW_ACTION_GROUP_MAIL (shell_window);
}
+static EMailBackend *
+mail_paned_view_get_backend (EMailReader *reader)
+{
+ EMailView *view;
+ EShellView *shell_view;
+ EShellBackend *shell_backend;
+
+ view = E_MAIL_VIEW (reader);
+ shell_view = e_mail_view_get_shell_view (view);
+ shell_backend = e_shell_view_get_shell_backend (shell_view);
+
+ return E_MAIL_BACKEND (shell_backend);
+}
+
static EMFormatHTML *
mail_paned_view_get_formatter (EMailReader *reader)
{
@@ -389,18 +403,6 @@ mail_paned_view_get_popup_menu (EMailReader *reader)
return GTK_MENU (widget);
}
-static EShellBackend *
-mail_paned_view_get_shell_backend (EMailReader *reader)
-{
- EMailView *view;
- EShellView *shell_view;
-
- view = E_MAIL_VIEW (reader);
- shell_view = e_mail_view_get_shell_view (view);
-
- return e_shell_view_get_shell_backend (shell_view);
-}
-
static GtkWindow *
mail_paned_view_get_window (EMailReader *reader)
{
@@ -582,7 +584,7 @@ mail_paned_view_constructed (GObject *object)
container = widget;
- widget = message_list_new (shell_backend);
+ widget = message_list_new (E_MAIL_BACKEND (shell_backend));
gtk_container_add (GTK_CONTAINER (container), widget);
priv->message_list = g_object_ref (widget);
gtk_widget_show (widget);
@@ -894,11 +896,11 @@ static void
e_mail_paned_view_reader_init (EMailReaderInterface *interface)
{
interface->get_action_group = mail_paned_view_get_action_group;
+ interface->get_backend = mail_paned_view_get_backend;
interface->get_formatter = mail_paned_view_get_formatter;
interface->get_hide_deleted = mail_paned_view_get_hide_deleted;
interface->get_message_list = mail_paned_view_get_message_list;
interface->get_popup_menu = mail_paned_view_get_popup_menu;
- interface->get_shell_backend = mail_paned_view_get_shell_backend;
interface->get_window = mail_paned_view_get_window;
interface->set_folder = mail_paned_view_set_folder;
interface->show_search_bar = mail_paned_view_show_search_bar;