aboutsummaryrefslogtreecommitdiffstats
path: root/composer
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2008-04-05 23:26:26 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2008-04-05 23:26:26 +0800
commit52ba74cef488e616e07b2ae8f5e93df8a9e31081 (patch)
tree629dd2edcd1f27ccb9b6661e4a95a85ea0656413 /composer
parent20fca64c5a4d78d11a61b5689d97cf164caea08f (diff)
downloadgsoc2013-evolution-52ba74cef488e616e07b2ae8f5e93df8a9e31081.tar.gz
gsoc2013-evolution-52ba74cef488e616e07b2ae8f5e93df8a9e31081.tar.zst
gsoc2013-evolution-52ba74cef488e616e07b2ae8f5e93df8a9e31081.zip
** Fixes part of bug #526152, plus some tangential code cleanup.
2008-04-05 Matthew Barnes <mbarnes@redhat.com> ** Fixes part of bug #526152, plus some tangential code cleanup. * mail/Makefile.am: Remove all the IDL crud for GnomeSpell. * mail/em-composer-prefs.c: * mail/evolution-mail.schemas.in: * mail/mail-config.c: Define our own GConf keys for active spell checking languages and the underline color for misspelled words, instead of relying on GnomeSpell's GConf keys. The new keys are: /apps/evolution/mail/composer/spell_color (string) /apps/evolution/mail/composer/spell_languages (list of strings) * mail/em-composer-prefs.c: * mail/em-composer-prefs.h: Cleanup the logic a bit to improve readability. * mail/mail-config.c: Cleanup the GConf notification logic: - We don't need the notification IDs for GConf keys we're watching. - Minimize the repetition of GConf keys to reduce the risk of typos. - Reduce the number of notification callback functions. * mail/Spell.idl: Remove this file; we don't use GnomeSpell anymore. * composer/e-msg-composer.c: * composer/e-composer-private.h: Initialize a new composer's spell checking language menu via our new "spell_languages" GConf key. * tools/killev.c (main): No need to continue killing the GnomeSpell Bonobo server. svn path=/trunk/; revision=35322
Diffstat (limited to 'composer')
-rw-r--r--composer/ChangeLog9
-rw-r--r--composer/e-composer-private.h2
-rw-r--r--composer/e-msg-composer.c21
3 files changed, 32 insertions, 0 deletions
diff --git a/composer/ChangeLog b/composer/ChangeLog
index db4dc8b316..9251b54451 100644
--- a/composer/ChangeLog
+++ b/composer/ChangeLog
@@ -1,3 +1,12 @@
+2008-04-05 Matthew Barnes <mbarnes@redhat.com>
+
+ ** Fixes part of bug #526152
+
+ * e-msg-composer.c:
+ * e-composer-private.h:
+ Initialize a new composer's spell checking language menu via
+ our new "spell_languages" GConf key.
+
2008-04-02 Matthew Barnes <mbarnes@redhat.com>
** Adapt to GtkHTML's new editor widget.
diff --git a/composer/e-composer-private.h b/composer/e-composer-private.h
index c0557a4a26..c9f9174394 100644
--- a/composer/e-composer-private.h
+++ b/composer/e-composer-private.h
@@ -62,6 +62,8 @@
COMPOSER_GCONF_PREFIX "/top_signature"
#define COMPOSER_GCONF_SEND_HTML_KEY \
COMPOSER_GCONF_PREFIX "/send_html"
+#define COMPOSER_GCONF_SPELL_LANGUAGES_KEY \
+ COMPOSER_GCONF_PREFIX "/spell_languages"
#define COMPOSER_GCONF_VIEW_BCC_KEY \
COMPOSER_GCONF_PREFIX "/view/Bcc"
#define COMPOSER_GCONF_VIEW_CC_KEY \
diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
index fe4af52e8a..5b2d9526a7 100644
--- a/composer/e-msg-composer.c
+++ b/composer/e-msg-composer.c
@@ -2044,8 +2044,10 @@ msg_composer_constructor (GType type,
GObject *object;
EMsgComposer *composer;
GtkToggleAction *action;
+ GList *spell_languages = NULL;
GConfClient *client;
GArray *array;
+ GSList *list;
gboolean active;
guint binding_id;
@@ -2112,6 +2114,25 @@ msg_composer_constructor (GType type,
client, COMPOSER_GCONF_REQUEST_RECEIPT_KEY, NULL);
gtk_toggle_action_set_active (action, active);
+ list = gconf_client_get_list (
+ client, COMPOSER_GCONF_SPELL_LANGUAGES_KEY,
+ GCONF_VALUE_STRING, NULL);
+ while (list != NULL) {
+ gchar *language_code = list->data;
+ const GtkhtmlSpellLanguage *language;
+
+ language = gtkhtml_spell_language_lookup (language_code);
+ if (language != NULL)
+ spell_languages = g_list_prepend (
+ spell_languages, (gpointer) language);
+
+ list = g_slist_delete_link (list, list);
+ g_free (language_code);
+ }
+ gtkhtml_editor_set_spell_languages (
+ GTKHTML_EDITOR (composer), spell_languages);
+ g_list_free (spell_languages);
+
gconf_client_add_dir (
client, COMPOSER_GCONF_PREFIX,
GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);