[evolution] Propagate settings from Prefences to the EHTMLEditorView



commit 37393c0da9a6c7d41c942c383b23e4f106a83225
Author: Tomas Popela <tpopela redhat com>
Date:   Tue Jul 29 13:57:29 2014 +0200

    Propagate settings from Prefences to the EHTMLEditorView
    
    Namely "Use the same fonts as other applications", "Standard Font",
    "Fixed Width Font", "Highlight quotations with color", "Automatically
    insert emoticon images" and "Check spelling while I type". Also remove
    unneded properties from EWebView.

 e-util/e-html-editor-view.c                    |  101 ++++++---
 e-util/e-web-view.c                            |  165 -------------
 modules/settings/Makefile.am                   |    4 +-
 modules/settings/e-settings-html-editor-view.c |  218 ++++++++++++++++
 modules/settings/e-settings-html-editor-view.h |   64 +++++
 modules/settings/e-settings-web-view.c         |  313 ------------------------
 modules/settings/e-settings-web-view.h         |   63 -----
 modules/settings/evolution-module-settings.c   |    4 +-
 8 files changed, 358 insertions(+), 574 deletions(-)
---
diff --git a/e-util/e-html-editor-view.c b/e-util/e-html-editor-view.c
index c46560f..940f38e 100644
--- a/e-util/e-html-editor-view.c
+++ b/e-util/e-html-editor-view.c
@@ -80,6 +80,7 @@ struct _EHTMLEditorViewPrivate {
 
        GHashTable *inline_images;
 
+       GSettings *mail_settings;
        GSettings *font_settings;
        GSettings *aliasing_settings;
 
@@ -239,6 +240,9 @@ e_html_editor_view_force_spell_check_for_current_paragraph (EHTMLEditorView *vie
        WebKitDOMRange *end_range, *actual;
        WebKitDOMText *text;
 
+       if (!view->priv->inline_spelling)
+               return;
+
        document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        window = webkit_dom_document_get_default_view (document);
        dom_selection = webkit_dom_dom_window_get_selection (window);
@@ -431,7 +435,8 @@ e_html_editor_view_turn_spell_check_off (EHTMLEditorView *view)
 void
 e_html_editor_view_force_spell_check (EHTMLEditorView *view)
 {
-       refresh_spell_check (view, TRUE);
+       if (view->priv->inline_spelling)
+               refresh_spell_check (view, TRUE);
 }
 
 static gint
@@ -1158,6 +1163,9 @@ html_editor_view_load_status_changed (EHTMLEditorView *view)
 
        if (view->priv->html_mode)
                change_cid_images_src_to_base64 (view);
+
+       if (!view->priv->inline_spelling)
+               e_html_editor_view_turn_spell_check_off (view);
 }
 
 /* Based on original use_pictograms() from GtkHTML */
@@ -2044,21 +2052,23 @@ html_editor_view_dispose (GObject *object)
        }
 
        if (priv->aliasing_settings != NULL) {
-               g_signal_handlers_disconnect_matched (
-                       priv->aliasing_settings, G_SIGNAL_MATCH_DATA,
-                       0, 0, NULL, NULL, object);
+               g_signal_handlers_disconnect_by_data (priv->aliasing_settings, object);
                g_object_unref (priv->aliasing_settings);
                priv->aliasing_settings = NULL;
        }
 
        if (priv->font_settings != NULL) {
-               g_signal_handlers_disconnect_matched (
-                       priv->font_settings, G_SIGNAL_MATCH_DATA,
-                       0, 0, NULL, NULL, object);
+               g_signal_handlers_disconnect_by_data (priv->font_settings, object);
                g_object_unref (priv->font_settings);
                priv->font_settings = NULL;
        }
 
+       if (priv->mail_settings != NULL) {
+               g_signal_handlers_disconnect_by_data (priv->mail_settings, object);
+               g_object_unref (priv->mail_settings);
+               priv->mail_settings = NULL;
+       }
+
        g_hash_table_remove_all (priv->inline_images);
 
        /* Chain up to parent's dispose() method. */
@@ -4646,6 +4656,9 @@ e_html_editor_view_init (EHTMLEditorView *view)
                G_CALLBACK (e_html_editor_settings_changed_cb), view);
        view->priv->font_settings = g_settings;
 
+       g_settings = g_settings_new ("org.gnome.evolution.mail");
+       view->priv->mail_settings = g_settings;
+
        /* This schema is optional.  Use if available. */
        settings_schema = g_settings_schema_source_lookup (
                g_settings_schema_source_get_default (),
@@ -6551,6 +6564,11 @@ e_html_editor_view_set_inline_spelling (EHTMLEditorView *view,
 
        view->priv->inline_spelling = inline_spelling;
 
+       if (inline_spelling)
+               e_html_editor_view_force_spell_check (view);
+       else
+               e_html_editor_view_turn_spell_check_off (view);
+
        g_object_notify (G_OBJECT (view), "inline-spelling");
 }
 
@@ -6905,33 +6923,47 @@ citation_color_level_5 (void)
 void
 e_html_editor_view_update_fonts (EHTMLEditorView *view)
 {
-       GString *stylesheet;
-       gchar *base64;
-       gchar *aa = NULL;
-       WebKitWebSettings *settings;
-       PangoFontDescription *ms, *vw;
+       gboolean mark_citations, use_custom_font;
+       GdkColor *link = NULL;
+       GdkColor *visited = NULL;
+       gchar *base64, *font, *aa = NULL, *citation_color;
        const gchar *styles[] = { "normal", "oblique", "italic" };
        const gchar *smoothing = NULL;
+       GString *stylesheet;
        GtkStyleContext *context;
-       GdkColor *link = NULL;
-       GdkColor *visited = NULL;
-       gchar *font;
+       PangoFontDescription *ms, *vw;
+       WebKitWebSettings *settings;
 
-       font = g_settings_get_string (
-               view->priv->font_settings,
-               "monospace-font-name");
-       ms = pango_font_description_from_string (
-               font ? font : "monospace 10");
-       g_free (font);
+       g_return_if_fail (E_IS_HTML_EDITOR_VIEW (view));
 
-       if (view->priv->html_mode) {
+       use_custom_font = g_settings_get_boolean (
+               view->priv->mail_settings, "use-custom-font");
+
+       if (use_custom_font) {
                font = g_settings_get_string (
-                               view->priv->font_settings,
-                               "font-name");
-               vw = pango_font_description_from_string (
-                               font ? font : "serif 10");
+                       view->priv->mail_settings, "monospace-font");
+               ms = pango_font_description_from_string (font ? font : "monospace 10");
                g_free (font);
        } else {
+               font = g_settings_get_string (
+                       view->priv->font_settings, "monospace-font-name");
+               ms = pango_font_description_from_string (font ? font : "monospace 10");
+               g_free (font);
+       }
+
+       if (view->priv->html_mode) {
+               if (use_custom_font) {
+                       font = g_settings_get_string (
+                               view->priv->mail_settings, "variable-width-font");
+                       vw = pango_font_description_from_string (font ? font : "serif 10");
+                       g_free (font);
+               } else {
+                       font = g_settings_get_string (
+                               view->priv->font_settings, "font-name");
+                       vw = pango_font_description_from_string (font ? font : "serif 10");
+                       g_free (font);
+               }
+       } else {
                /* When in plain text mode, force monospace font */
                vw = pango_font_description_copy (ms);
        }
@@ -7092,6 +7124,11 @@ e_html_editor_view_update_fonts (EHTMLEditorView *view)
                "  -webkit-margin-after: 0em; \n"
                "}\n");
 
+       citation_color = g_settings_get_string (
+               view->priv->mail_settings, "citation-color");
+       mark_citations = g_settings_get_boolean (
+               view->priv->mail_settings, "mark-citations");
+
        g_string_append (
                stylesheet,
                "blockquote[type=cite] "
@@ -7099,9 +7136,15 @@ e_html_editor_view_update_fonts (EHTMLEditorView *view)
                "  padding: 0.0ex 0ex;\n"
                "  margin: 0ex;\n"
                "  -webkit-margin-start: 0em; \n"
-               "  -webkit-margin-end : 0em; \n"
-               "  color: #737373 !important;\n"
-               "}\n");
+               "  -webkit-margin-end : 0em; \n");
+
+       if (mark_citations && citation_color)
+               g_string_append_printf (
+                       stylesheet,
+                       "  color: %s !important; \n",
+                       citation_color);
+
+       g_string_append (stylesheet, "}\n");
 
        g_string_append (
                stylesheet,
diff --git a/e-util/e-web-view.c b/e-util/e-web-view.c
index fb64441..ed8324c 100644
--- a/e-util/e-web-view.c
+++ b/e-util/e-web-view.c
@@ -86,9 +86,6 @@ enum {
        PROP_CURSOR_IMAGE_SRC,
        PROP_DISABLE_PRINTING,
        PROP_DISABLE_SAVE_TO_DISK,
-       PROP_INLINE_SPELLING,
-       PROP_MAGIC_LINKS,
-       PROP_MAGIC_SMILEYS,
        PROP_OPEN_PROXY,
        PROP_PRINT_PROXY,
        PROP_SAVE_AS_PROXY,
@@ -712,24 +709,6 @@ web_view_set_property (GObject *object,
                                g_value_get_boolean (value));
                        return;
 
-               case PROP_INLINE_SPELLING:
-                       e_web_view_set_inline_spelling (
-                               E_WEB_VIEW (object),
-                               g_value_get_boolean (value));
-                       return;
-
-               case PROP_MAGIC_LINKS:
-                       e_web_view_set_magic_links (
-                               E_WEB_VIEW (object),
-                               g_value_get_boolean (value));
-                       return;
-
-               case PROP_MAGIC_SMILEYS:
-                       e_web_view_set_magic_smileys (
-                               E_WEB_VIEW (object),
-                               g_value_get_boolean (value));
-                       return;
-
                case PROP_OPEN_PROXY:
                        e_web_view_set_open_proxy (
                                E_WEB_VIEW (object),
@@ -788,24 +767,6 @@ web_view_get_property (GObject *object,
                                E_WEB_VIEW (object)));
                        return;
 
-               case PROP_INLINE_SPELLING:
-                       g_value_set_boolean (
-                               value, e_web_view_get_inline_spelling (
-                               E_WEB_VIEW (object)));
-                       return;
-
-               case PROP_MAGIC_LINKS:
-                       g_value_set_boolean (
-                               value, e_web_view_get_magic_links (
-                               E_WEB_VIEW (object)));
-                       return;
-
-               case PROP_MAGIC_SMILEYS:
-                       g_value_set_boolean (
-                               value, e_web_view_get_magic_smileys (
-                               E_WEB_VIEW (object)));
-                       return;
-
                case PROP_OPEN_PROXY:
                        g_value_set_object (
                                value, e_web_view_get_open_proxy (
@@ -1522,36 +1483,6 @@ e_web_view_class_init (EWebViewClass *class)
 
        g_object_class_install_property (
                object_class,
-               PROP_INLINE_SPELLING,
-               g_param_spec_boolean (
-                       "inline-spelling",
-                       "Inline Spelling",
-                       NULL,
-                       FALSE,
-                       G_PARAM_READWRITE));
-
-       g_object_class_install_property (
-               object_class,
-               PROP_MAGIC_LINKS,
-               g_param_spec_boolean (
-                       "magic-links",
-                       "Magic Links",
-                       NULL,
-                       FALSE,
-                       G_PARAM_READWRITE));
-
-       g_object_class_install_property (
-               object_class,
-               PROP_MAGIC_SMILEYS,
-               g_param_spec_boolean (
-                       "magic-smileys",
-                       "Magic Smileys",
-                       NULL,
-                       FALSE,
-                       G_PARAM_READWRITE));
-
-       g_object_class_install_property (
-               object_class,
                PROP_OPEN_PROXY,
                g_param_spec_object (
                        "open-proxy",
@@ -2116,102 +2047,6 @@ e_web_view_set_editable (EWebView *web_view,
        webkit_web_view_set_editable (WEBKIT_WEB_VIEW (web_view), editable);
 }
 
-gboolean
-e_web_view_get_inline_spelling (EWebView *web_view)
-{
-#if 0  /* WEBKIT - XXX No equivalent property? */
-       /* XXX This is just here to maintain symmetry
-        *     with e_web_view_set_inline_spelling(). */
-
-       g_return_val_if_fail (E_IS_WEB_VIEW (web_view), FALSE);
-
-       return gtk_html_get_inline_spelling (GTK_HTML (web_view));
-#endif
-
-       return FALSE;
-}
-
-void
-e_web_view_set_inline_spelling (EWebView *web_view,
-                                gboolean inline_spelling)
-{
-#if 0  /* WEBKIT - XXX No equivalent property? */
-       /* XXX GtkHTML does not utilize GObject properties as well
-        *     as it could.  This just wraps gtk_html_set_inline_spelling()
-        *     so we get a "notify::inline-spelling" signal. */
-
-       g_return_if_fail (E_IS_WEB_VIEW (web_view));
-
-       gtk_html_set_inline_spelling (GTK_HTML (web_view), inline_spelling);
-
-       g_object_notify (G_OBJECT (web_view), "inline-spelling");
-#endif
-}
-
-gboolean
-e_web_view_get_magic_links (EWebView *web_view)
-{
-#if 0  /* WEBKIT - XXX No equivalent property? */
-       /* XXX This is just here to maintain symmetry
-        *     with e_web_view_set_magic_links(). */
-
-       g_return_val_if_fail (E_IS_WEB_VIEW (web_view), FALSE);
-
-       return gtk_html_get_magic_links (GTK_HTML (web_view));
-#endif
-
-       return FALSE;
-}
-
-void
-e_web_view_set_magic_links (EWebView *web_view,
-                            gboolean magic_links)
-{
-#if 0  /* WEBKIT - XXX No equivalent property? */
-       /* XXX GtkHTML does not utilize GObject properties as well
-        *     as it could.  This just wraps gtk_html_set_magic_links()
-        *     so we can get a "notify::magic-links" signal. */
-
-       g_return_if_fail (E_IS_WEB_VIEW (web_view));
-
-       gtk_html_set_magic_links (GTK_HTML (web_view), magic_links);
-
-       g_object_notify (G_OBJECT (web_view), "magic-links");
-#endif
-}
-
-gboolean
-e_web_view_get_magic_smileys (EWebView *web_view)
-{
-#if 0  /* WEBKIT - No equivalent property? */
-       /* XXX This is just here to maintain symmetry
-        *     with e_web_view_set_magic_smileys(). */
-
-       g_return_val_if_fail (E_IS_WEB_VIEW (web_view), FALSE);
-
-       return gtk_html_get_magic_smileys (GTK_HTML (web_view));
-#endif
-
-       return FALSE;
-}
-
-void
-e_web_view_set_magic_smileys (EWebView *web_view,
-                              gboolean magic_smileys)
-{
-#if 0  /* WEBKIT - No equivalent property? */
-       /* XXX GtkHTML does not utilize GObject properties as well
-        *     as it could.  This just wraps gtk_html_set_magic_smileys()
-        *     so we can get a "notify::magic-smileys" signal. */
-
-       g_return_if_fail (E_IS_WEB_VIEW (web_view));
-
-       gtk_html_set_magic_smileys (GTK_HTML (web_view), magic_smileys);
-
-       g_object_notify (G_OBJECT (web_view), "magic-smileys");
-#endif
-}
-
 const gchar *
 e_web_view_get_selected_uri (EWebView *web_view)
 {
diff --git a/modules/settings/Makefile.am b/modules/settings/Makefile.am
index c03253d..507ddc9 100644
--- a/modules/settings/Makefile.am
+++ b/modules/settings/Makefile.am
@@ -27,6 +27,8 @@ module_settings_la_SOURCES = \
        e-settings-date-edit.h \
        e-settings-deprecated.c \
        e-settings-deprecated.h \
+       e-settings-html-editor-view.c \
+       e-settings-html-editor-view.h \
        e-settings-mail-browser.c \
        e-settings-mail-browser.h \
        e-settings-mail-formatter.c \
@@ -49,8 +51,6 @@ module_settings_la_SOURCES = \
        e-settings-spell-checker.h \
        e-settings-spell-entry.c \
        e-settings-spell-entry.h \
-       e-settings-web-view.c \
-       e-settings-web-view.h \
        e-settings-weekday-chooser.c \
        e-settings-weekday-chooser.h \
        $(NULL)
diff --git a/modules/settings/e-settings-html-editor-view.c b/modules/settings/e-settings-html-editor-view.c
new file mode 100644
index 0000000..97a8c08
--- /dev/null
+++ b/modules/settings/e-settings-html-editor-view.c
@@ -0,0 +1,218 @@
+/*
+ * e-settings-html-editor-web-view.c
+ *
+ * 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.
+ *
+ * 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 General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stdio.h>
+#include <string.h>
+
+#include "e-settings-html-editor-view.h"
+
+#include <e-util/e-util.h>
+
+#define E_SETTINGS_HTML_EDITOR_VIEW_GET_PRIVATE(obj) \
+       (G_TYPE_INSTANCE_GET_PRIVATE \
+       ((obj), E_TYPE_SETTINGS_HTML_EDITOR_VIEW, ESettingsHTMLEditorViewPrivate))
+
+struct _ESettingsHTMLEditorViewPrivate {
+       GSettings *settings;
+
+       GHashTable *old_settings;
+};
+
+G_DEFINE_DYNAMIC_TYPE (
+       ESettingsHTMLEditorView,
+       e_settings_html_editor_view,
+       E_TYPE_EXTENSION)
+
+static void
+settings_html_editor_view_load_style (ESettingsHTMLEditorView *extension)
+{
+       EExtensible *extensible;
+
+       extensible = e_extension_get_extensible (E_EXTENSION (extension));
+
+       e_html_editor_view_update_fonts (E_HTML_EDITOR_VIEW (extensible));
+}
+
+static void
+settings_html_editor_view_changed_cb (GSettings *settings,
+                                      const gchar *key,
+                                      ESettingsHTMLEditorView *extension)
+{
+       GVariant *new_value, *old_value;
+
+       new_value = g_settings_get_value (settings, key);
+       old_value = g_hash_table_lookup (extension->priv->old_settings, key);
+
+       if (!new_value || !old_value || !g_variant_equal (new_value, old_value)) {
+               if (new_value)
+                       g_hash_table_insert (extension->priv->old_settings, g_strdup (key), new_value);
+               else
+                       g_hash_table_remove (extension->priv->old_settings, key);
+
+               settings_html_editor_view_load_style (extension);
+       } else if (new_value) {
+               g_variant_unref (new_value);
+       }
+}
+
+static void
+settings_html_editor_view_realize (GtkWidget *widget,
+                                   ESettingsHTMLEditorView *extension)
+{
+       GSettings *settings;
+
+       settings = extension->priv->settings;
+
+       g_settings_bind (
+               settings, "composer-inline-spelling",
+               widget, "inline-spelling",
+               G_SETTINGS_BIND_GET);
+
+       g_settings_bind (
+               settings, "composer-magic-links",
+               widget, "magic-links",
+               G_SETTINGS_BIND_GET);
+
+       g_settings_bind (
+               settings, "composer-magic-smileys",
+               widget, "magic-smileys",
+               G_SETTINGS_BIND_GET);
+
+       settings_html_editor_view_load_style (extension);
+
+       /* Reload the web view when certain settings change. */
+
+       g_signal_connect (
+               settings, "changed::use-custom-font",
+               G_CALLBACK (settings_html_editor_view_changed_cb), extension);
+
+       g_signal_connect (
+               settings, "changed::monospace-font",
+               G_CALLBACK (settings_html_editor_view_changed_cb), extension);
+
+       g_signal_connect (
+               settings, "changed::variable-width-font",
+               G_CALLBACK (settings_html_editor_view_changed_cb), extension);
+
+       g_signal_connect (
+               settings, "changed::mark-citations",
+               G_CALLBACK (settings_html_editor_view_changed_cb), extension);
+
+       g_signal_connect (
+               settings, "changed::citation-color",
+               G_CALLBACK (settings_html_editor_view_changed_cb), extension);
+}
+
+static void
+settings_html_editor_view_dispose (GObject *object)
+{
+       ESettingsHTMLEditorViewPrivate *priv;
+
+       priv = E_SETTINGS_HTML_EDITOR_VIEW_GET_PRIVATE (object);
+
+       if (priv->settings != NULL) {
+               g_signal_handlers_disconnect_by_func (
+                       priv->settings,
+                       settings_html_editor_view_changed_cb, object);
+       }
+
+       g_clear_object (&priv->settings);
+
+       /* Chain up to parent's dispose() method. */
+       G_OBJECT_CLASS (e_settings_html_editor_view_parent_class)->dispose (object);
+}
+
+static void
+settings_html_editor_view_finalize (GObject *object)
+{
+       ESettingsHTMLEditorViewPrivate *priv;
+
+       priv = E_SETTINGS_HTML_EDITOR_VIEW_GET_PRIVATE (object);
+
+       if (priv->old_settings) {
+               g_hash_table_destroy (priv->old_settings);
+               priv->old_settings = NULL;
+       }
+
+       /* Chain up to parent's finalize() method. */
+       G_OBJECT_CLASS (e_settings_html_editor_view_parent_class)->finalize (object);
+}
+
+static void
+settings_html_editor_view_constructed (GObject *object)
+{
+       EExtensible *extensible;
+
+       extensible = e_extension_get_extensible (E_EXTENSION (object));
+
+       g_signal_connect (
+               extensible, "realize",
+               G_CALLBACK (settings_html_editor_view_realize), object);
+
+       /* Chain up to parent's constructed() method. */
+       G_OBJECT_CLASS (e_settings_html_editor_view_parent_class)->constructed (object);
+}
+
+static void
+e_settings_html_editor_view_class_init (ESettingsHTMLEditorViewClass *class)
+{
+       GObjectClass *object_class;
+       EExtensionClass *extension_class;
+
+       g_type_class_add_private (class, sizeof (ESettingsHTMLEditorViewPrivate));
+
+       object_class = G_OBJECT_CLASS (class);
+       object_class->dispose = settings_html_editor_view_dispose;
+       object_class->finalize = settings_html_editor_view_finalize;
+       object_class->constructed = settings_html_editor_view_constructed;
+
+       extension_class = E_EXTENSION_CLASS (class);
+       extension_class->extensible_type = E_TYPE_HTML_EDITOR_VIEW;
+}
+
+static void
+e_settings_html_editor_view_class_finalize (ESettingsHTMLEditorViewClass *class)
+{
+}
+
+static void
+e_settings_html_editor_view_init (ESettingsHTMLEditorView *extension)
+{
+       GSettings *settings;
+
+       extension->priv = E_SETTINGS_HTML_EDITOR_VIEW_GET_PRIVATE (extension);
+
+       settings = g_settings_new ("org.gnome.evolution.mail");
+       extension->priv->settings = settings;
+
+       extension->priv->old_settings = g_hash_table_new_full (
+               g_str_hash, g_str_equal, g_free, (GDestroyNotify) g_variant_unref);
+}
+
+void
+e_settings_html_editor_view_type_register (GTypeModule *type_module)
+{
+       /* XXX G_DEFINE_DYNAMIC_TYPE declares a static type registration
+        *     function, so we have to wrap it with a public function in
+        *     order to register types from a separate compilation unit. */
+       e_settings_html_editor_view_register_type (type_module);
+}
+
diff --git a/modules/settings/e-settings-html-editor-view.h b/modules/settings/e-settings-html-editor-view.h
new file mode 100644
index 0000000..1848794
--- /dev/null
+++ b/modules/settings/e-settings-html-editor-view.h
@@ -0,0 +1,64 @@
+/*
+ * e-settings-html-editor-view.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.
+ *
+ * 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 General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef E_SETTINGS_HTML_EDITOR_VIEW_H
+#define E_SETTINGS_HTML_EDITOR_VIEW_H
+
+#include <libebackend/libebackend.h>
+
+/* Standard GObject macros */
+#define E_TYPE_SETTINGS_HTML_EDITOR_VIEW \
+       (e_settings_html_editor_view_get_type ())
+#define E_SETTINGS_HTML_EDITOR_VIEW(obj) \
+       (G_TYPE_CHECK_INSTANCE_CAST \
+       ((obj), E_TYPE_SETTINGS_HTML_EDITOR_VIEW, ESettingsHTMLEditorView))
+#define E_SETTINGS_HTML_EDITOR_VIEW_CLASS(cls) \
+       (G_TYPE_CHECK_CLASS_CAST \
+       ((cls), E_TYPE_SETTINGS_HTML_EDITOR_VIEW, ESettingsHTMLEditorViewClass))
+#define E_IS_SETTINGS_HTML_EDITOR_VIEW(obj) \
+       (G_TYPE_CHECK_INSTANCE_TYPE \
+       ((obj), E_TYPE_SETTINGS_HTML_EDITOR_VIEW))
+#define E_IS_SETTINGS_HTML_EDITOR_VIEW_CLASS(cls) \
+       (G_TYPE_CHECK_CLASS_TYPE \
+       ((cls), E_TYPE_SETTINGS_HTML_EDITOR_VIEW))
+#define E_SETTINGS_HTML_EDITOR_VIEW_GET_CLASS(obj) \
+       (G_TYPE_INSTANCE_GET_CLASS \
+       ((obj), E_TYPE_SETTINGS_HTML_EDITOR_VIEW, ESettingsHTMLEditorViewClass))
+
+G_BEGIN_DECLS
+
+typedef struct _ESettingsHTMLEditorView ESettingsHTMLEditorView;
+typedef struct _ESettingsHTMLEditorViewClass ESettingsHTMLEditorViewClass;
+typedef struct _ESettingsHTMLEditorViewPrivate ESettingsHTMLEditorViewPrivate;
+
+struct _ESettingsHTMLEditorView {
+       EExtension parent;
+       ESettingsHTMLEditorViewPrivate *priv;
+};
+
+struct _ESettingsHTMLEditorViewClass {
+       EExtensionClass parent_class;
+};
+
+GType          e_settings_html_editor_view_get_type
+                                               (void) G_GNUC_CONST;
+void           e_settings_html_editor_view_type_register
+                                               (GTypeModule *type_module);
+
+G_END_DECLS
+
+#endif /* E_SETTINGS_HTML_EDITOR_VIEW_H */
diff --git a/modules/settings/evolution-module-settings.c b/modules/settings/evolution-module-settings.c
index 88101b5..e6fce74 100644
--- a/modules/settings/evolution-module-settings.c
+++ b/modules/settings/evolution-module-settings.c
@@ -22,6 +22,7 @@
 #include "e-settings-comp-editor.h"
 #include "e-settings-date-edit.h"
 #include "e-settings-deprecated.h"
+#include "e-settings-html-editor-view.h"
 #include "e-settings-mail-browser.h"
 #include "e-settings-mail-formatter.h"
 #include "e-settings-mail-part-headers.h"
@@ -33,7 +34,6 @@
 #include "e-settings-name-selector-entry.h"
 #include "e-settings-spell-checker.h"
 #include "e-settings-spell-entry.h"
-#include "e-settings-web-view.h"
 #include "e-settings-weekday-chooser.h"
 
 /* Module Entry Points */
@@ -50,6 +50,7 @@ e_module_load (GTypeModule *type_module)
        e_settings_comp_editor_type_register (type_module);
        e_settings_date_edit_type_register (type_module);
        e_settings_deprecated_type_register (type_module);
+       e_settings_html_editor_view_type_register (type_module);
        e_settings_mail_browser_type_register (type_module);
        e_settings_mail_formatter_type_register (type_module);
        e_settings_mail_part_headers_type_register (type_module);
@@ -61,7 +62,6 @@ e_module_load (GTypeModule *type_module)
        e_settings_name_selector_entry_type_register (type_module);
        e_settings_spell_checker_type_register (type_module);
        e_settings_spell_entry_type_register (type_module);
-       e_settings_web_view_type_register (type_module);
        e_settings_weekday_chooser_type_register (type_module);
 }
 


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