aboutsummaryrefslogtreecommitdiffstats
path: root/composer/e-msg-composer.c
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/e-msg-composer.c
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/e-msg-composer.c')
-rw-r--r--composer/e-msg-composer.c21
1 files changed, 21 insertions, 0 deletions
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);