diff options
author | Christian Persch <chpe@cvs.gnome.org> | 2003-05-29 19:25:06 +0800 |
---|---|---|
committer | Christian Persch <chpe@src.gnome.org> | 2003-05-29 19:25:06 +0800 |
commit | 3893baeacbcdc24efbd7aca4e67508ddba2a4a5c (patch) | |
tree | efc3140c192529e7c1a77ccf26f43cbc037f136a /embed | |
parent | 4dc9c881958398daff5d76dd9749b443f75b3ab5 (diff) | |
download | gsoc2013-epiphany-3893baeacbcdc24efbd7aca4e67508ddba2a4a5c.tar gsoc2013-epiphany-3893baeacbcdc24efbd7aca4e67508ddba2a4a5c.tar.gz gsoc2013-epiphany-3893baeacbcdc24efbd7aca4e67508ddba2a4a5c.tar.bz2 gsoc2013-epiphany-3893baeacbcdc24efbd7aca4e67508ddba2a4a5c.tar.lz gsoc2013-epiphany-3893baeacbcdc24efbd7aca4e67508ddba2a4a5c.tar.xz gsoc2013-epiphany-3893baeacbcdc24efbd7aca4e67508ddba2a4a5c.tar.zst gsoc2013-epiphany-3893baeacbcdc24efbd7aca4e67508ddba2a4a5c.zip |
Sort the lists of encoding autodetectors and of fonts languages.
2003-05-29 Christian Persch <chpe@cvs.gnome.org>
* lib/ephy-langs.h:
* data/glade/prefs-dialog.glade:
* src/prefs-dialog.c: (autodetector_info_free), (prefs_dialog_finalize),
(get_current_language_code), (setup_font_menu), (setup_size_control),
(fonts_language_info_cmp), (create_fonts_language_menu),
(autodetect_encoding_menu_changed_cb), (autodetector_info_cmp),
(find_autodetector_info), (create_encoding_autodetectors_menu),
(prefs_dialog_init):
Sort the lists of encoding autodetectors and of fonts languages.
* data/epiphany.schemas.in:
Document the possible values for the encoding autodetectors.
* embed/mozilla/mozilla-notifiers.cpp: (mozilla_notifiers_init),
(mozilla_default_encoding_notifier),
(mozilla_autodetect_encoding_notifier):
Adapted for the changes in the prefs dialog.
The default encoding notifier now propagates the setting to mozilla :)
Diffstat (limited to 'embed')
-rw-r--r-- | embed/mozilla/mozilla-notifiers.cpp | 61 |
1 files changed, 26 insertions, 35 deletions
diff --git a/embed/mozilla/mozilla-notifiers.cpp b/embed/mozilla/mozilla-notifiers.cpp index de02d9a38..a84bacc75 100644 --- a/embed/mozilla/mozilla-notifiers.cpp +++ b/embed/mozilla/mozilla-notifiers.cpp @@ -387,7 +387,7 @@ mozilla_notifiers_init(EphyEmbedSingle *single) } /* fonts notifiers */ - for (i = 0; i < n_lang_encode_items; i++) + for (i = 0; i < n_fonts_languages; i++) { guint k; char *types [] = { "serif", "sans-serif", "cursive", "fantasy", "monospace" }; @@ -396,33 +396,33 @@ mozilla_notifiers_init(EphyEmbedSingle *single) for (k = 0; k < G_N_ELEMENTS (types); k++) { - info = g_strconcat (types[k], ".", lang_encode_item[i], NULL); + info = g_strconcat (types[k], ".", fonts_language[i].code, NULL); - sprintf (key, "%s_%s_%s", CONF_RENDERING_FONT, + snprintf (key, 255, "%s_%s_%s", CONF_RENDERING_FONT, types[k], - lang_encode_item[i]); + fonts_language[i].code); add_notification_and_notify (client, key, (GConfClientNotifyFunc)mozilla_font_notifier, info); font_infos = g_list_append (font_infos, info); } - sprintf (key, "%s_%s", CONF_RENDERING_FONT_MIN_SIZE, lang_encode_item[i]); - info = g_strconcat ("minimum-size", ".", lang_encode_item[i], NULL); + snprintf (key, 255, "%s_%s", CONF_RENDERING_FONT_MIN_SIZE, fonts_language[i].code); + info = g_strconcat ("minimum-size", ".", fonts_language[i].code, NULL); add_notification_and_notify (client, key, (GConfClientNotifyFunc)mozilla_font_size_notifier, info); font_infos = g_list_append (font_infos, info); - sprintf (key, "%s_%s", CONF_RENDERING_FONT_FIXED_SIZE, lang_encode_item[i]); - info = g_strconcat ("size.fixed", ".", lang_encode_item[i], NULL); + snprintf (key, 255, "%s_%s", CONF_RENDERING_FONT_FIXED_SIZE, fonts_language[i].code); + info = g_strconcat ("size.fixed", ".", fonts_language[i].code, NULL); add_notification_and_notify (client, key, (GConfClientNotifyFunc)mozilla_font_size_notifier, info); font_infos = g_list_append (font_infos, info); - sprintf (key, "%s_%s", CONF_RENDERING_FONT_VAR_SIZE, lang_encode_item[i]); - info = g_strconcat ("size.variable", ".", lang_encode_item[i], NULL); + snprintf (key, 255, "%s_%s", CONF_RENDERING_FONT_VAR_SIZE, fonts_language[i].code); + info = g_strconcat ("size.variable", ".", fonts_language[i].code, NULL); add_notification_and_notify (client, key, (GConfClientNotifyFunc)mozilla_font_size_notifier, info); @@ -532,7 +532,14 @@ mozilla_default_encoding_notifier(GConfClient *client, GConfEntry *entry, EphyEmbedSingle *single) { - /* FIXME */ + gchar *encoding; + + encoding = eel_gconf_get_string (CONF_LANGUAGE_DEFAULT_ENCODING); + if (encoding == NULL) encoding = g_strdup ("ISO-8859-1"); + + mozilla_prefs_set_string ("intl.charset.default", encoding); + + g_free (encoding); } @@ -633,36 +640,20 @@ mozilla_language_notifier(GConfClient *client, g_slist_free (languages); } -static char *autodetect_encoding_prefs[] = -{ - "", - "zh_parallel_state_machine", - "cjk_parallel_state_machine", - "ja_parallel_state_machine", - "ko_parallel_state_machine", - "ruprob", - "zhcn_parallel_state_machine", - "zhtw_parallel_state_machine", - "ukprob" -}; - static void mozilla_autodetect_encoding_notifier(GConfClient *client, guint cnxn_id, GConfEntry *entry, EphyEmbedSingle *single) { - int encoding = eel_gconf_get_integer (CONF_LANGUAGE_AUTODETECT_ENCODING); - if (encoding < 0 || - encoding >= (int)(sizeof(autodetect_encoding_prefs) - / sizeof(autodetect_encoding_prefs[0]))) - { - g_warning ("mozilla_autodetect_encoding_notifier: " - "unsupported value: %d", encoding); - return; - } - mozilla_prefs_set_string ("intl.charset.detector", - autodetect_encoding_prefs[encoding]); + gchar *detector; + + detector = eel_gconf_get_string (CONF_LANGUAGE_AUTODETECT_ENCODING); + if (detector == NULL) detector = g_strdup (""); // Off + + mozilla_prefs_set_string ("intl.charset.detector", detector); + + g_free (detector); } static void |