diff options
Diffstat (limited to 'modules/mail')
-rw-r--r-- | modules/mail/Makefile.am | 6 | ||||
-rw-r--r-- | modules/mail/e-mail-shell-backend.c | 19 | ||||
-rw-r--r-- | modules/mail/e-mail-shell-view-private.c | 3 | ||||
-rw-r--r-- | modules/mail/e-mail-shell-view-private.h | 1 | ||||
-rw-r--r-- | modules/mail/em-composer-prefs.c | 118 | ||||
-rw-r--r-- | modules/mail/em-composer-prefs.h | 5 | ||||
-rw-r--r-- | modules/mail/em-mailer-prefs.c | 13 |
7 files changed, 61 insertions, 104 deletions
diff --git a/modules/mail/Makefile.am b/modules/mail/Makefile.am index 595c35743a..770975efd7 100644 --- a/modules/mail/Makefile.am +++ b/modules/mail/Makefile.am @@ -9,8 +9,8 @@ module_mail_la_CPPFLAGS = \ -DG_LOG_DOMAIN=\"evolution-module-mail\" \ $(EVOLUTION_DATA_SERVER_CFLAGS) \ $(GNOME_PLATFORM_CFLAGS) \ - $(GTKHTML_CFLAGS) \ - $(CODE_COVERAGE_CFLAGS) + $(CODE_COVERAGE_CFLAGS) \ + $(NULL) module_mail_la_SOURCES = \ evolution-module-mail.c \ @@ -51,7 +51,7 @@ module_mail_la_LIBADD = \ $(libevolution_mail_settings_la) \ $(EVOLUTION_DATA_SERVER_LIBS) \ $(GNOME_PLATFORM_LIBS) \ - $(GTKHTML_LIBS) + $(NULL) module_mail_la_LDFLAGS = \ -avoid-version -module $(NO_UNDEFINED) $(CODE_COVERAGE_LDFLAGS) diff --git a/modules/mail/e-mail-shell-backend.c b/modules/mail/e-mail-shell-backend.c index e74086f204..321e1032e3 100644 --- a/modules/mail/e-mail-shell-backend.c +++ b/modules/mail/e-mail-shell-backend.c @@ -475,21 +475,26 @@ mail_shell_backend_window_added_cb (GtkApplication *application, EShell *shell = E_SHELL (application); EMailBackend *backend; EMailSession *session; + EHTMLEditor *editor = NULL; const gchar *backend_name; backend = E_MAIL_BACKEND (shell_backend); session = e_mail_backend_get_session (backend); + if (E_IS_MSG_COMPOSER (window)) + editor = e_msg_composer_get_editor (E_MSG_COMPOSER (window)); + + if (E_IS_MAIL_SIGNATURE_EDITOR (window)) + editor = e_mail_signature_editor_get_editor ( + E_MAIL_SIGNATURE_EDITOR (window)); + /* This applies to both the composer and signature editor. */ - if (GTKHTML_IS_EDITOR (window)) { + if (editor != NULL) { + EHTMLEditorView *view; GSettings *settings; - GList *spell_languages; gboolean active = TRUE; - spell_languages = e_load_spell_languages (); - gtkhtml_editor_set_spell_languages ( - GTKHTML_EDITOR (window), spell_languages); - g_list_free (spell_languages); + view = e_html_editor_get_view (editor); settings = g_settings_new ("org.gnome.evolution.mail"); @@ -498,7 +503,7 @@ mail_shell_backend_window_added_cb (GtkApplication *application, g_object_unref (settings); - gtkhtml_editor_set_html_mode (GTKHTML_EDITOR (window), active); + e_html_editor_view_set_html_mode (view, active); } if (E_IS_MSG_COMPOSER (window)) { diff --git a/modules/mail/e-mail-shell-view-private.c b/modules/mail/e-mail-shell-view-private.c index aff084d522..14b08300b5 100644 --- a/modules/mail/e-mail-shell-view-private.c +++ b/modules/mail/e-mail-shell-view-private.c @@ -265,8 +265,7 @@ mail_shell_view_mail_display_needs_key (EMailDisplay *mail_display, if (!frame) return FALSE; dom = webkit_web_frame_get_dom_document (frame); - /* intentionally used "static_cast" */ - element = webkit_dom_html_document_get_active_element ((WebKitDOMHTMLDocument *) dom); + element = webkit_dom_html_document_get_active_element (WEBKIT_DOM_HTML_DOCUMENT (dom)); if (element) name = webkit_dom_node_get_node_name (WEBKIT_DOM_NODE (element)); diff --git a/modules/mail/e-mail-shell-view-private.h b/modules/mail/e-mail-shell-view-private.h index 2925f4e63c..e42222d8b0 100644 --- a/modules/mail/e-mail-shell-view-private.h +++ b/modules/mail/e-mail-shell-view-private.h @@ -24,7 +24,6 @@ #include "e-mail-shell-view.h" #include <glib/gi18n.h> -#include <gtkhtml/gtkhtml.h> #include <camel/camel-search-private.h> /* for camel_search_word */ #include <mail/e-mail-folder-create-dialog.h> diff --git a/modules/mail/em-composer-prefs.c b/modules/mail/em-composer-prefs.c index 3861519509..8ec3f6faf3 100644 --- a/modules/mail/em-composer-prefs.c +++ b/modules/mail/em-composer-prefs.c @@ -34,10 +34,6 @@ #include <glib/gi18n.h> #include <glib/gstdio.h> -#include <gtkhtml/gtkhtml.h> -#include <editor/gtkhtml-spell-language.h> -#include <libedataserver/libedataserver.h> - #include <composer/e-msg-composer.h> #include <shell/e-shell-utils.h> @@ -56,53 +52,6 @@ G_DEFINE_TYPE ( em_composer_prefs, GTK_TYPE_VBOX) -static gboolean -composer_prefs_map_string_to_color (GValue *value, - GVariant *variant, - gpointer user_data) -{ - GdkColor color; - const gchar *string; - gboolean success = FALSE; - - string = g_variant_get_string (variant, NULL); - if (gdk_color_parse (string, &color)) { - g_value_set_boxed (value, &color); - success = TRUE; - } - - return success; -} - -static GVariant * -composer_prefs_map_color_to_string (const GValue *value, - const GVariantType *expected_type, - gpointer user_data) -{ - GVariant *variant; - const GdkColor *color; - - color = g_value_get_boxed (value); - if (color == NULL) { - variant = g_variant_new_string (""); - } else { - gchar *string; - - /* Encode the color manually because CSS styles expect - * color codes as #rrggbb, whereas gdk_color_to_string() - * returns color codes as #rrrrggggbbbb. */ - string = g_strdup_printf ( - "#%02x%02x%02x", - (gint) color->red * 256 / 65536, - (gint) color->green * 256 / 65536, - (gint) color->blue * 256 / 65536); - variant = g_variant_new_string (string); - g_free (string); - } - - return variant; -} - static void composer_prefs_dispose (GObject *object) { @@ -168,7 +117,7 @@ spell_language_save (EMComposerPrefs *prefs) /* Build a list of active spell languages. */ valid = gtk_tree_model_get_iter_first (model, &iter); while (valid) { - const GtkhtmlSpellLanguage *language; + ESpellDictionary *language; gboolean active; gtk_tree_model_get ( @@ -191,36 +140,36 @@ spell_language_save (EMComposerPrefs *prefs) static void spell_setup (EMComposerPrefs *prefs) { - const GList *available_languages; - GList *active_languages; + GList *list, *link; GtkListStore *store; store = GTK_LIST_STORE (prefs->language_model); - available_languages = gtkhtml_spell_language_get_available (); - active_languages = e_load_spell_languages (); + list = e_spell_checker_list_available_dicts (prefs->spell_checker); /* Populate the GtkListStore. */ - while (available_languages != NULL) { - const GtkhtmlSpellLanguage *language; + for (link = list; link != NULL; link = g_list_next (link)) { + ESpellDictionary *dictionary; GtkTreeIter tree_iter; const gchar *name; + const gchar *code; gboolean active; - language = available_languages->data; - name = gtkhtml_spell_language_get_name (language); - active = (g_list_find (active_languages, language) != NULL); + 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); gtk_list_store_append (store, &tree_iter); gtk_list_store_set ( store, &tree_iter, - 0, active, 1, name, 2, language, -1); - - available_languages = available_languages->next; + 0, active, 1, name, 2, dictionary, -1); } - g_list_free (active_languages); + g_list_free (list); } #define MAIL_SEND_ACCOUNT_OVERRIDE_KEY "sao-mail-send-account-override" @@ -1006,10 +955,15 @@ static EMConfigItem emcp_items[] = { (gchar *) "vboxSpellChecking", emcp_widget_glade }, - { E_CONFIG_PAGE, - (gchar *) "90.accountoverride", - (gchar *) "send-account-override-grid", - emcp_widget_glade } + { E_CONFIG_SECTION_TABLE, + (gchar *) "20.spellcheck/00.languages", + (gchar *) "languages-table", + emcp_widget_glade }, + + { E_CONFIG_SECTION, + (gchar *) "20.spellcheck/00.options", + (gchar *) "spell-options-vbox", + emcp_widget_glade }, }; static void @@ -1051,6 +1005,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 (); + /** @HookPoint-EMConfig: Mail Composer Preferences * @Id: org.gnome.evolution.mail.composerPrefs * @Class: org.gnome.evolution.mail.config:1.0 @@ -1134,6 +1090,12 @@ em_composer_prefs_construct (EMComposerPrefs *prefs, widget, "active", G_SETTINGS_BIND_DEFAULT); + widget = e_builder_get_widget (prefs->builder, "spinWordWrapLength"); + g_settings_bind ( + settings, "composer-word-wrap-length", + widget, "value", + G_SETTINGS_BIND_DEFAULT); + widget = e_builder_get_widget (prefs->builder, "chkOutlookFilenames"); g_settings_bind ( settings, "composer-outlook-filenames", @@ -1193,9 +1155,6 @@ em_composer_prefs_construct (EMComposerPrefs *prefs, view = GTK_TREE_VIEW (widget); store = gtk_list_store_new ( 3, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_POINTER); - g_signal_connect_swapped ( - store, "row-changed", - G_CALLBACK (spell_language_save), prefs); prefs->language_model = GTK_TREE_MODEL (store); gtk_tree_view_set_model (view, prefs->language_model); renderer = gtk_cell_renderer_toggle_new (); @@ -1215,19 +1174,14 @@ em_composer_prefs_construct (EMComposerPrefs *prefs, info_pixmap = e_builder_get_widget (prefs->builder, "pixmapSpellInfo"); gtk_image_set_from_icon_name ( GTK_IMAGE (info_pixmap), - "dialog-information", GTK_ICON_SIZE_BUTTON); - - widget = e_builder_get_widget (prefs->builder, "colorButtonSpellCheckColor"); - g_settings_bind_with_mapping ( - settings, "composer-spell-color", - widget, "color", - G_SETTINGS_BIND_DEFAULT, - composer_prefs_map_string_to_color, - composer_prefs_map_color_to_string, - NULL, (GDestroyNotify) NULL); + GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_BUTTON); spell_setup (prefs); + g_signal_connect_swapped ( + store, "row-changed", + G_CALLBACK (spell_language_save), prefs); + /* Forwards and Replies */ widget = e_builder_get_widget (prefs->builder, "comboboxForwardStyle"); g_settings_bind ( diff --git a/modules/mail/em-composer-prefs.h b/modules/mail/em-composer-prefs.h index cb986f597d..5b72293c9d 100644 --- a/modules/mail/em-composer-prefs.h +++ b/modules/mail/em-composer-prefs.h @@ -23,7 +23,6 @@ #define EM_COMPOSER_PREFS_H #include <gtk/gtk.h> -#include <gtkhtml/gtkhtml.h> #include <shell/e-shell.h> @@ -67,7 +66,9 @@ struct _EMComposerPrefs { GtkComboBox *reply_style; /* Signatures */ - GtkHTML *sig_preview; + EWebViewPreview *sig_preview; + + ESpellChecker *spell_checker; }; struct _EMComposerPrefsClass { diff --git a/modules/mail/em-mailer-prefs.c b/modules/mail/em-mailer-prefs.c index 3e3aa3909c..0e2b11beb5 100644 --- a/modules/mail/em-mailer-prefs.c +++ b/modules/mail/em-mailer-prefs.c @@ -28,7 +28,6 @@ #include "em-mailer-prefs.h" -#include <gtkhtml/gtkhtml-properties.h> #include <libxml/tree.h> #include <shell/e-shell-utils.h> @@ -738,7 +737,7 @@ image_loading_policy_always_cb (GtkToggleButton *toggle_button) g_settings_set_enum ( settings, "image-loading-policy", - E_MAIL_IMAGE_LOADING_POLICY_ALWAYS); + E_IMAGE_LOADING_POLICY_ALWAYS); g_object_unref (settings); } @@ -754,7 +753,7 @@ image_loading_policy_sometimes_cb (GtkToggleButton *toggle_button) g_settings_set_enum ( settings, "image-loading-policy", - E_MAIL_IMAGE_LOADING_POLICY_SOMETIMES); + E_IMAGE_LOADING_POLICY_SOMETIMES); g_object_unref (settings); } @@ -770,7 +769,7 @@ image_loading_policy_never_cb (GtkToggleButton *toggle_button) g_settings_set_enum ( settings, "image-loading-policy", - E_MAIL_IMAGE_LOADING_POLICY_NEVER); + E_IMAGE_LOADING_POLICY_NEVER); g_object_unref (settings); } @@ -1006,7 +1005,7 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs, prefs->builder, "radImagesNever"); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (widget), - val == E_MAIL_IMAGE_LOADING_POLICY_NEVER); + val == E_IMAGE_LOADING_POLICY_NEVER); gtk_widget_set_sensitive (widget, writable); g_signal_connect ( @@ -1017,7 +1016,7 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs, prefs->builder, "radImagesSometimes"); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (widget), - val == E_MAIL_IMAGE_LOADING_POLICY_SOMETIMES); + val == E_IMAGE_LOADING_POLICY_SOMETIMES); gtk_widget_set_sensitive (widget, writable); g_signal_connect ( @@ -1028,7 +1027,7 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs, prefs->builder, "radImagesAlways"); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (widget), - val == E_MAIL_IMAGE_LOADING_POLICY_ALWAYS); + val == E_IMAGE_LOADING_POLICY_ALWAYS); gtk_widget_set_sensitive (widget, writable); g_signal_connect ( |