aboutsummaryrefslogtreecommitdiffstats
path: root/embed
diff options
context:
space:
mode:
authorMartin Robinson <mrobinson@igalia.com>2012-04-21 01:30:32 +0800
committermartin.james.robinson@gmail.com <mrobinson@igalia.com>2012-04-27 03:36:45 +0800
commit9571561ecfea075e3443e5d7344be8f1ffa9e49e (patch)
tree98a2d61c8e4005cfa63887fa3260a0c664cdccbc /embed
parent055a0f01e8ffcb857c1187d13450972dab05cca8 (diff)
downloadgsoc2013-epiphany-9571561ecfea075e3443e5d7344be8f1ffa9e49e.tar
gsoc2013-epiphany-9571561ecfea075e3443e5d7344be8f1ffa9e49e.tar.gz
gsoc2013-epiphany-9571561ecfea075e3443e5d7344be8f1ffa9e49e.tar.bz2
gsoc2013-epiphany-9571561ecfea075e3443e5d7344be8f1ffa9e49e.tar.lz
gsoc2013-epiphany-9571561ecfea075e3443e5d7344be8f1ffa9e49e.tar.xz
gsoc2013-epiphany-9571561ecfea075e3443e5d7344be8f1ffa9e49e.tar.zst
gsoc2013-epiphany-9571561ecfea075e3443e5d7344be8f1ffa9e49e.zip
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.
Diffstat (limited to 'embed')
-rw-r--r--embed/ephy-embed-prefs.c19
1 files changed, 19 insertions, 0 deletions
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
@@ -386,6 +386,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,
gpointer data)
@@ -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);