aboutsummaryrefslogtreecommitdiffstats
path: root/mail/e-mail-folder-pane.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-08-14 08:49:46 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-08-14 08:56:33 +0800
commit6cb0cbd0be5791aa0af1f78ce44c7a6563611d8f (patch)
tree8ac6832a905017845b3095112b83bb14da112617 /mail/e-mail-folder-pane.c
parentcaed9460b2d518005abe34035d5b414ff07c0212 (diff)
downloadgsoc2013-evolution-6cb0cbd0be5791aa0af1f78ce44c7a6563611d8f.tar
gsoc2013-evolution-6cb0cbd0be5791aa0af1f78ce44c7a6563611d8f.tar.gz
gsoc2013-evolution-6cb0cbd0be5791aa0af1f78ce44c7a6563611d8f.tar.bz2
gsoc2013-evolution-6cb0cbd0be5791aa0af1f78ce44c7a6563611d8f.tar.lz
gsoc2013-evolution-6cb0cbd0be5791aa0af1f78ce44c7a6563611d8f.tar.xz
gsoc2013-evolution-6cb0cbd0be5791aa0af1f78ce44c7a6563611d8f.tar.zst
gsoc2013-evolution-6cb0cbd0be5791aa0af1f78ce44c7a6563611d8f.zip
Pass an EShell to EMsgComposer instances.
Reduce the composer's dependency on e_shell_get_default().
Diffstat (limited to 'mail/e-mail-folder-pane.c')
-rw-r--r--mail/e-mail-folder-pane.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/mail/e-mail-folder-pane.c b/mail/e-mail-folder-pane.c
index d12cc48acf..6d2be33a3e 100644
--- a/mail/e-mail-folder-pane.c
+++ b/mail/e-mail-folder-pane.c
@@ -67,6 +67,9 @@ folder_pane_set_preview_visible (EMailView *view,
static guint
mail_paned_view_open_selected_mail (EMailPanedView *view)
{
+ EShell *shell;
+ EShellBackend *shell_backend;
+ EMailReader *reader;
GPtrArray *uids;
gint i;
GtkWindow *window;
@@ -75,19 +78,24 @@ mail_paned_view_open_selected_mail (EMailPanedView *view)
GPtrArray *views;
guint n_views, ii;
- uids = e_mail_reader_get_selected_uids (E_MAIL_READER(view));
- window = e_mail_reader_get_window (E_MAIL_READER(view));
+ reader = E_MAIL_READER (view);
+
+ shell_backend = e_mail_reader_get_shell_backend (reader);
+ shell = e_shell_backend_get_shell (shell_backend);
+
+ uids = e_mail_reader_get_selected_uids (reader);
+ window = e_mail_reader_get_window (reader);
if (!em_utils_ask_open_many (window, uids->len)) {
em_utils_uids_free (uids);
return 0;
}
- folder = e_mail_reader_get_folder (E_MAIL_READER(view));
- folder_uri = e_mail_reader_get_folder_uri (E_MAIL_READER(view));
+ folder = e_mail_reader_get_folder (reader);
+ folder_uri = e_mail_reader_get_folder_uri (reader);
if (em_utils_folder_is_drafts (folder, folder_uri) ||
em_utils_folder_is_outbox (folder, folder_uri) ||
em_utils_folder_is_templates (folder, folder_uri)) {
- em_utils_edit_messages (folder, uids, TRUE);
+ em_utils_edit_messages (shell, folder, uids, TRUE);
return 0;
}
@@ -120,7 +128,8 @@ mail_paned_view_open_selected_mail (EMailPanedView *view)
edits = g_ptr_array_new ();
g_ptr_array_add (edits, real_uid);
- em_utils_edit_messages (real_folder, edits, TRUE);
+ em_utils_edit_messages (
+ shell, real_folder, edits, TRUE);
} else {
g_free (real_uid);
g_ptr_array_add (views, g_strdup (uid));