diff options
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); |