diff -Nur galeon-0.10.4.bak/src/galeon.h galeon-0.10.4/src/galeon.h
--- galeon-0.10.4.bak/src/galeon.h Fri Apr 6 20:13:09 2001
+++ galeon-0.10.4/src/galeon.h Sat Apr 21 01:56:33 2001
@@ -161,6 +161,8 @@
#define CONTEXT_OTHER 64
#define CONTEXT_XUL 128
+#define LANG_ENC_NUM 15
+
/* key pressed char codes */
enum
{
diff -Nur galeon-0.10.4.bak/src/mozilla_i18n.c galeon-0.10.4/src/mozilla_i18n.c
--- galeon-0.10.4.bak/src/mozilla_i18n.c Wed Mar 28 18:21:17 2001
+++ galeon-0.10.4/src/mozilla_i18n.c Sat Apr 21 01:56:33 2001
@@ -90,7 +90,45 @@
N_("x-imap4-modified-utf7"),
N_("x-u-escaped")
};
-
+
+const gchar *lang_encode_name[LANG_ENC_NUM] =
+{
+ N_("Western"),
+ N_("Central European"),
+ N_("Japanese"),
+ N_("Traditional Chinese"),
+ N_("Simplified Chinese"),
+ N_("Korean"),
+ N_("Cyrillic"),
+ N_("Baltic"),
+ N_("Greek"),
+ N_("Turkish"),
+ N_("Unicode"),
+ N_("User Defined"),
+ N_("Thai"),
+ N_("Hebrew"),
+ N_("Arabic")
+};
+
+const gchar *lang_encode_item[LANG_ENC_NUM] =
+{
+ "x-western",
+ "x-central-euro",
+ "ja",
+ "zh-TW",
+ "zh-CN",
+ "ko",
+ "x-cyrillic",
+ "x-baltic",
+ "el",
+ "tr",
+ "x-unicode",
+ "x-user-def",
+ "th",
+ "he",
+ "ar"
+};
+
gint
get_lgroups_count(void)
{
diff -Nur galeon-0.10.4.bak/src/mozilla_prefs.c galeon-0.10.4/src/mozilla_prefs.c
--- galeon-0.10.4.bak/src/mozilla_prefs.c Sun Apr 1 04:14:20 2001
+++ galeon-0.10.4/src/mozilla_prefs.c Sat Apr 21 01:56:33 2001
@@ -46,6 +46,9 @@
void mozilla_prefs_set_wheel_mouse (void);
char * get_bracketed_string (char *str);
+extern const gchar *lang_encode_name[LANG_ENC_NUM];
+extern const gchar *lang_encode_item[LANG_ENC_NUM];
+
/**
* mozilla_prefs_set: set mozilla preferences
*/
@@ -182,33 +185,65 @@
void
mozilla_prefs_set_fonts (void)
{
+ const gchar *default_font_name = "adobe-times-medium-r-normal-*-14-*-*-*-p-*-iso8859-1";
+ const gchar *default_font_size = "14";
+ const gchar *default_font_type = "0";
+ const gchar *pref_key_prefix[5] =
+ {
+ "/galeon/Appearance/serif_font",
+ "/galeon/Appearance/sansserif_font",
+ "/galeon/Appearance/monospace_font",
+ "/galeon/Appearance/size_font",
+ "/galeon/Appearance/default_font"
+ };
+
gchar *serif_font, *sansserif_font, *monospace_font, *default_font[2] = {"sans-serif","serif"};
- gchar **font;
- int size_font,default_font_idx;
+ gchar **font, buf[128];
+ int size_font,default_font_idx,i;
- serif_font = gnome_config_get_string ("/galeon/Appearance/serif_font=-adobe-times-medium-r-normal-*-14-*-*-*-p-*-iso8859-1");
- sansserif_font = gnome_config_get_string ("/galeon/Appearance/sansserif_font=-adobe-times-medium-r-normal-*-14-*-*-*-p-*-iso8859-1");
- monospace_font = gnome_config_get_string ("/galeon/Appearance/monospace_font=-adobe-times-medium-r-normal-*-14-*-*-*-p-*-iso8859-1");
- size_font = gnome_config_get_int ("/galeon/Appearance/size_font=14");
- default_font_idx = gnome_config_get_int("/galeon/Appearance/default_font=0");
-
- font = g_strsplit (serif_font,"-",-1);
- mozilla_preference_set ("font.name.serif.x-western",g_strconcat(font[1],"-",font[2],"-",font[13],
- "-",font[14],NULL));
- g_strfreev(font);
-
- font = g_strsplit (sansserif_font,"-",-1);
- mozilla_preference_set ("font.name.sans-serif.x-western",g_strconcat(font[1],"-",font[2],"-",font[13],
- "-",font[14],NULL));
- g_strfreev(font);
-
- font = g_strsplit (monospace_font,"-",-1);
- mozilla_preference_set ("font.name.monospace.x-western",g_strconcat(font[1],"-",font[2],"-",font[13],
- "-",font[14],NULL));
- mozilla_preference_set_int ("font.size.fixed.x-western",atoi(font[7]));
- g_strfreev(font);
+ for ( i = 0; i < LANG_ENC_NUM; i++) {
+ g_snprintf (buf, 128, "%s_%s=%s", pref_key_prefix[0],
+ lang_encode_item[i], default_font_name);
+ serif_font = gnome_config_get_string (buf);
+
+ g_snprintf (buf, 128, "%s_%s=%s", pref_key_prefix[1],
+ lang_encode_item[i], default_font_name);
+ sansserif_font = gnome_config_get_string (buf);
+
+ g_snprintf (buf, 128, "%s_%s=%s", pref_key_prefix[2],
+ lang_encode_item[i], default_font_name);
+ monospace_font = gnome_config_get_string (buf);
+
+ g_snprintf (buf, 128, "%s_%s=%s", pref_key_prefix[3],
+ lang_encode_item[i], default_font_size);
+ size_font = gnome_config_get_int (buf);
+
+ g_snprintf (buf, 128, "%s=%s", pref_key_prefix[4], default_font_type);
+ default_font_idx = gnome_config_get_int(buf);
+
+ font = g_strsplit (serif_font,"-",-1);
+ g_snprintf (buf, 128, "font.name.serif.%s", lang_encode_item[i]);
+ mozilla_preference_set (buf, g_strconcat(font[1],"-",font[2],"-",font[13],
+ "-",font[14],NULL));
+ g_strfreev(font);
+
+ font = g_strsplit (sansserif_font,"-",-1);
+ g_snprintf (buf, 128, "font.name.sans-serif.%s", lang_encode_item[i]);
+ mozilla_preference_set (buf, g_strconcat(font[1],"-",font[2],"-",font[13],
+ "-",font[14],NULL));
+ g_strfreev(font);
+
+ font = g_strsplit (monospace_font,"-",-1);
+ g_snprintf (buf, 128, "font.name.monospace.%s", lang_encode_item[i]);
+ mozilla_preference_set (buf, g_strconcat(font[1],"-",font[2],"-",font[13],
+ "-",font[14],NULL));
+ g_snprintf (buf, 128, "font.size.fixed.%s", lang_encode_item[i]);
+ mozilla_preference_set_int (buf,atoi(font[7]));
+ g_strfreev(font);
- mozilla_preference_set_int ("font.size.variable.x-western",size_font);
+ g_snprintf (buf, 128, "font.size.variable.%s", lang_encode_item[i]);
+ mozilla_preference_set_int (buf,size_font);
+ }
mozilla_preference_set ("font.default",default_font[default_font_idx]);
}
diff -Nur galeon-0.10.4.bak/src/prefs.c galeon-0.10.4/src/prefs.c
--- galeon-0.10.4.bak/src/prefs.c Sat Apr 7 21:48:14 2001
+++ galeon-0.10.4/src/prefs.c Sat Apr 21 01:56:33 2001
@@ -89,6 +89,7 @@
GtkWidget *no_proxies_for_entry;
GtkWidget *disk_cache_entry;
GtkWidget *mem_cache_entry;
+ GtkWidget *lang_encode;
GtkWidget *serif_font_fpicker;
GtkWidget *sansserif_font_fpicker;
GtkWidget *monospace_font_fpicker;
@@ -192,6 +193,10 @@
void mouse_wheel_controls_set_sensitive (GtkWidget *widget, wheel_mod_key key,
gboolean sensitive);
static void prefs_dialog_save_geometry (void);
+void cb_reset_font_picker (GtkWidget *widget, gpointer data);
+
+extern const gchar *lang_encode_name[LANG_ENC_NUM];
+extern const gchar *lang_encode_item[LANG_ENC_NUM];
/**
@@ -611,6 +616,12 @@
void
preferences_set_config_to_dialog (GtkWidget *widget)
{
+ gchar buf[128];
+ GtkWidget *menu;
+ GList *list;
+ gpointer item;
+ gint index;
+
preferences_widgets pw;
/* lookup all the widgets */
@@ -672,12 +683,25 @@
set_config_from_togglebutton(pw.tabbed_prefix_check, "tabbed_prefix");
set_config_from_optionmenu(pw.location_optionmenu, "url_location");
set_config_from_optionmenu(pw.toolbar_optionmenu, "toolbar_type");
- set_config_from_fontpicker(pw.serif_font_fpicker, "serif_font");
- set_config_from_fontpicker(pw.sansserif_font_fpicker,
- "sansserif_font");
- set_config_from_fontpicker(pw.monospace_font_fpicker,
- "monospace_font");
- set_config_from_spin_button(pw.size_font_spin, "size_font");
+ set_config_from_optionmenu(pw.lang_encode, "lang_encode");
+
+ menu = GTK_OPTION_MENU(pw.lang_encode)->menu;
+ list = GTK_MENU_SHELL(menu)->children;
+ item = gtk_menu_get_active (GTK_MENU(menu));
+ index = g_list_index (list, item);
+
+ g_snprintf (buf, 128, "serif_font_%s", lang_encode_item[index]);
+ set_config_from_fontpicker(pw.serif_font_fpicker, buf);
+
+ g_snprintf (buf, 128, "sansserif_font_%s", lang_encode_item[index]);
+ set_config_from_fontpicker(pw.sansserif_font_fpicker, buf);
+
+ g_snprintf (buf, 128, "monospace_font_%s", lang_encode_item[index]);
+ set_config_from_fontpicker(pw.monospace_font_fpicker, buf);
+
+ g_snprintf (buf, 128, "size_font_%s", lang_encode_item[index]);
+ set_config_from_spin_button(pw.size_font_spin, buf);
+
set_config_from_optionmenu(pw.use_provided_fonts_optionmenu,
"use_provided_fonts");
set_config_from_optionmenu(pw.default_font_optionmenu, "default_font");
@@ -817,7 +841,11 @@
void
preferences_set_dialog_to_config(GtkWidget *widget)
{
- preferences_widgets pw;
+ GtkWidget *menu, *menu_item;
+ gchar buf[128];
+ int i;
+
+ preferences_widgets pw;
gint smart_bm_entry_width;
/* lookup all the widgets */
@@ -886,13 +914,34 @@
"tabbed_prefix=TRUE");
set_optionmenu_from_config(pw.location_optionmenu, "url_location=1");
set_optionmenu_from_config(pw.toolbar_optionmenu, "toolbar_type=2");
- set_fontpicker_from_config(pw.serif_font_fpicker,
- "serif_font=-*-times-medium-r-normal-*-14-*-*-*-*-*-*-*");
- set_fontpicker_from_config(pw.sansserif_font_fpicker,
- "sansserif_font=-*-helvetica-medium-r-normal-*-14-*-*-*-*-*-*-*");
- set_fontpicker_from_config(pw.monospace_font_fpicker,
- "monospace_font=-*-courier-medium-r-normal-*-14-*-*-*-*-*-*-*");
- set_spin_button_from_config(pw.size_font_spin, "size_font=14");
+
+ menu = gtk_menu_new();
+ for ( i = 0; i < LANG_ENC_NUM; i++ ) {
+ menu_item = gtk_menu_item_new_with_label (gettext(lang_encode_name[i]));
+ gtk_menu_append (GTK_MENU(menu), menu_item);
+ gtk_signal_connect( GTK_OBJECT(menu_item), "activate",
+ GTK_SIGNAL_FUNC(cb_reset_font_picker), GINT_TO_POINTER(i));
+ gtk_widget_show (menu_item);
+ }
+ gtk_option_menu_set_menu ( GTK_OPTION_MENU (pw.lang_encode), menu );
+ set_optionmenu_from_config(pw.lang_encode, "lang_encode=0");
+
+ i = gnome_config_get_int("lang_encode=0");
+ g_snprintf (buf, 128, "serif_font_%s=-*-times-medium-r-normal-*-14-*-*-*-*-*-*-*",
+ lang_encode_item[i]);
+ set_fontpicker_from_config(pw.serif_font_fpicker, buf);
+
+ g_snprintf (buf, 128, "sansserif_font_%s=-*-helvetica-medium-r-normal-*-14-*-*-*-*-*-*-*",
+ lang_encode_item[i]);
+ set_fontpicker_from_config(pw.sansserif_font_fpicker, buf);
+
+ g_snprintf (buf, 128, "monospace_font_%s=-*-courier-medium-r-normal-*-14-*-*-*-*-*-*-*",
+ lang_encode_item[i]);
+ set_fontpicker_from_config(pw.monospace_font_fpicker, buf);
+
+ g_snprintf (buf, 128, "size_font_%s=14", lang_encode_item[i]);
+ set_spin_button_from_config(pw.size_font_spin, buf);
+
set_optionmenu_from_config(pw.use_provided_fonts_optionmenu,
"use_provided_fonts=1");
set_optionmenu_from_config(pw.default_font_optionmenu,
@@ -1279,6 +1328,7 @@
ftp_proxy_port_spin: Q("ftp_proxy_port_spin"),
disk_cache_entry: Q("disk_cache_entry"),
mem_cache_entry: Q("mem_cache_entry"),
+lang_encode: Q("lang_encode"),
serif_font_fpicker: Q("serif_font_fpicker"),
sansserif_font_fpicker: Q("sansserif_font_fpicker"),
monospace_font_fpicker: Q("monospace_font_fpicker"),
@@ -1832,3 +1882,35 @@
gnome_config_sync();
}
+void
+cb_reset_font_picker (GtkWidget *widget, gpointer data)
+{
+ int i;
+ gchar buf[128];
+ preferences_widgets pw;
+ const gchar *default_font [3] =
+ {
+ "-*-times-medium-r-normal-*-14-*-*-*-*-*-*-*",
+ "-*-helvetica-medium-r-normal-*-14-*-*-*-*-*-*-*",
+ "-*-courier-medium-r-normal-*-14-*-*-*-*-*-*-*"
+ };
+
+ preferences_lookup_widgets(prefs, &pw);
+
+ i = (gint) data;
+ //gnome_config_set_int ("lang_encode", i);
+ g_snprintf (buf, 128, "/galeon/Appearance/serif_font_%s=%s",
+ lang_encode_item[i], default_font[0]);
+ set_fontpicker_from_config(pw.serif_font_fpicker, buf);
+
+ g_snprintf (buf, 128, "/galeon/Appearance/sansserif_font_%s=%s",
+ lang_encode_item[i], default_font[1]);
+ set_fontpicker_from_config(pw.sansserif_font_fpicker, buf);
+
+ g_snprintf (buf, 128, "/galeon/Appearance/monospace_font_%s=%s",
+ lang_encode_item[i], default_font[2]);
+ set_fontpicker_from_config(pw.monospace_font_fpicker, buf);
+
+ g_snprintf (buf, 128, "/galeon/Appearance/size_font_%s=14", lang_encode_item[i]);
+ set_spin_button_from_config(pw.size_font_spin, buf);
+}
diff -Nur galeon-0.10.4.bak/ui/galeon.glade galeon-0.10.4/ui/galeon.glade
--- galeon-0.10.4.bak/ui/galeon.glade Sat Apr 7 14:55:14 2001
+++ galeon-0.10.4/ui/galeon.glade Sat Apr 21 01:56:54 2001
@@ -4073,10 +4073,57 @@
table6
5
5
- 4
+ 5
False
5
- 5
+ 6
+
+
+ GtkLabel
+ label1000
+
+ GTK_JUSTIFY_CENTER
+ False
+ 0.5
+ 0.5
+ 0
+ 0
+
+ 0
+ 1
+ 0
+ 1
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ False
+
+
+
+
+ GtkOptionMenu
+ lang_encode
+ True
+ 0
+
+ 1
+ 2
+ 0
+ 1
+ 0
+ 0
+ True
+ False
+ True
+ False
+ True
+ False
+
+
GnomeFontPicker
@@ -4095,13 +4142,13 @@
AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
GNOME_FONT_PICKER_MODE_FONT_INFO
False
- True
+ False
14
1
2
- 0
- 1
+ 1
+ 2
0
0
True
@@ -4129,13 +4176,13 @@
AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
GNOME_FONT_PICKER_MODE_FONT_INFO
False
- True
+ False
14
1
2
- 1
- 2
+ 2
+ 3
0
0
True
@@ -4160,8 +4207,8 @@
0
1
- 3
- 4
+ 4
+ 5
0
0
False
@@ -4186,8 +4233,8 @@
0
1
- 1
- 2
+ 2
+ 3
0
0
False
@@ -4212,8 +4259,8 @@
0
1
- 0
- 1
+ 1
+ 2
0
0
False
@@ -4238,8 +4285,8 @@
0
1
- 2
- 3
+ 3
+ 4
0
0
False
@@ -4264,8 +4311,8 @@
2
3
- 0
- 2
+ 1
+ 3
0
0
False
@@ -4296,8 +4343,8 @@
3
4
- 0
- 2
+ 1
+ 3
0
0
False
@@ -4324,13 +4371,13 @@
AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
GNOME_FONT_PICKER_MODE_FONT_INFO
True
- True
+ False
14
1
4
- 2
- 3
+ 3
+ 4
0
0
True
@@ -4353,8 +4400,8 @@
1
4
- 3
- 4
+ 4
+ 5
0
0
True
@@ -4377,8 +4424,8 @@
1
4
- 4
- 5
+ 5
+ 6
0
0
True