From 9571561ecfea075e3443e5d7344be8f1ffa9e49e Mon Sep 17 00:00:00 2001 From: Martin Robinson Date: Fri, 20 Apr 2012 10:30:32 -0700 Subject: Replace "system" with system languages when setting spelling dictionaries The string "system" is used as a placeholder for the default system languages in the preference listing of spelling dictionaries. Before sending this to WebKit to set the spelling dictionaries, we should fill in the actual default system languages. --- embed/ephy-embed-prefs.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'embed') diff --git a/embed/ephy-embed-prefs.c b/embed/ephy-embed-prefs.c index b1073e385..e16c06602 100644 --- a/embed/ephy-embed-prefs.c +++ b/embed/ephy-embed-prefs.c @@ -385,6 +385,24 @@ webkit_pref_callback_gnome_fonts (GSettings *ephy_settings, } } +static void +replace_system_language_with_concrete_language_string (char **languages) +{ + int i; + + for (i = 0; i < g_strv_length (languages); i++) { + if (g_str_equal (languages[i], "system")) { + char **sys_langs; + + g_free (languages[i]); + sys_langs = ephy_langs_get_languages (); + languages[i] = g_strjoinv (", ", sys_langs); + + g_strfreev (sys_langs); + } + } +} + static void webkit_pref_callback_enable_spell_checking (GSettings *settings, char *key, @@ -398,6 +416,7 @@ webkit_pref_callback_enable_spell_checking (GSettings *settings, if (value) { languages = g_settings_get_strv (settings, EPHY_PREFS_WEB_LANGUAGE); + replace_system_language_with_concrete_language_string (languages); langs = g_strjoinv (",", languages); g_strdelimit (langs, "-", '_'); g_strfreev (languages); -- cgit v1.2.3