aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-format-html.h
diff options
context:
space:
mode:
authorDan Vrátil <dvratil@redhat.com>2012-06-06 21:27:19 +0800
committerDan Vrátil <dvratil@redhat.com>2012-06-06 21:27:19 +0800
commit5b8340563c271fb684a88c6e5bb6dd3bfb629058 (patch)
treec1c7d606fb4ce9fd2fe459a9226bfb9125423991 /mail/em-format-html.h
parent26a4f24188fd89dbabaff192bec9c54af8fe5a80 (diff)
downloadgsoc2013-evolution-5b8340563c271fb684a88c6e5bb6dd3bfb629058.tar
gsoc2013-evolution-5b8340563c271fb684a88c6e5bb6dd3bfb629058.tar.gz
gsoc2013-evolution-5b8340563c271fb684a88c6e5bb6dd3bfb629058.tar.bz2
gsoc2013-evolution-5b8340563c271fb684a88c6e5bb6dd3bfb629058.tar.lz
gsoc2013-evolution-5b8340563c271fb684a88c6e5bb6dd3bfb629058.tar.xz
gsoc2013-evolution-5b8340563c271fb684a88c6e5bb6dd3bfb629058.tar.zst
gsoc2013-evolution-5b8340563c271fb684a88c6e5bb6dd3bfb629058.zip
Mail formatter rewrite
All mail-parsing and formatting code has been moved to em-format. Parsing is handeled by EMailParser class, formatting by EMailFormatter. Both classes have registry which hold extensions - simple classes that do actual parsing and formatting. Each supported mime-type has it's own parser and formatter extension class.
Diffstat (limited to 'mail/em-format-html.h')
-rw-r--r--mail/em-format-html.h223
1 files changed, 0 insertions, 223 deletions
diff --git a/mail/em-format-html.h b/mail/em-format-html.h
deleted file mode 100644
index 9749c37f31..0000000000
--- a/mail/em-format-html.h
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with the program; if not, see <http://www.gnu.org/licenses/>
- *
- *
- * Authors:
- * Michael Zucchi <notzed@ximian.com>
- *
- * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
- *
- */
-
-/*
- Abstract class for formatting mails to html
-*/
-
-#ifndef EM_FORMAT_HTML_H
-#define EM_FORMAT_HTML_H
-
-#include <em-format/em-format.h>
-#include <misc/e-web-view.h>
-#include <libemail-engine/e-mail-enums.h>
-
-/* Standard GObject macros */
-#define EM_TYPE_FORMAT_HTML \
- (em_format_html_get_type ())
-#define EM_FORMAT_HTML(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST \
- ((obj), EM_TYPE_FORMAT_HTML, EMFormatHTML))
-#define EM_FORMAT_HTML_CLASS(cls) \
- (G_TYPE_CHECK_CLASS_CAST \
- ((cls), EM_TYPE_FORMAT_HTML, EMFormatHTMLClass))
-#define EM_IS_FORMAT_HTML(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE \
- ((obj), EM_TYPE_FORMAT_HTML))
-#define EM_IS_FORMAT_HTML_CLASS(cls) \
- (G_TYPE_CHECK_CLASS_TYPE \
- ((cls), EM_TYPE_FORMAT_HTML))
-#define EM_FORMAT_HTML_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS \
- ((obj), EM_TYPE_FORMAT_HTML, EMFormatHTMLClass))
-
-G_BEGIN_DECLS
-
-typedef struct _EMFormatHTML EMFormatHTML;
-typedef struct _EMFormatHTMLClass EMFormatHTMLClass;
-typedef struct _EMFormatHTMLPrivate EMFormatHTMLPrivate;
-typedef struct _EMFormatWidgetPURI EMFormatWidgetPURI;
-
-enum _em_format_html_header_flags {
- EM_FORMAT_HTML_HEADER_TO = 1 << 0,
- EM_FORMAT_HTML_HEADER_CC = 1 << 1,
- EM_FORMAT_HTML_HEADER_BCC = 1 << 2
-};
-
-typedef enum {
- EM_FORMAT_HTML_COLOR_BODY, /* header area background */
- EM_FORMAT_HTML_COLOR_CITATION, /* citation font color */
- EM_FORMAT_HTML_COLOR_CONTENT, /* message area background */
- EM_FORMAT_HTML_COLOR_FRAME, /* frame around message area */
- EM_FORMAT_HTML_COLOR_HEADER, /* header font color */
- EM_FORMAT_HTML_COLOR_TEXT, /* message font color */
- EM_FORMAT_HTML_NUM_COLOR_TYPES
-} EMFormatHTMLColorType;
-
-#define EM_FORMAT_HTML_HEADER_NOCOLUMNS (EM_FORMAT_HEADER_LAST)
-
-/* header already in html format */
-#define EM_FORMAT_HTML_HEADER_HTML (EM_FORMAT_HEADER_LAST<<1)
-#define EM_FORMAT_HTML_HEADER_NODEC (EM_FORMAT_HEADER_LAST<<2)
-#define EM_FORMAT_HTML_HEADER_NOLINKS (EM_FORMAT_HEADER_LAST<<3)
-#define EM_FORMAT_HTML_HEADER_HIDDEN (EM_FORMAT_HEADER_LAST<<4)
-
-#define EM_FORMAT_HTML_HEADER_LAST (EM_FORMAT_HEADER_LAST<<8)
-
-#define EM_FORMAT_HTML_VPAD \
- "<table cellspacing=0 cellpadding=3><tr><td>" \
- "<a name=\"padding\"></a></td></tr></table>\n"
-
-/**
- * struct _EMFormatHTML - HTML formatter object.
- *
- * @format:
- * @priv:
- * @html:
- * @pending_object_list:
- * @headers:
- * @text_html_flags:
- * @body_colour:
- * @header_colour:
- * @text_colour:
- * @frame_colour:
- * @content_colour:
- * @citation_color:
- * @load_http:2:
- * @load_http_now:1:
- * @mark_citations:1:
- * @hide_headers:1:
- * @show_icon:1:
- *
- * Most of these fields are private or read-only.
- *
- * The base HTML formatter object. This object drives HTML generation
- * into a WebKit parser. It also handles text to HTML conversion,
- * multipart/related objects and inline images.
- **/
-struct _EMFormatHTML {
- EMFormat parent;
- EMFormatHTMLPrivate *priv;
-
- GQueue pending_object_list;
-
- GSList *headers;
-
- guint32 text_html_flags; /* default flags for text to html conversion */
- guint hide_headers:1; /* no headers at all */
- guint show_icon:1; /* show an icon when the sender used Evo */
- guint32 header_wrap_flags;
-};
-
-struct _EMFormatHTMLClass {
- EMFormatClass parent_class;
-
- GType html_widget_type;
-};
-
-GType em_format_html_get_type (void);
-void em_format_html_get_color (EMFormatHTML *efh,
- EMFormatHTMLColorType type,
- GdkColor *color);
-void em_format_html_set_color (EMFormatHTML *efh,
- EMFormatHTMLColorType type,
- const GdkColor *color);
-EMailImageLoadingPolicy
- em_format_html_get_image_loading_policy
- (EMFormatHTML *efh);
-void em_format_html_set_image_loading_policy
- (EMFormatHTML *efh,
- EMailImageLoadingPolicy policy);
-gboolean em_format_html_get_mark_citations
- (EMFormatHTML *efh);
-void em_format_html_set_mark_citations
- (EMFormatHTML *efh,
- gboolean mark_citations);
-gboolean em_format_html_get_only_local_photos
- (EMFormatHTML *efh);
-void em_format_html_set_only_local_photos
- (EMFormatHTML *efh,
- gboolean only_local_photos);
-gboolean em_format_html_get_show_sender_photo
- (EMFormatHTML *efh);
-void em_format_html_set_show_sender_photo
- (EMFormatHTML *efh,
- gboolean show_sender_photo);
-gboolean em_format_html_get_animate_images
- (EMFormatHTML *efh);
-void em_format_html_set_animate_images
- (EMFormatHTML *efh,
- gboolean animate_images);
-void em_format_html_clone_sync (CamelFolder *folder,
- const gchar *message_uid,
- CamelMimeMessage *message,
- EMFormatHTML *efh,
- EMFormat *source);
-gboolean em_format_html_get_show_real_date
- (EMFormatHTML *efh);
-void em_format_html_set_show_real_date
- (EMFormatHTML *efh,
- gboolean show_real_date);
-
-/* retrieves a pseudo-part icon wrapper for a file */
-CamelMimePart * em_format_html_file_part (EMFormatHTML *efh,
- const gchar *mime_type,
- const gchar *filename,
- GCancellable *cancellable);
-
-void em_format_html_format_cert_infos
- (GQueue *cert_infos,
- GString *output_buffer);
-
-void em_format_html_format_message (EMFormatHTML *efh,
- CamelStream *stream,
- GCancellable *cancellable);
-
-void em_format_html_format_message_part
- (EMFormatHTML *efh,
- const gchar *part_id,
- CamelStream *stream,
- GCancellable *cancellable);
-
-void em_format_html_format_headers (EMFormatHTML *efh,
- CamelStream *stream,
- CamelMedium *part,
- gboolean all_headers,
- GCancellable *cancellable);
-void em_format_html_format_header (EMFormat *emf,
- GString *buffer,
- CamelMedium *part,
- struct _camel_header_raw *header,
- guint32 flags,
- const gchar *charset);
-
-gboolean em_format_html_can_load_images (EMFormatHTML *efh);
-
-void em_format_html_animation_extract_frame
- (const GByteArray *anim,
- gchar **frame,
- gsize *len);
-
-G_END_DECLS
-
-#endif /* EM_FORMAT_HTML_H */