diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2008-04-05 23:26:26 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@src.gnome.org> | 2008-04-05 23:26:26 +0800 |
commit | 52ba74cef488e616e07b2ae8f5e93df8a9e31081 (patch) | |
tree | 629dd2edcd1f27ccb9b6661e4a95a85ea0656413 /composer | |
parent | 20fca64c5a4d78d11a61b5689d97cf164caea08f (diff) | |
download | gsoc2013-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/ChangeLog | 9 | ||||
-rw-r--r-- | composer/e-composer-private.h | 2 | ||||
-rw-r--r-- | composer/e-msg-composer.c | 21 |
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); |