aboutsummaryrefslogtreecommitdiffstats
path: root/em-format/e-mail-parser-headers.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2013-05-15 21:17:58 +0800
committerMatthew Barnes <mbarnes@redhat.com>2013-05-20 01:07:22 +0800
commitf9ffe647231a7ba2bd5347d92d560b6a57fee786 (patch)
tree6c1245d91a399647fc25521bc1f38cf564210979 /em-format/e-mail-parser-headers.c
parent0b4e7ec091c8bbe65dc2f2afd7da78b04da7c274 (diff)
downloadgsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.tar
gsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.tar.gz
gsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.tar.bz2
gsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.tar.lz
gsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.tar.xz
gsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.tar.zst
gsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.zip
Convert EMailPart to a GObject.
EMailPart is reference-counted, subclassed, and allows a custom finalize function. There's no excuse for it not to use GObject.
Diffstat (limited to 'em-format/e-mail-parser-headers.c')
-rw-r--r--em-format/e-mail-parser-headers.c36
1 files changed, 5 insertions, 31 deletions
diff --git a/em-format/e-mail-parser-headers.c b/em-format/e-mail-parser-headers.c
index 900b64c35e..76cad8b22a 100644
--- a/em-format/e-mail-parser-headers.c
+++ b/em-format/e-mail-parser-headers.c
@@ -27,6 +27,7 @@
#include <libemail-engine/e-mail-utils.h>
#include "e-mail-parser-extension.h"
+#include "e-mail-part-headers.h"
typedef EMailParserExtension EMailParserHeaders;
typedef EMailParserExtensionClass EMailParserHeadersClass;
@@ -39,35 +40,10 @@ G_DEFINE_TYPE (
E_TYPE_MAIL_PARSER_EXTENSION)
static const gchar *parser_mime_types[] = {
- "application/vnd.evolution.headers",
+ E_MAIL_PART_HEADERS_MIME_TYPE,
NULL
};
-static void
-empe_headers_bind_dom (EMailPart *part,
- WebKitDOMElement *element)
-{
- WebKitDOMDocument *document;
- WebKitDOMElement *photo;
- gchar *addr, *uri;
-
- document = webkit_dom_node_get_owner_document (WEBKIT_DOM_NODE (element));
- photo = webkit_dom_document_get_element_by_id (document, "__evo-contact-photo");
-
- /* Contact photos disabled, the <img> tag is not there */
- if (!photo)
- return;
-
- addr = webkit_dom_element_get_attribute (photo, "data-mailaddr");
- uri = g_strdup_printf ("mail://contact-photo?mailaddr=%s", addr);
-
- webkit_dom_html_image_element_set_src (
- WEBKIT_DOM_HTML_IMAGE_ELEMENT (photo), uri);
-
- g_free (addr);
- g_free (uri);
-}
-
static gboolean
empe_headers_parse (EMailParserExtension *extension,
EMailParser *parser,
@@ -82,13 +58,11 @@ empe_headers_parse (EMailParserExtension *extension,
len = part_id->len;
g_string_append (part_id, ".headers");
- mail_part = e_mail_part_new (part, part_id->str);
- mail_part->mime_type = g_strdup ("application/vnd.evolution.headers");
- mail_part->bind_func = empe_headers_bind_dom;
- g_string_truncate (part_id, len);
-
+ mail_part = e_mail_part_headers_new (part, part_id->str);
g_queue_push_tail (out_mail_parts, mail_part);
+ g_string_truncate (part_id, len);
+
return TRUE;
}