svnno****@sourc*****
svnno****@sourc*****
Fri Mar 23 10:50:27 JST 2007
Revision: 2965 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=kazehakase&view=rev&rev=2965 Author: ikezoe Date: 2007-03-23 10:50:26 +0900 (Fri, 23 Mar 2007) Log Message: ----------- * src/prefs_ui/prefs_font.c: Use KZ_CONF_SET_XX instead of kz_embed_prefs_xx(). * src/embed/gecko/kz-gecko-single.cpp: Handle "Font::changed" signal. Modified Paths: -------------- kazehakase/trunk/ChangeLog kazehakase/trunk/module/embed/gecko/kz-gecko-single.cpp kazehakase/trunk/src/prefs_ui/prefs_font.c Modified: kazehakase/trunk/ChangeLog =================================================================== --- kazehakase/trunk/ChangeLog 2007-03-23 00:50:43 UTC (rev 2964) +++ kazehakase/trunk/ChangeLog 2007-03-23 01:50:26 UTC (rev 2965) @@ -6,6 +6,10 @@ * module/embed/gecko/mozilla.[ch], module/embed/gecko/kz-gecko-single.cpp: Some functions were moved in KzGeckoSingle. + * src/prefs_ui/prefs_font.c: Use KZ_CONF_SET_XX instead of + kz_embed_prefs_xx(). + * src/embed/gecko/kz-gecko-single.cpp: Handle "Font::changed" + signal. 2007-03-22 Kouhei Sutou <kou****@cozmi*****> Modified: kazehakase/trunk/module/embed/gecko/kz-gecko-single.cpp =================================================================== --- kazehakase/trunk/module/embed/gecko/kz-gecko-single.cpp 2007-03-23 00:50:43 UTC (rev 2964) +++ kazehakase/trunk/module/embed/gecko/kz-gecko-single.cpp 2007-03-23 01:50:26 UTC (rev 2965) @@ -63,11 +63,16 @@ static void set_user_agent (KzProfile *profile); -static void cb_profile_changed (KzProfile *profile, - const gchar *section, - const gchar *key, - const gchar *old_value, - gpointer data); +static void cb_global_profile_changed (KzProfile *profile, + const gchar *section, + const gchar *key, + const gchar *old_value, + gpointer data); +static void cb_font_profile_changed (KzProfile *profile, + const gchar *section, + const gchar *key, + const gchar *old_value, + gpointer data); static KzGeckoSingle *the_kz_gecko_single = NULL; @@ -130,7 +135,9 @@ set_user_agent(profile); g_signal_connect(profile, "changed::Global", - G_CALLBACK(cb_profile_changed), NULL); + G_CALLBACK(cb_global_profile_changed), NULL); + g_signal_connect(profile, "changed::Font", + G_CALLBACK(cb_font_profile_changed), NULL); mozilla_register_components(); } @@ -261,13 +268,103 @@ mozilla_prefs_set_string("general.useragent.override", tmp_string); } +static gchar * +convert_key_name (const gchar *key) +{ + gint i = 0; + gchar *ret; + + ret = g_strdup(key); + + while (ret[i] != '\0') + { + switch (ret[i]) + { + case '_': + ret[i] = '.'; + break; + } + i++; + } + + return ret; +} + static void -cb_profile_changed (KzProfile *profile, - const gchar *section, - const gchar *key, - const gchar *old_value, - gpointer data) +cb_font_profile_changed (KzProfile *profile, + const gchar *section, + const gchar *key, + const gchar *old_value, + gpointer data) { + gchar *converted_key; + + switch (key[0]) + { + case 'd': // default font style. ie. Sans-serif or Serif or Monospace. + if (!strcmp(key, "default")) + { + gchar value[1024]; + kz_profile_get_value(profile, "Font", key, + &value, G_N_ELEMENTS(value), + KZ_PROFILE_VALUE_TYPE_STRING); + mozilla_prefs_set_string(converted_key, value); + } + break; + case 'l': // language group + if (!strcmp(key, "language_group")) + { + gchar value[1024]; + kz_profile_get_value(profile, "Font", key, + &value, G_N_ELEMENTS(value), + KZ_PROFILE_VALUE_TYPE_STRING); + converted_key = convert_key_name(key); + mozilla_prefs_set_string(converted_key, value); + g_free(converted_key); + } + break; + case 'n': // name_XX + if (g_str_has_prefix(key, "name_serif_") || + g_str_has_prefix(key, "name_sans-serif_") || + g_str_has_prefix(key, "name_monospace")) + { + gchar value[1024]; + kz_profile_get_value(profile, "Font", key, + &value, G_N_ELEMENTS(value), + KZ_PROFILE_VALUE_TYPE_STRING); + converted_key = convert_key_name(key); + mozilla_prefs_set_string(converted_key, value); + g_free(converted_key); + } + break; + case 'm': // min_size + case 's': // size + if (g_str_has_prefix(key, "size_variable_") || + g_str_has_prefix(key, "size_fixed_") || + g_str_has_prefix(key, "min_size_variable_") || + g_str_has_prefix(key, "min_size_fixed_")) + { + gint value; + kz_profile_get_value(profile, "Font", key, + &value, sizeof(value), + KZ_PROFILE_VALUE_TYPE_INT); + converted_key = convert_key_name(key); + mozilla_prefs_set_int(converted_key, value); + g_free(converted_key); + } + break; + default: + break; + } +} + +static void +cb_global_profile_changed (KzProfile *profile, + const gchar *section, + const gchar *key, + const gchar *old_value, + gpointer data) +{ gchar tmp_string[1024]; gboolean value = FALSE; @@ -281,7 +378,9 @@ break; case 'p': if (strcmp(key, "proxy_name") == 0 && - KZ_CONF_GET(section, key, tmp_string, STRING)) + kz_profile_get_value(profile, "Global", key, + &tmp_string, G_N_ELEMENTS(tmp_string), + KZ_PROFILE_VALUE_TYPE_STRING)) { KzProxyItem *item = kz_proxy_find(tmp_string); if (item) { @@ -292,7 +391,9 @@ break; case 'u': // user_agent or use_proxy if (strcmp(key, "use_proxy") == 0 && - KZ_CONF_GET(section, key, value, BOOL)) + kz_profile_get_value(profile, "Global", key, + &value, sizeof(gboolean), + KZ_PROFILE_VALUE_TYPE_BOOL)) { mozilla_prefs_set_use_proxy(value); } @@ -301,6 +402,8 @@ set_user_agent(profile); } break; + default: + break; } } Modified: kazehakase/trunk/src/prefs_ui/prefs_font.c =================================================================== --- kazehakase/trunk/src/prefs_ui/prefs_font.c 2007-03-23 00:50:43 UTC (rev 2964) +++ kazehakase/trunk/src/prefs_ui/prefs_font.c 2007-03-23 01:50:26 UTC (rev 2965) @@ -783,7 +783,6 @@ { GList *node; guint i; - KzEmbedPrefs *embed_prefs = NULL; g_return_if_fail(prefsui); @@ -798,94 +797,58 @@ if (pref->serif) { - /* - g_snprintf(key, keysize, "serif_%s", + g_snprintf(key, keysize, "name_serif_%s", pref->lang); KZ_CONF_SET_STR("Font", key, pref->serif); - */ - g_snprintf(key, keysize, "font.name.serif.%s", - pref->lang); - kz_embed_prefs_set_string(embed_prefs, key, pref->serif); } if (pref->sans_serif) { - /* - g_snprintf(key, keysize, "sans_serif_%s", + g_snprintf(key, keysize, "name_sans-serif_%s", pref->lang); - KZ_CONF_SET_STR("Font", key, pref->serif); - */ - g_snprintf(key, keysize, "font.name.sans-serif.%s", - pref->lang); - kz_embed_prefs_set_string(embed_prefs, key, pref->sans_serif); + KZ_CONF_SET_STR("Font", key, pref->sans_serif); } if (pref->monospace) { - /* - g_snprintf(key, keysize, "monospace_%s", + g_snprintf(key, keysize, "name_monospace_%s", pref->lang); - KZ_CONF_SET_STR("Font", key, pref->serif); - */ - g_snprintf(key, keysize, "font.name.monospace.%s", - pref->lang); - kz_embed_prefs_set_string(embed_prefs, key, pref->monospace); + KZ_CONF_SET_STR("Font", key, pref->monospace); } if (pref->variable_size) { - /* g_snprintf(key, keysize, "size_variable_%s", pref->lang); - KZ_CONF_SET_STR("Font", key, pref->serif); - */ - g_snprintf(key, keysize, "font.size.variable.%s", - pref->lang); - kz_embed_prefs_set_int(embed_prefs, key, pref->variable_size); + KZ_CONF_SET("Font", key, pref->variable_size, INT); } if (pref->fixed_size) { - /* g_snprintf(key, keysize, "size_fixed_%s", pref->lang); - KZ_CONF_SET_STR("Font", key, pref->serif); - */ - g_snprintf(key, keysize, "font.size.fixed.%s", - pref->lang); - kz_embed_prefs_set_int(embed_prefs, key, pref->fixed_size); + KZ_CONF_SET("Font", key, pref->fixed_size, INT); } if (pref->min_size) { - /* - g_snprintf(key, keysize, "min_size_%s", + g_snprintf(key, keysize, "min_size_variable_%s", pref->lang); - KZ_CONF_SET("Font", key, pref->min_size, pref->min_size); - */ - g_snprintf(key, keysize, "font.min-size.variable.%s", + KZ_CONF_SET("Font", key, pref->min_size, INT); + + g_snprintf(key, keysize, "min_size_fixed_%s", pref->lang); - kz_embed_prefs_set_int(embed_prefs, key, pref->min_size); - g_snprintf(key, keysize, "font.min-size.fixed.%s", - pref->lang); - kz_embed_prefs_set_int(embed_prefs, key, pref->min_size); + KZ_CONF_SET("Font", key, pref->min_size, INT); } } - /* - KZ_CONF_SET_STR("Font", "default", font_styles[i].style); - */ i = gtk_combo_box_get_active(prefsui->propotional_menu); if (i >= 0 && i < n_font_styles) - kz_embed_prefs_set_string(embed_prefs, "font.default", font_styles[i].style); + KZ_CONF_SET_STR("Font", "default", font_styles[i].style); - /* - KZ_CONF_SET_STR("Font", "language_group", font_lcanguage[i].code); - */ i = gtk_combo_box_get_active(prefsui->lang_option_menu); if (i >= 0 && i < n_fonts_languages) - kz_embed_prefs_set_string(embed_prefs, "font.language.group", - fonts_language[i].code); + KZ_CONF_SET_STR("Font", "language_group", fonts_language[i].code); }