[evolution/wip/webkit-composer: 578/966] Port modules to EEditor.



commit f21eb7c2d3633a935dd3e762573d86165bfbca40
Author: Dan Vrátil <dvratil redhat com>
Date:   Tue Aug 28 17:56:25 2012 +0200

    Port modules to EEditor.

 modules/composer-autosave/e-composer-autosave.c |    4 +-
 modules/mail/e-mail-shell-backend.c             |   15 +++++++++++-
 modules/mail/em-composer-prefs.c                |   27 +++++++++++------------
 modules/mail/em-composer-prefs.h                |    4 +-
 4 files changed, 30 insertions(+), 20 deletions(-)
---
diff --git a/modules/composer-autosave/e-composer-autosave.c b/modules/composer-autosave/e-composer-autosave.c
index 6f85550..ce39a4f 100644
--- a/modules/composer-autosave/e-composer-autosave.c
+++ b/modules/composer-autosave/e-composer-autosave.c
@@ -131,9 +131,9 @@ composer_autosave_changed_cb (EComposerAutosave *autosave)
 
        extensible = e_extension_get_extensible (E_EXTENSION (autosave));
 
-       editor = e_msg_composer_get_editor (E_MSG_COMPOSER (extensible));
+       editor = e_editor_window_get_editor (E_EDITOR_WINDOW (extensible));
        editor_widget = e_editor_get_editor_widget (editor);
-       autosave->priv->changed = e_editor_widget_get_changed (editor_widget);
+       autosave->changed = e_editor_widget_get_changed (editor_widget);
 
        if (autosave->priv->changed && autosave->priv->timeout_id == 0) {
                autosave->priv->timeout_id = e_named_timeout_add_seconds (
diff --git a/modules/mail/e-mail-shell-backend.c b/modules/mail/e-mail-shell-backend.c
index 6669b53..33b5913 100644
--- a/modules/mail/e-mail-shell-backend.c
+++ b/modules/mail/e-mail-shell-backend.c
@@ -489,13 +489,20 @@ mail_shell_backend_window_added_cb (GtkApplication *application,
                        E_MAIL_SIGNATURE_EDITOR (window));
 
        /* This applies to both the composer and signature editor. */
-       if (editor != NULL) {
+       if (E_IS_EDITOR_WINDOW (window)) {
+               EEditor *editor;
                EEditorWidget *editor_widget;
                GSettings *settings;
                gboolean active = TRUE;
 
+               editor = e_editor_window_get_editor (E_EDITOR_WINDOW (window));
                editor_widget = e_editor_get_editor_widget (editor);
 
+               spell_languages = e_load_spell_languages ();
+
+               e_editor_widget_set_spell_languages (editor_widget, spell_languages);
+               g_list_free (spell_languages);
+
                settings = g_settings_new ("org.gnome.evolution.mail");
 
                active = g_settings_get_boolean (
@@ -503,7 +510,11 @@ mail_shell_backend_window_added_cb (GtkApplication *application,
 
                g_object_unref (settings);
 
-               e_editor_widget_set_html_mode (editor_widget, active);
+               e_editor_widget_set_mode (
+                       editor_widget,
+                       active ?
+                               E_EDITOR_WIDGET_MODE_HTML :
+                               E_EDITOR_WIDGET_MODE_PLAIN_TEXT);
        }
 
        if (E_IS_MSG_COMPOSER (window)) {
diff --git a/modules/mail/em-composer-prefs.c b/modules/mail/em-composer-prefs.c
index 3d93032..47113ad 100644
--- a/modules/mail/em-composer-prefs.c
+++ b/modules/mail/em-composer-prefs.c
@@ -57,10 +57,8 @@ composer_prefs_dispose (GObject *object)
 {
        EMComposerPrefs *prefs = (EMComposerPrefs *) object;
 
-       if (prefs->builder != NULL) {
-               g_object_unref (prefs->builder);
-               prefs->builder = NULL;
-       }
+       g_clear_object (&prefs->builder);
+       g_clear_object (&prefs->spell_checker);
 
        /* Chain up to parent's dispose() method. */
        G_OBJECT_CLASS (em_composer_prefs_parent_class)->dispose (object);
@@ -145,22 +143,22 @@ spell_setup (EMComposerPrefs *prefs)
 
        store = GTK_LIST_STORE (prefs->language_model);
 
+       available_languages =
+               e_spell_checker_list_available_dicts (prefs->spell_checker);
+
        list = e_spell_checker_list_available_dicts (prefs->spell_checker);
 
        /* Populate the GtkListStore. */
-       for (link = list; link != NULL; link = g_list_next (link)) {
-               ESpellDictionary *dictionary;
+       while (available_languages != NULL) {
+               ESpellDictionary *language;
                GtkTreeIter tree_iter;
                const gchar *name;
                const gchar *code;
                gboolean active;
 
-               dictionary = E_SPELL_DICTIONARY (link->data);
-               name = e_spell_dictionary_get_name (dictionary);
-               code = e_spell_dictionary_get_code (dictionary);
-
-               active = e_spell_checker_get_language_active (
-                       prefs->spell_checker, code);
+               language = available_languages->data;
+               name = e_spell_dictionary_get_name (language);
+               active = (g_list_find (active_languages, language) != NULL);
 
                gtk_list_store_append (store, &tree_iter);
 
@@ -169,7 +167,7 @@ spell_setup (EMComposerPrefs *prefs)
                        0, active, 1, name, 2, dictionary, -1);
        }
 
-       g_list_free (list);
+       g_list_free_full (active_languages, g_object_unref);
 }
 
 #define MAIL_SEND_ACCOUNT_OVERRIDE_KEY "sao-mail-send-account-override"
@@ -1006,7 +1004,8 @@ em_composer_prefs_construct (EMComposerPrefs *prefs,
        prefs->builder = gtk_builder_new ();
        e_load_ui_builder_definition (prefs->builder, "mail-config.ui");
 
-       prefs->spell_checker = e_spell_checker_new ();
+
+       prefs->spell_checker = g_object_new (E_TYPE_SPELL_CHECKER, NULL);
 
        /** @HookPoint-EMConfig: Mail Composer Preferences
         * @Id: org.gnome.evolution.mail.composerPrefs
diff --git a/modules/mail/em-composer-prefs.h b/modules/mail/em-composer-prefs.h
index 5b72293..b10c8b8 100644
--- a/modules/mail/em-composer-prefs.h
+++ b/modules/mail/em-composer-prefs.h
@@ -53,7 +53,7 @@ typedef struct _EMComposerPrefsClass EMComposerPrefsClass;
 struct _ESignature;
 
 struct _EMComposerPrefs {
-       GtkBox parent;
+       GtkVBox parent;
 
        GtkBuilder *builder;
 
@@ -72,7 +72,7 @@ struct _EMComposerPrefs {
 };
 
 struct _EMComposerPrefsClass {
-       GtkBoxClass parent_class;
+       GtkVBoxClass parent_class;
 };
 
 GType          em_composer_prefs_get_type      (void);


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