[evolution] Define GEnumClass types for mail formatter/parser enums.



commit 552952d2cce32d2748339f380fbf34fea40c029b
Author: Matthew Barnes <mbarnes redhat com>
Date:   Tue Jun 4 09:33:42 2013 -0400

    Define GEnumClass types for mail formatter/parser enums.

 doc/reference/evolution-mail-formatter/Makefile.am |    1 +
 .../evolution-mail-formatter-sections.txt          |    2 +-
 em-format/Makefile.am                              |   30 ++++++-
 em-format/e-mail-formatter-enums.h                 |   90 ++++++++++++++++++++
 em-format/e-mail-formatter-quote.h                 |    6 --
 em-format/e-mail-formatter.c                       |    4 +-
 em-format/e-mail-formatter.h                       |   39 +--------
 em-format/e-mail-parser-extension.h                |   16 +---
 em-format/e-mail-part.h                            |   10 +--
 9 files changed, 129 insertions(+), 69 deletions(-)
---
diff --git a/doc/reference/evolution-mail-formatter/Makefile.am 
b/doc/reference/evolution-mail-formatter/Makefile.am
index 1584f84..aff3eb7 100644
--- a/doc/reference/evolution-mail-formatter/Makefile.am
+++ b/doc/reference/evolution-mail-formatter/Makefile.am
@@ -13,6 +13,7 @@ CFILE_GLOB=$(top_srcdir)/em-format/*.c
 
 # Header files to ignore when scanning.
 IGNORE_HFILES= \
+       e-mail-formatter-enumtypes.h \
        $(NULL)
 
 GTKDOC_CFLAGS= \
diff --git a/doc/reference/evolution-mail-formatter/evolution-mail-formatter-sections.txt 
b/doc/reference/evolution-mail-formatter/evolution-mail-formatter-sections.txt
index 19c01f1..0c123bd 100644
--- a/doc/reference/evolution-mail-formatter/evolution-mail-formatter-sections.txt
+++ b/doc/reference/evolution-mail-formatter/evolution-mail-formatter-sections.txt
@@ -56,7 +56,7 @@ e_mail_formatter_format_text
 e_mail_formatter_get_html_header
 e_mail_formatter_get_extension_registry
 e_mail_formatter_get_text_format_flags
-EMailFormatterColorType
+EMailFormatterColor
 e_mail_formatter_get_color
 e_mail_formatter_set_color
 e_mail_formatter_update_style
diff --git a/em-format/Makefile.am b/em-format/Makefile.am
index 5124c39..2983eb0 100644
--- a/em-format/Makefile.am
+++ b/em-format/Makefile.am
@@ -1,11 +1,31 @@
+privsolib_LTLIBRARIES = libevolution-mail-formatter.la
+
 evolution_mail_formatter_includedir = $(privincludedir)/em-format
 
-privsolib_LTLIBRARIES = libevolution-mail-formatter.la
+ENUM_TYPES = e-mail-formatter-enums.h
+
+e-mail-formatter-enumtypes.h: $(top_srcdir)/enumtypes.h.template $(ENUM_TYPES)
+       $(AM_V_GEN) $(GLIB_MKENUMS) --template $(top_srcdir)/enumtypes.h.template \
+               --fhead "#ifndef E_MAIL_FORMATTER_ENUMTYPES_H\n#define E_MAIL_FORMATTER_ENUMTYPES_H\n" \
+               --ftail "#endif /* E_MAIL_FORMATTER_ENUMTYPES_H */\n" \
+               $(addprefix $(srcdir)/,$(ENUM_TYPES)) > $@
+
+e-mail-formatter-enumtypes.c: $(top_srcdir)/enumtypes.c.template $(ENUM_TYPES)
+       $(AM_V_GEN) $(GLIB_MKENUMS) --template $(top_srcdir)/enumtypes.c.template \
+               --fhead "#include \"e-mail-formatter-enumtypes.h\"" \
+               $(addprefix $(srcdir)/,$(ENUM_TYPES)) > $@
+
+ENUM_GENERATED = \
+       e-mail-formatter-enumtypes.c \
+       e-mail-formatter-enumtypes.h \
+       $(NULL)
 
 evolution_mail_formatter_include_HEADERS =             \
        e-mail-extension-registry.h                     \
        e-mail-formatter-extension.h                    \
        e-mail-formatter.h                              \
+       e-mail-formatter-enums.h                        \
+       e-mail-formatter-enumtypes.h                    \
        e-mail-formatter-print.h                        \
        e-mail-formatter-quote.h                        \
        e-mail-formatter-utils.h                        \
@@ -48,6 +68,7 @@ libevolution_mail_formatter_la_SOURCES =              \
        e-mail-formatter-utils.c                        \
        e-mail-formatter-attachment.c                   \
        e-mail-formatter-attachment-bar.c               \
+       e-mail-formatter-enumtypes.c                    \
        e-mail-formatter-error.c                        \
        e-mail-formatter-extension.c                    \
        e-mail-formatter-headers.c                      \
@@ -101,7 +122,6 @@ libevolution_mail_formatter_la_SOURCES =            \
 
 libevolution_mail_formatter_la_LDFLAGS = -avoid-version $(NO_UNDEFINED)
 
-
 if ENABLE_SMIME
 SMIME_LIBS =                                           \
        $(top_builddir)/smime/lib/libessmime.la         \
@@ -118,4 +138,10 @@ libevolution_mail_formatter_la_LIBADD =                    \
        $(LIBSOUP_LIBS)                                 \
        $(SMIME_LIBS)
 
+BUILT_SOURCES = \
+       $(ENUM_GENERATED) \
+       $(NULL)
+
+CLEANFILES = $(BUILT_SOURCES)
+
 -include $(top_srcdir)/git.mk
diff --git a/em-format/e-mail-formatter-enums.h b/em-format/e-mail-formatter-enums.h
new file mode 100644
index 0000000..e1b41d6
--- /dev/null
+++ b/em-format/e-mail-formatter-enums.h
@@ -0,0 +1,90 @@
+/*
+ * e-mail-formatter-enums.h
+ *
+ * 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/>
+ *
+ */
+
+#ifndef E_MAIL_FORMATTER_ENUMS_H
+#define E_MAIL_FORMATTER_ENUMS_H
+
+#include <glib.h>
+
+G_BEGIN_DECLS
+
+typedef enum {
+       E_MAIL_FORMATTER_COLOR_BODY,            /* header area background */
+       E_MAIL_FORMATTER_COLOR_CITATION,        /* citation font color */
+       E_MAIL_FORMATTER_COLOR_CONTENT,         /* message area background */
+       E_MAIL_FORMATTER_COLOR_FRAME,           /* frame around message area */
+       E_MAIL_FORMATTER_COLOR_HEADER,          /* header font color */
+       E_MAIL_FORMATTER_COLOR_TEXT,            /* message font color */
+       E_MAIL_FORMATTER_NUM_COLOR_TYPES        /*< skip >*/
+} EMailFormatterColor;
+
+typedef enum { /*< flags >*/
+       E_MAIL_FORMATTER_HEADER_FLAG_COLLAPSABLE        = 1 << 0,
+       E_MAIL_FORMATTER_HEADER_FLAG_COLLAPSED          = 1 << 1,
+       E_MAIL_FORMATTER_HEADER_FLAG_HTML               = 1 << 2,
+       E_MAIL_FORMATTER_HEADER_FLAG_NOCOLUMNS          = 1 << 3,
+       E_MAIL_FORMATTER_HEADER_FLAG_BOLD               = 1 << 4,
+       E_MAIL_FORMATTER_HEADER_FLAG_NODEC              = 1 << 5,
+       E_MAIL_FORMATTER_HEADER_FLAG_HIDDEN             = 1 << 6,
+       E_MAIL_FORMATTER_HEADER_FLAG_NOLINKS            = 1 << 7,
+       E_MAIL_FORMATTER_HEADER_FLAG_NOELIPSIZE         = 1 << 8
+} EMailFormatterHeaderFlags;
+
+typedef enum {
+       E_MAIL_FORMATTER_MODE_INVALID                   = -1,
+       E_MAIL_FORMATTER_MODE_NORMAL                    = 0,
+       E_MAIL_FORMATTER_MODE_SOURCE,
+       E_MAIL_FORMATTER_MODE_RAW,
+       E_MAIL_FORMATTER_MODE_CID,
+       E_MAIL_FORMATTER_MODE_PRINTING,
+       E_MAIL_FORMATTER_MODE_ALL_HEADERS
+} EMailFormatterMode;
+
+typedef enum { /*< flags >*/
+       E_MAIL_FORMATTER_QUOTE_FLAG_CITE        = 1 << 0,
+       E_MAIL_FORMATTER_QUOTE_FLAG_HEADERS     = 1 << 1,
+       E_MAIL_FORMATTER_QUOTE_FLAG_KEEP_SIG    = 1 << 2  /* do not strip signature */
+} EMailFormatterQuoteFlags;
+
+/**
+ * EMailParserExtensionFlags:
+ * @E_MAIL_PARSER_EXTENSION_INLINE:
+ *    Don't parse as attachment.
+ * @E_MAIL_PARSER_EXTENSION_INLINE_DISPOSITION:
+ *    Always expand.
+ * @E_MAIL_PARSER_EXTENSION_COMPOUND_TYPE:
+ *    Always check what's inside.
+ **/
+typedef enum { /*< flags >*/
+       E_MAIL_PARSER_EXTENSION_INLINE                  = 1 << 0,
+       E_MAIL_PARSER_EXTENSION_INLINE_DISPOSITION      = 1 << 1,
+       E_MAIL_PARSER_EXTENSION_COMPOUND_TYPE           = 1 << 2
+} EMailParserExtensionFlags;
+
+typedef enum { /*< flags >*/
+       E_MAIL_PART_VALIDITY_NONE       = 0,
+       E_MAIL_PART_VALIDITY_PGP        = 1 << 0,
+       E_MAIL_PART_VALIDITY_SMIME      = 1 << 1,
+       E_MAIL_PART_VALIDITY_SIGNED     = 1 << 2,
+       E_MAIL_PART_VALIDITY_ENCRYPTED  = 1 << 3
+} EMailPartValidityFlags;
+
+G_END_DECLS
+
+#endif /* E_MAIL_FORMATTER_ENUMS_H */
+
diff --git a/em-format/e-mail-formatter-quote.h b/em-format/e-mail-formatter-quote.h
index c866261..3dac85f 100644
--- a/em-format/e-mail-formatter-quote.h
+++ b/em-format/e-mail-formatter-quote.h
@@ -48,12 +48,6 @@ typedef struct _EMailFormatterQuoteClass EMailFormatterQuoteClass;
 typedef struct _EMailFormatterQuotePrivate EMailFormatterQuotePrivate;
 typedef struct _EMailFormatterQuoteContext EMailFormatterQuoteContext;
 
-typedef enum {
-       E_MAIL_FORMATTER_QUOTE_FLAG_CITE        = 1 << 0,
-       E_MAIL_FORMATTER_QUOTE_FLAG_HEADERS     = 1 << 1,
-       E_MAIL_FORMATTER_QUOTE_FLAG_KEEP_SIG    = 1 << 2  /* do not strip signature */
-} EMailFormatterQuoteFlags;
-
 struct _EMailFormatterQuoteContext {
        EMailFormatterContext parent;
 
diff --git a/em-format/e-mail-formatter.c b/em-format/e-mail-formatter.c
index acb5c65..6e022c1 100644
--- a/em-format/e-mail-formatter.c
+++ b/em-format/e-mail-formatter.c
@@ -1158,7 +1158,7 @@ e_mail_formatter_get_text_format_flags (EMailFormatter *formatter)
 
 const GdkRGBA *
 e_mail_formatter_get_color (EMailFormatter *formatter,
-                            EMailFormatterColorType type)
+                            EMailFormatterColor type)
 {
        g_return_val_if_fail (E_IS_MAIL_FORMATTER (formatter), NULL);
        g_return_val_if_fail (type < E_MAIL_FORMATTER_NUM_COLOR_TYPES, NULL);
@@ -1168,7 +1168,7 @@ e_mail_formatter_get_color (EMailFormatter *formatter,
 
 void
 e_mail_formatter_set_color (EMailFormatter *formatter,
-                            EMailFormatterColorType type,
+                            EMailFormatterColor type,
                             const GdkRGBA *color)
 {
        GdkRGBA *format_color;
diff --git a/em-format/e-mail-formatter.h b/em-format/e-mail-formatter.h
index ca05e0f..ce20c46 100644
--- a/em-format/e-mail-formatter.h
+++ b/em-format/e-mail-formatter.h
@@ -23,6 +23,7 @@
 #include <libemail-engine/e-mail-enums.h>
 
 #include <em-format/e-mail-extension-registry.h>
+#include <em-format/e-mail-formatter-enums.h>
 #include <em-format/e-mail-part-list.h>
 
 /* Standard GObject macros */
@@ -46,38 +47,6 @@
 
 G_BEGIN_DECLS;
 
-typedef enum {
-       E_MAIL_FORMATTER_MODE_INVALID                   = -1,
-       E_MAIL_FORMATTER_MODE_NORMAL                    = 0,
-       E_MAIL_FORMATTER_MODE_SOURCE,
-       E_MAIL_FORMATTER_MODE_RAW,
-       E_MAIL_FORMATTER_MODE_CID,
-       E_MAIL_FORMATTER_MODE_PRINTING,
-       E_MAIL_FORMATTER_MODE_ALL_HEADERS
-} EMailFormatterMode;
-
-typedef enum {
-       E_MAIL_FORMATTER_HEADER_FLAG_COLLAPSABLE        = 1 << 0,
-       E_MAIL_FORMATTER_HEADER_FLAG_COLLAPSED          = 1 << 1,
-       E_MAIL_FORMATTER_HEADER_FLAG_HTML               = 1 << 2,
-       E_MAIL_FORMATTER_HEADER_FLAG_NOCOLUMNS          = 1 << 3,
-       E_MAIL_FORMATTER_HEADER_FLAG_BOLD               = 1 << 4,
-       E_MAIL_FORMATTER_HEADER_FLAG_NODEC              = 1 << 5,
-       E_MAIL_FORMATTER_HEADER_FLAG_HIDDEN             = 1 << 6,
-       E_MAIL_FORMATTER_HEADER_FLAG_NOLINKS            = 1 << 7,
-       E_MAIL_FORMATTER_HEADER_FLAG_NOELIPSIZE         = 1 << 8
-} EMailFormatterHeaderFlags;
-
-typedef enum {
-       E_MAIL_FORMATTER_COLOR_BODY,            /* header area background */
-       E_MAIL_FORMATTER_COLOR_CITATION,        /* citation font color */
-       E_MAIL_FORMATTER_COLOR_CONTENT,         /* message area background */
-       E_MAIL_FORMATTER_COLOR_FRAME,           /* frame around message area */
-       E_MAIL_FORMATTER_COLOR_HEADER,          /* header font color */
-       E_MAIL_FORMATTER_COLOR_TEXT,            /* message font color */
-       E_MAIL_FORMATTER_NUM_COLOR_TYPES
-} EMailFormatterColorType;
-
 typedef struct _EMailFormatter EMailFormatter;
 typedef struct _EMailFormatterClass EMailFormatterClass;
 typedef struct _EMailFormatterPrivate EMailFormatterPrivate;
@@ -174,9 +143,9 @@ CamelMimeFilterToHTMLFlags
                                                (EMailFormatter *formatter);
 
 const GdkRGBA *        e_mail_formatter_get_color      (EMailFormatter *formatter,
-                                                EMailFormatterColorType type);
-void           e_mail_formatter_set_color      (EMailFormatter *efh,
-                                                EMailFormatterColorType type,
+                                                EMailFormatterColor type);
+void           e_mail_formatter_set_color      (EMailFormatter *formatter,
+                                                EMailFormatterColor type,
                                                 const GdkRGBA *color);
 void           e_mail_formatter_update_style   (EMailFormatter *formatter,
                                                 GtkStateFlags state);
diff --git a/em-format/e-mail-parser-extension.h b/em-format/e-mail-parser-extension.h
index c011df6..840f84d 100644
--- a/em-format/e-mail-parser-extension.h
+++ b/em-format/e-mail-parser-extension.h
@@ -21,6 +21,7 @@
 
 #include <camel/camel.h>
 #include <em-format/e-mail-parser.h>
+#include <em-format/e-mail-formatter-enums.h>
 
 /* Standard GObject macros */
 #define E_TYPE_MAIL_PARSER_EXTENSION \
@@ -48,21 +49,6 @@ typedef struct _EMailParserExtensionClass EMailParserExtensionClass;
 typedef struct _EMailParserExtensionPrivate EMailParserExtensionPrivate;
 
 /**
- * EMailParserExtensionFlags:
- * @E_MAIL_PARSER_EXTENSION_INLINE:
- *    Don't parse as attachment.
- * @E_MAIL_PARSER_EXTENSION_INLINE_DISPOSITION:
- *    Always expand.
- * @E_MAIL_PARSER_EXTENSION_COMPOUND_TYPE:
- *    Always check what's inside.
- **/
-typedef enum {
-       E_MAIL_PARSER_EXTENSION_INLINE                  = 1 << 0,
-       E_MAIL_PARSER_EXTENSION_INLINE_DISPOSITION      = 1 << 1,
-       E_MAIL_PARSER_EXTENSION_COMPOUND_TYPE           = 1 << 2
-} EMailParserExtensionFlags;
-
-/**
  * EMailParserExtension:
  *
  * The #EMailParserExtension is an abstract interface for all extensions for
diff --git a/em-format/e-mail-part.h b/em-format/e-mail-part.h
index 6ead93b..f710f40 100644
--- a/em-format/e-mail-part.h
+++ b/em-format/e-mail-part.h
@@ -24,6 +24,8 @@
 
 #include <e-util/e-util.h>
 
+#include <em-format/e-mail-formatter-enums.h>
+
 /* Standard GObject macros */
 #define E_TYPE_MAIL_PART \
        (e_mail_part_get_type ())
@@ -49,14 +51,6 @@ typedef struct _EMailPart EMailPart;
 typedef struct _EMailPartClass EMailPartClass;
 typedef struct _EMailPartPrivate EMailPartPrivate;
 
-typedef enum {
-       E_MAIL_PART_VALIDITY_NONE      = 0,
-       E_MAIL_PART_VALIDITY_PGP       = 1 << 0,
-       E_MAIL_PART_VALIDITY_SMIME     = 1 << 1,
-       E_MAIL_PART_VALIDITY_SIGNED    = 1 << 2,
-       E_MAIL_PART_VALIDITY_ENCRYPTED = 1 << 3
-} EMailPartValidityFlags;
-
 typedef struct _EMailPartValidityPair EMailPartValidityPair;
 
 struct _EMailPartValidityPair {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]