aboutsummaryrefslogtreecommitdiffstats
path: root/modules/mail
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 /modules/mail
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 'modules/mail')
-rw-r--r--modules/mail/e-mail-attachment-handler.c18
-rw-r--r--modules/mail/e-mail-shell-backend.c26
2 files changed, 34 insertions, 10 deletions
diff --git a/modules/mail/e-mail-attachment-handler.c b/modules/mail/e-mail-attachment-handler.c
index 3240c560de..313dddeac4 100644
--- a/modules/mail/e-mail-attachment-handler.c
+++ b/modules/mail/e-mail-attachment-handler.c
@@ -59,11 +59,15 @@ static void
mail_attachment_handler_forward (GtkAction *action,
EAttachmentView *view)
{
+ EShell *shell;
EAttachment *attachment;
CamelMimePart *mime_part;
CamelDataWrapper *wrapper;
GList *selected;
+ /* FIXME Pass this in somehow. */
+ shell = e_shell_get_default ();
+
selected = e_attachment_view_get_selected_attachments (view);
g_return_if_fail (g_list_length (selected) == 1);
@@ -71,7 +75,7 @@ mail_attachment_handler_forward (GtkAction *action,
mime_part = e_attachment_get_mime_part (attachment);
wrapper = camel_medium_get_content (CAMEL_MEDIUM (mime_part));
- em_utils_forward_message (CAMEL_MIME_MESSAGE (wrapper), NULL);
+ em_utils_forward_message (shell, CAMEL_MIME_MESSAGE (wrapper), NULL);
g_list_foreach (selected, (GFunc) g_object_unref, NULL);
g_list_free (selected);
@@ -81,11 +85,15 @@ static void
mail_attachment_handler_reply_all (GtkAction *action,
EAttachmentView *view)
{
+ EShell *shell;
EAttachment *attachment;
CamelMimePart *mime_part;
CamelDataWrapper *wrapper;
GList *selected;
+ /* FIXME Pass this in somehow. */
+ shell = e_shell_get_default ();
+
selected = e_attachment_view_get_selected_attachments (view);
g_return_if_fail (g_list_length (selected) == 1);
@@ -94,7 +102,7 @@ mail_attachment_handler_reply_all (GtkAction *action,
wrapper = camel_medium_get_content (CAMEL_MEDIUM (mime_part));
em_utils_reply_to_message (
- NULL, NULL, CAMEL_MIME_MESSAGE (wrapper),
+ shell, NULL, NULL, CAMEL_MIME_MESSAGE (wrapper),
REPLY_MODE_ALL, NULL);
g_list_foreach (selected, (GFunc) g_object_unref, NULL);
@@ -105,11 +113,15 @@ static void
mail_attachment_handler_reply_sender (GtkAction *action,
EAttachmentView *view)
{
+ EShell *shell;
EAttachment *attachment;
CamelMimePart *mime_part;
CamelDataWrapper *wrapper;
GList *selected;
+ /* FIXME Pass this in somehow. */
+ shell = e_shell_get_default ();
+
selected = e_attachment_view_get_selected_attachments (view);
g_return_if_fail (g_list_length (selected) == 1);
@@ -118,7 +130,7 @@ mail_attachment_handler_reply_sender (GtkAction *action,
wrapper = camel_medium_get_content (CAMEL_MEDIUM (mime_part));
em_utils_reply_to_message (
- NULL, NULL, CAMEL_MIME_MESSAGE (wrapper),
+ shell, NULL, NULL, CAMEL_MIME_MESSAGE (wrapper),
REPLY_MODE_SENDER, NULL);
g_list_foreach (selected, (GFunc) g_object_unref, NULL);
diff --git a/modules/mail/e-mail-shell-backend.c b/modules/mail/e-mail-shell-backend.c
index 09f5068e82..d740094a15 100644
--- a/modules/mail/e-mail-shell-backend.c
+++ b/modules/mail/e-mail-shell-backend.c
@@ -136,10 +136,13 @@ action_mail_message_new_cb (GtkAction *action,
EMailShellSidebar *mail_shell_sidebar;
EShellSidebar *shell_sidebar;
EShellView *shell_view;
+ EShell *shell;
EMFolderTree *folder_tree;
const gchar *view_name;
gchar *uri = NULL;
+ shell = e_shell_window_get_shell (shell_window);
+
if (!em_utils_check_user_can_send_mail ())
return;
@@ -156,7 +159,7 @@ action_mail_message_new_cb (GtkAction *action,
uri = em_folder_tree_get_selected_uri (folder_tree);
exit:
- em_utils_compose_new_message (uri);
+ em_utils_compose_new_message (shell, uri);
g_free (uri);
}
@@ -235,10 +238,13 @@ mail_shell_backend_handle_email_uri_cb (gchar *folder_uri,
{
EShellBackend *shell_backend = user_data;
CamelURL *url = user_data;
+ EShell *shell;
const gchar *forward;
const gchar *reply;
const gchar *uid;
+ shell = e_shell_backend_get_shell (shell_backend);
+
if (folder == NULL) {
g_warning ("Could not open folder '%s'", folder_uri);
goto exit;
@@ -258,7 +264,8 @@ mail_shell_backend_handle_email_uri_cb (gchar *folder_uri,
else
mode = REPLY_MODE_SENDER;
- em_utils_reply_to_message (folder, uid, NULL, mode, NULL);
+ em_utils_reply_to_message (
+ shell, folder, uid, NULL, mode, NULL);
} else if (forward != NULL) {
GPtrArray *uids;
@@ -267,13 +274,17 @@ mail_shell_backend_handle_email_uri_cb (gchar *folder_uri,
g_ptr_array_add (uids, g_strdup (uid));
if (g_strcmp0 (forward, "attached") == 0)
- em_utils_forward_attached (folder, uids, folder_uri);
+ em_utils_forward_attached (
+ shell, folder, uids, folder_uri);
else if (g_strcmp0 (forward, "inline") == 0)
- em_utils_forward_inline (folder, uids, folder_uri);
+ em_utils_forward_inline (
+ shell, folder, uids, folder_uri);
else if (g_strcmp0 (forward, "quoted") == 0)
- em_utils_forward_quoted (folder, uids, folder_uri);
+ em_utils_forward_quoted (
+ shell, folder, uids, folder_uri);
else
- em_utils_forward_messages (folder, uids, folder_uri);
+ em_utils_forward_messages (
+ shell, folder, uids, folder_uri);
} else {
GtkWidget *browser;
@@ -299,7 +310,8 @@ mail_shell_backend_handle_uri_cb (EShell *shell,
if (g_str_has_prefix (uri, "mailto:")) {
if (em_utils_check_user_can_send_mail ())
- em_utils_compose_new_message_with_mailto (uri, NULL);
+ em_utils_compose_new_message_with_mailto (
+ shell, uri, NULL);
} else if (g_str_has_prefix (uri, "email:")) {
CamelURL *url;