[evolution/gnome-3-8] EMailFormatterAttachment cleanups.
- From: Matthew Barnes <mbarnes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution/gnome-3-8] EMailFormatterAttachment cleanups.
- Date: Wed, 29 May 2013 11:58:29 +0000 (UTC)
commit 767fc1d01b6e7526146e1fd134140994fd9d43b5
Author: Matthew Barnes <mbarnes redhat com>
Date: Tue May 28 21:18:25 2013 -0400
EMailFormatterAttachment cleanups.
(cherry picked from commit fa39ba7c5dba1ce355fa560a1e46c542fb34a1b2)
Conflicts:
em-format/e-mail-formatter-attachment.c
em-format/e-mail-formatter-attachment.c | 95 ++++++++++++------------------
1 files changed, 38 insertions(+), 57 deletions(-)
---
diff --git a/em-format/e-mail-formatter-attachment.c b/em-format/e-mail-formatter-attachment.c
index d84c6b7..7b98cf2 100644
--- a/em-format/e-mail-formatter-attachment.c
+++ b/em-format/e-mail-formatter-attachment.c
@@ -113,7 +113,7 @@ emfe_attachment_format (EMailFormatterExtension *extension,
gchar *str, *text, *html;
gchar *button_id;
EAttachmentStore *store;
- EMailExtensionRegistry *reg;
+ EMailExtensionRegistry *registry;
GQueue *extensions;
EMailPartAttachment *empa;
CamelMimeFilterToHTMLFlags flags;
@@ -156,23 +156,22 @@ emfe_attachment_format (EMailFormatterExtension *extension,
}
}
- /* If the attachment is requested as RAW, then call the handler directly
- * and do not append any other code. */
+ registry = e_mail_formatter_get_extension_registry (formatter);
+
+ extensions = e_mail_extension_registry_get_for_mime_type (
+ registry, empa->snoop_mime_type);
+ if (extensions == NULL)
+ extensions = e_mail_extension_registry_get_fallback (
+ registry, empa->snoop_mime_type);
+
+ /* If the attachment is requested as RAW, then call the
+ * handler directly and do not append any other code. */
if ((context->mode == E_MAIL_FORMATTER_MODE_RAW) ||
(context->mode == E_MAIL_FORMATTER_MODE_PRINTING)) {
- EMailExtensionRegistry *reg;
- GQueue *extensions;
- GList *iter;
- reg = e_mail_formatter_get_extension_registry (formatter);
-
- extensions = e_mail_extension_registry_get_for_mime_type (
- reg, empa->snoop_mime_type);
- if (!extensions) {
- extensions = e_mail_extension_registry_get_fallback (
- reg, empa->snoop_mime_type);
- }
+ GList *head, *link;
+ gboolean success = FALSE;
- if (!extensions)
+ if (extensions == NULL)
return FALSE;
if (context->mode == E_MAIL_FORMATTER_MODE_PRINTING) {
@@ -206,33 +205,21 @@ emfe_attachment_format (EMailFormatterExtension *extension,
g_object_unref (file_info);
}
- for (iter = g_queue_peek_head_link (extensions); iter; iter = iter->next) {
-
- EMailFormatterExtension *ext;
- ext = iter->data;
- if (!ext)
- continue;
+ head = g_queue_peek_head_link (extensions);
- if (e_mail_formatter_extension_format (ext, formatter,
- context, part, stream, cancellable)) {
- return TRUE;
- }
+ for (link = head; link != NULL; link = g_list_next (link)) {
+ success = e_mail_formatter_extension_format (
+ E_MAIL_FORMATTER_EXTENSION (link->data),
+ formatter, context, part, stream, cancellable);
+ if (success)
+ break;
}
- return FALSE;
+ return success;
}
/* E_MAIL_FORMATTER_MODE_NORMAL: */
- reg = e_mail_formatter_get_extension_registry (formatter);
- extensions = e_mail_extension_registry_get_for_mime_type (
- reg, empa->snoop_mime_type);
-
- if (!extensions) {
- extensions = e_mail_extension_registry_get_fallback (
- reg, empa->snoop_mime_type);
- }
-
text = e_mail_part_describe (part->part, empa->snoop_mime_type);
flags = e_mail_formatter_get_text_format_flags (formatter);
html = camel_text_to_html (
@@ -262,13 +249,11 @@ emfe_attachment_format (EMailFormatterExtension *extension,
g_free (str);
g_free (html);
- if (extensions) {
- GList *iter;
+ if (extensions != NULL) {
CamelStream *content_stream;
- gboolean ok;
+ gboolean success = FALSE;
content_stream = camel_stream_mem_new ();
- ok = FALSE;
if (empa->attachment_view_part_id != NULL) {
EMailPart *attachment_view_part;
@@ -283,7 +268,7 @@ emfe_attachment_format (EMailFormatterExtension *extension,
}
if (attachment_view_part != NULL) {
- ok = e_mail_formatter_format_as (
+ success = e_mail_formatter_format_as (
formatter, context,
attachment_view_part,
content_stream, NULL,
@@ -292,26 +277,22 @@ emfe_attachment_format (EMailFormatterExtension *extension,
}
} else {
+ GList *head, *link;
- for (iter = g_queue_peek_head_link (extensions); iter; iter = iter->next) {
-
- EMailFormatterExtension *ext;
-
- ext = iter->data;
- if (!ext)
- continue;
+ head = g_queue_peek_head_link (extensions);
- if (e_mail_formatter_extension_format (
- ext, formatter, context,
- part, content_stream,
- cancellable)) {
- ok = TRUE;
+ for (link = head; link != NULL; link = g_list_next (link)) {
+ success = e_mail_formatter_extension_format (
+ E_MAIL_FORMATTER_EXTENSION (link->data),
+ formatter, context,
+ part, content_stream,
+ cancellable);
+ if (success)
break;
- }
}
}
- if (ok) {
+ if (success) {
str = g_strdup_printf (
"<tr><td colspan=\"2\">"
"<div class=\"attachment-wrapper\" id=\"%s\">",
@@ -319,17 +300,17 @@ emfe_attachment_format (EMailFormatterExtension *extension,
camel_stream_write_string (
stream, str, cancellable, NULL);
- g_free (str);
g_seekable_seek (
G_SEEKABLE (content_stream), 0,
G_SEEK_SET, cancellable, NULL);
camel_stream_write_to_stream (
- content_stream, stream,
- cancellable, NULL);
+ content_stream, stream, cancellable, NULL);
camel_stream_write_string (
stream, "</div></td></tr>", cancellable, NULL);
+
+ g_free (str);
}
g_object_unref (content_stream);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]