aboutsummaryrefslogtreecommitdiffstats
path: root/modules/mail
diff options
context:
space:
mode:
Diffstat (limited to 'modules/mail')
-rw-r--r--modules/mail/Makefile.am6
-rw-r--r--modules/mail/e-mail-shell-backend.c19
-rw-r--r--modules/mail/e-mail-shell-view-private.c3
-rw-r--r--modules/mail/e-mail-shell-view-private.h1
-rw-r--r--modules/mail/em-composer-prefs.c118
-rw-r--r--modules/mail/em-composer-prefs.h5
-rw-r--r--modules/mail/em-mailer-prefs.c13
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 (