From 6cb0cbd0be5791aa0af1f78ce44c7a6563611d8f Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 13 Aug 2010 20:49:46 -0400 Subject: Pass an EShell to EMsgComposer instances. Reduce the composer's dependency on e_shell_get_default(). --- modules/mail/e-mail-attachment-handler.c | 18 +++++++++++++++--- modules/mail/e-mail-shell-backend.c | 26 +++++++++++++++++++------- 2 files changed, 34 insertions(+), 10 deletions(-) (limited to 'modules/mail') 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; -- cgit v1.2.3