diff options
-rw-r--r-- | ChangeLog | 32 | ||||
-rw-r--r-- | data/epiphany.schemas.in | 11 | ||||
-rw-r--r-- | data/glade/prefs-dialog.glade | 3670 | ||||
-rw-r--r-- | lib/ephy-prefs.h | 1 | ||||
-rw-r--r-- | src/Makefile.am | 4 | ||||
-rwxr-xr-x | src/appearance-prefs.c | 453 | ||||
-rw-r--r-- | src/appearance-prefs.h | 58 | ||||
-rw-r--r-- | src/ephy-shell.c | 16 | ||||
-rw-r--r-- | src/ephy-tab.c | 16 | ||||
-rwxr-xr-x | src/general-prefs.c | 493 | ||||
-rw-r--r-- | src/prefs-dialog.c | 854 | ||||
-rw-r--r-- | src/prefs-dialog.h | 20 | ||||
-rw-r--r-- | src/window-commands.c | 10 |
13 files changed, 2591 insertions, 3047 deletions
@@ -1,5 +1,37 @@ 2003-05-10 Marco Pesenti Gritti <marco@it.gnome.org> + * data/epiphany.schemas.in: + * data/glade/prefs-dialog.glade: + * lib/ephy-prefs.h: + * src/Makefile.am: + * src/ephy-shell.c: (ephy_shell_new_window_cb): + * src/ephy-tab.c: (ephy_tab_new_window_cb): + * src/prefs-dialog.c: (prefs_dialog_get_type), (prefs_dialog_new), + (prefs_dialog_show_help), (setup_font_menu), (save_font_menu), + (font_entry_changed_cb), (attach_font_signal), + (attach_fonts_signals), (size_spinbutton_changed_cb), + (attach_size_controls_signals), (setup_size_control), + (setup_size_controls), (setup_fonts), + (default_charset_menu_changed_cb), (find_charset_in_list_cmp), + (create_default_charset_menu), (general_prefs_new_language_menu), + (language_menu_changed_cb), (create_language_menu), + (set_homepage_entry), (prefs_dialog_init), + (prefs_dialog_response_cb), + (prefs_clear_disk_cache_button_clicked_cb), + (fonts_language_optionmenu_changed_cb), + (prefs_homepage_current_button_clicked_cb), + (prefs_homepage_blank_button_clicked_cb), (fill_language_editor), + (language_dialog_changed_cb), + (prefs_language_more_button_clicked_cb): + * src/prefs-dialog.h: + * src/window-commands.c: (window_cmd_edit_prefs): + + Rework prefs dialog ui a bit. Remove jumpto and tabbed_popups + prefs (jumpto is still in the schemas. + Remove the crazy page by page separation in the code. + +2003-05-10 Marco Pesenti Gritti <marco@it.gnome.org> + * embed/mozilla/mozilla-embed.cpp: Share signal emission for all dom mouse events, so diff --git a/data/epiphany.schemas.in b/data/epiphany.schemas.in index e3889073a..09717145c 100644 --- a/data/epiphany.schemas.in +++ b/data/epiphany.schemas.in @@ -150,17 +150,6 @@ </locale> </schema> <schema> - <key>/schemas/apps/epiphany/interface/popups_in_tab</key> - <applyto>/apps/epiphany/interface/popups_in_tab</applyto> - <owner>epiphany</owner> - <type>bool</type> - <default>false</default> - <locale name="C"> - <short>Open popups in tabs</short> - <long>Open popups in tabs instead of new windows.</long> - </locale> - </schema> - <schema> <key>/schemas/apps/epiphany/interface/jumpto_tab</key> <applyto>/apps/epiphany/interface/jumpto_tab</applyto> <owner>epiphany</owner> diff --git a/data/glade/prefs-dialog.glade b/data/glade/prefs-dialog.glade index 6aab71381..598d95707 100644 --- a/data/glade/prefs-dialog.glade +++ b/data/glade/prefs-dialog.glade @@ -4,94 +4,117 @@ <glade-interface> <requires lib="gnome"/> -<widget class="GtkWindow" id="general_page_dialog"> - <property name="visible">True</property> - <property name="title" translatable="yes">window1</property> +<widget class="GtkDialog" id="prefs_dialog"> + <property name="border_width">5</property> + <property name="title" translatable="yes">Preferences</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_NONE</property> <property name="modal">False</property> <property name="resizable">True</property> <property name="destroy_with_parent">False</property> + <property name="has_separator">False</property> + <signal name="response" handler="prefs_dialog_response_cb" last_modification_time="Sat, 10 May 2003 09:37:44 GMT"/> - <child> - <widget class="GtkVBox" id="general_page_box"> - <property name="border_width">12</property> + <child internal-child="vbox"> + <widget class="GtkVBox" id="dialog-vbox2"> <property name="visible">True</property> <property name="homogeneous">False</property> - <property name="spacing">18</property> + <property name="spacing">0</property> - <child> - <widget class="GtkVBox" id="vbox152"> + <child internal-child="action_area"> + <widget class="GtkHButtonBox" id="dialog-action_area2"> <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> + <property name="layout_style">GTK_BUTTONBOX_END</property> <child> - <widget class="GtkLabel" id="label1238"> + <widget class="GtkButton" id="helpbutton1"> <property name="visible">True</property> - <property name="label" translatable="yes"><b>Home page</b></property> - <property name="use_underline">True</property> - <property name="use_markup">True</property> - <property name="justify">GTK_JUSTIFY_CENTER</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="mnemonic_widget">homepage_entry</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-help</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="response_id">-11</property> </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> </child> <child> - <widget class="GtkHBox" id="hbox136"> + <widget class="GtkButton" id="closebutton1"> <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">0</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-close</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="response_id">-7</property> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> - <child> - <widget class="GtkLabel" id="label1239"> - <property name="visible">True</property> - <property name="label" translatable="yes"> </property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> + <child> + <widget class="GtkNotebook" id="prefs_notebook"> + <property name="border_width">5</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="show_tabs">True</property> + <property name="show_border">True</property> + <property name="tab_pos">GTK_POS_TOP</property> + <property name="scrollable">False</property> + <property name="enable_popup">False</property> + + <child> + <widget class="GtkVBox" id="general_page_box"> + <property name="border_width">12</property> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">18</property> <child> - <widget class="GtkVBox" id="vbox154"> + <widget class="GtkVBox" id="vbox152"> <property name="visible">True</property> <property name="homogeneous">False</property> <property name="spacing">6</property> <child> - <widget class="GtkHBox" id="hbox138"> + <widget class="GtkLabel" id="label1238"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Home page</b></property> + <property name="use_underline">True</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_CENTER</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">homepage_entry</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkHBox" id="hbox136"> <property name="visible">True</property> <property name="homogeneous">False</property> - <property name="spacing">12</property> + <property name="spacing">0</property> <child> - <widget class="GtkLabel" id="label1243"> + <widget class="GtkLabel" id="label1239"> <property name="visible">True</property> - <property name="label" translatable="yes">_Address:</property> - <property name="use_underline">True</property> + <property name="label" translatable="yes"> </property> + <property name="use_underline">False</property> <property name="use_markup">False</property> <property name="justify">GTK_JUSTIFY_LEFT</property> <property name="wrap">False</property> @@ -100,7 +123,6 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> - <property name="mnemonic_widget">homepage_entry</property> </widget> <packing> <property name="padding">0</property> @@ -110,16 +132,101 @@ </child> <child> - <widget class="GtkEntry" id="homepage_entry"> + <widget class="GtkVBox" id="vbox154"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">True</property> - <property name="visibility">True</property> - <property name="max_length">0</property> - <property name="text" translatable="yes"></property> - <property name="has_frame">True</property> - <property name="invisible_char" translatable="yes">*</property> - <property name="activates_default">False</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkHBox" id="hbox138"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkLabel" id="label1243"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Address:</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">homepage_entry</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="homepage_entry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">True</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes"></property> + <property name="has_frame">True</property> + <property name="invisible_char" translatable="yes">*</property> + <property name="activates_default">False</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkHButtonBox" id="hbuttonbox12"> + <property name="visible">True</property> + <property name="layout_style">GTK_BUTTONBOX_END</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkButton" id="button1"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Set to Current _Page</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <signal name="clicked" handler="prefs_homepage_current_button_clicked_cb"/> + </widget> + </child> + + <child> + <widget class="GtkButton" id="button9"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Set to _Blank Page</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <signal name="clicked" handler="prefs_homepage_blank_button_clicked_cb" last_modification_time="Tue, 14 May 2002 10:37:08 GMT"/> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> </widget> <packing> <property name="padding">0</property> @@ -130,43 +237,6 @@ </widget> <packing> <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkHButtonBox" id="hbuttonbox12"> - <property name="visible">True</property> - <property name="layout_style">GTK_BUTTONBOX_END</property> - <property name="spacing">6</property> - - <child> - <widget class="GtkButton" id="button1"> - <property name="visible">True</property> - <property name="can_default">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">Set to Current _Page</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <signal name="clicked" handler="prefs_homepage_current_button_clicked_cb"/> - </widget> - </child> - - <child> - <widget class="GtkButton" id="button9"> - <property name="visible">True</property> - <property name="can_default">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">Set to _Blank Page</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <signal name="clicked" handler="prefs_homepage_blank_button_clicked_cb" last_modification_time="Tue, 14 May 2002 10:37:08 GMT"/> - </widget> - </child> - </widget> - <packing> - <property name="padding">0</property> <property name="expand">True</property> <property name="fill">True</property> </packing> @@ -174,95 +244,30 @@ </widget> <packing> <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkVBox" id="vbox153"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="GtkLabel" id="label1240"> - <property name="visible">True</property> - <property name="label" translatable="yes"><b>On New Page</b></property> - <property name="use_underline">False</property> - <property name="use_markup">True</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkHBox" id="hbox137"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">0</property> - - <child> - <widget class="GtkLabel" id="label1241"> - <property name="visible">True</property> - <property name="label" translatable="yes"> </property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="padding">0</property> <property name="expand">False</property> <property name="fill">False</property> </packing> </child> <child> - <widget class="GtkVBox" id="vbox155"> + <widget class="GtkVBox" id="vbox153"> <property name="visible">True</property> <property name="homogeneous">False</property> <property name="spacing">6</property> <child> - <widget class="GtkRadioButton" id="new_page_show_homepage"> + <widget class="GtkLabel" id="label1240"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">Show hom_e page</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="active">False</property> - <property name="inconsistent">False</property> - <property name="draw_indicator">True</property> + <property name="label" translatable="yes"><b>On New Page</b></property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> </widget> <packing> <property name="padding">0</property> @@ -272,620 +277,318 @@ </child> <child> - <widget class="GtkRadioButton" id="radiobutton32"> + <widget class="GtkHBox" id="hbox137"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">Show la_st page</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="active">False</property> - <property name="inconsistent">False</property> - <property name="draw_indicator">True</property> - <property name="group">new_page_show_homepage</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> + <property name="homogeneous">False</property> + <property name="spacing">0</property> - <child> - <widget class="GtkRadioButton" id="radiobutton33"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">Show blan_k page</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="active">False</property> - <property name="inconsistent">False</property> - <property name="draw_indicator">True</property> - <property name="group">new_page_show_homepage</property> + <child> + <widget class="GtkLabel" id="label1241"> + <property name="visible">True</property> + <property name="label" translatable="yes"> </property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkVBox" id="vbox155"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkRadioButton" id="new_page_show_homepage"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Show hom_e page</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkRadioButton" id="radiobutton32"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Show la_st page</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <property name="group">new_page_show_homepage</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkRadioButton" id="radiobutton33"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Show blan_k page</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <property name="group">new_page_show_homepage</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> </widget> <packing> <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> + <property name="expand">True</property> + <property name="fill">True</property> </packing> </child> </widget> <packing> <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkVBox" id="vbox156"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">0</property> - - <child> - <widget class="GtkLabel" id="label1242"> - <property name="visible">True</property> - <property name="label" translatable="yes"><b>Language</b></property> - <property name="use_underline">True</property> - <property name="use_markup">True</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkTable" id="table85"> - <property name="border_width">12</property> - <property name="visible">True</property> - <property name="n_rows">3</property> - <property name="n_columns">3</property> - <property name="homogeneous">False</property> - <property name="row_spacing">6</property> - <property name="column_spacing">12</property> - - <child> - <widget class="GtkLabel" id="label1205"> - <property name="visible">True</property> - <property name="label" translatable="yes">Autodetec_t encoding:</property> - <property name="use_underline">True</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_CENTER</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">1</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="mnemonic_widget">autocharset_optionmenu</property> - </widget> - <packing> - <property name="left_attach">0</property> - <property name="right_attach">1</property> - <property name="top_attach">0</property> - <property name="bottom_attach">1</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="label1206"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Default encoding:</property> - <property name="use_underline">True</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_CENTER</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="mnemonic_widget">default_charset_optionmenu</property> - </widget> - <packing> - <property name="left_attach">0</property> - <property name="right_attach">1</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="label1208"> - <property name="visible">True</property> - <property name="label" translatable="yes">Lan_guage:</property> - <property name="use_underline">True</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="mnemonic_widget">language_optionmenu</property> - </widget> - <packing> - <property name="left_attach">0</property> - <property name="right_attach">1</property> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkOptionMenu" id="language_optionmenu"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="history">-1</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkOptionMenu" id="default_charset_optionmenu"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="history">-1</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">fill</property> - <property name="y_options"></property> + <property name="expand">False</property> + <property name="fill">False</property> </packing> </child> <child> - <widget class="GtkOptionMenu" id="autocharset_optionmenu"> + <widget class="GtkVBox" id="ui_page_box"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="history">0</property> + <property name="homogeneous">False</property> + <property name="spacing">18</property> - <child internal-child="menu"> - <widget class="GtkMenu" id="menu6"> + <child> + <widget class="GtkVBox" id="vbox159"> <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> <child> - <widget class="GtkMenuItem" id="menuitem39"> - <property name="visible">True</property> - <property name="label" translatable="yes">Off</property> - <property name="use_underline">True</property> - </widget> - </child> - - <child> - <widget class="GtkMenuItem" id="menuitem40"> - <property name="visible">True</property> - <property name="label" translatable="yes">Chinese</property> - <property name="use_underline">True</property> - </widget> - </child> - - <child> - <widget class="GtkMenuItem" id="menuitem41"> + <widget class="GtkLabel" id="label1252"> <property name="visible">True</property> - <property name="label" translatable="yes">East asian</property> - <property name="use_underline">True</property> + <property name="label" translatable="yes"><b>Tabs</b></property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> </child> <child> - <widget class="GtkMenuItem" id="menuitem42"> + <widget class="GtkHBox" id="hbox145"> <property name="visible">True</property> - <property name="label" translatable="yes">Japanese</property> - <property name="use_underline">True</property> - </widget> - </child> + <property name="homogeneous">False</property> + <property name="spacing">0</property> - <child> - <widget class="GtkMenuItem" id="menuitem43"> - <property name="visible">True</property> - <property name="label" translatable="yes">Korean</property> - <property name="use_underline">True</property> - </widget> - </child> + <child> + <widget class="GtkLabel" id="label1253"> + <property name="visible">True</property> + <property name="label" translatable="yes"> </property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> - <child> - <widget class="GtkMenuItem" id="menuitem44"> - <property name="visible">True</property> - <property name="label" translatable="yes">Russian</property> - <property name="use_underline">True</property> + <child> + <widget class="GtkVBox" id="vbox160"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkCheckButton" id="open_in_tabs_checkbutton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">_Open in tabs by default</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> - <child> - <widget class="GtkMenuItem" id="menuitem45"> - <property name="visible">True</property> - <property name="label" translatable="yes">Simplified Chinese</property> - <property name="use_underline">True</property> - </widget> - </child> + <child> + <widget class="GtkVBox" id="vbox183"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> <child> - <widget class="GtkMenuItem" id="menuitem46"> + <widget class="GtkHBox" id="hbox169"> <property name="visible">True</property> - <property name="label" translatable="yes">Traditional Chinese</property> - <property name="use_underline">True</property> - </widget> - </child> + <property name="homogeneous">False</property> + <property name="spacing">0</property> - <child> - <widget class="GtkMenuItem" id="menuitem47"> - <property name="visible">True</property> - <property name="label" translatable="yes">Ukrainian</property> - <property name="use_underline">True</property> + <child> + <widget class="GtkLabel" id="label1291"> + <property name="visible">True</property> + <property name="label" translatable="yes"> </property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> </child> </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> </child> </widget> <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">0</property> - <property name="bottom_attach">1</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkImage" id="image3"> - <property name="visible">True</property> - <property name="stock">gtk-select-font</property> - <property name="icon_size">6</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="left_attach">2</property> - <property name="right_attach">3</property> - <property name="top_attach">0</property> - <property name="bottom_attach">2</property> - <property name="x_options">fill</property> - <property name="y_options">fill</property> - </packing> - </child> - - <child> - <widget class="GtkHButtonBox" id="hbuttonbox10"> - <property name="visible">True</property> - <property name="layout_style">GTK_BUTTONBOX_DEFAULT_STYLE</property> - <property name="spacing">0</property> - - <child> - <widget class="GtkButton" id="language_more_button"> - <property name="visible">True</property> - <property name="can_default">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">_More...</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <signal name="clicked" handler="prefs_language_more_button_clicked_cb" last_modification_time="Tue, 14 May 2002 11:07:13 GMT"/> - </widget> - </child> - </widget> - <packing> - <property name="left_attach">2</property> - <property name="right_attach">3</property> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> - <property name="x_options">fill</property> - <property name="y_options">fill</property> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> </packing> </child> </widget> <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> + <property name="tab_expand">False</property> + <property name="tab_fill">True</property> </packing> </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - </widget> - </child> -</widget> - -<widget class="GtkWindow" id="appearance_page_dialog"> - <property name="visible">True</property> - <property name="title" translatable="yes">window2</property> - <property name="type">GTK_WINDOW_TOPLEVEL</property> - <property name="window_position">GTK_WIN_POS_NONE</property> - <property name="modal">False</property> - <property name="resizable">True</property> - <property name="destroy_with_parent">False</property> - - <child> - <widget class="GtkVBox" id="appearance_page_box"> - <property name="border_width">12</property> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">18</property> - - <child> - <widget class="GtkVBox" id="vbox157"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> <child> - <widget class="GtkLabel" id="label1244"> + <widget class="GtkLabel" id="label1283"> <property name="visible">True</property> - <property name="label" translatable="yes"><b>Fonts</b></property> + <property name="label" translatable="yes">General</property> <property name="use_underline">False</property> - <property name="use_markup">True</property> + <property name="use_markup">False</property> <property name="justify">GTK_JUSTIFY_LEFT</property> <property name="wrap">False</property> <property name="selectable">False</property> - <property name="xalign">0</property> + <property name="xalign">0.5</property> <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> </widget> <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> + <property name="type">tab</property> </packing> </child> <child> - <widget class="GtkHBox" id="hbox139"> + <widget class="GtkVBox" id="appearance_page_box"> + <property name="border_width">12</property> <property name="visible">True</property> <property name="homogeneous">False</property> - <property name="spacing">0</property> + <property name="spacing">18</property> <child> - <widget class="GtkLabel" id="label1245"> + <widget class="GtkVBox" id="vbox157"> <property name="visible">True</property> - <property name="label" translatable="yes"> </property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkTable" id="table70"> - <property name="visible">True</property> - <property name="n_rows">7</property> - <property name="n_columns">4</property> <property name="homogeneous">False</property> - <property name="row_spacing">6</property> - <property name="column_spacing">12</property> - - <child> - <widget class="GtkLabel" id="label1132"> - <property name="visible">True</property> - <property name="label" translatable="yes">Siz_e:</property> - <property name="use_underline">True</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="mnemonic_widget">fixed_size_spinbutton</property> - </widget> - <packing> - <property name="left_attach">2</property> - <property name="right_attach">3</property> - <property name="top_attach">4</property> - <property name="bottom_attach">5</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkSpinButton" id="fixed_size_spinbutton"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="climb_rate">1</property> - <property name="digits">0</property> - <property name="numeric">False</property> - <property name="update_policy">GTK_UPDATE_ALWAYS</property> - <property name="snap_to_ticks">False</property> - <property name="wrap">False</property> - <property name="adjustment">1 0 100 1 10 10</property> - </widget> - <packing> - <property name="left_attach">3</property> - <property name="right_attach">4</property> - <property name="top_attach">4</property> - <property name="bottom_attach">5</property> - <property name="x_options"></property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="label1131"> - <property name="visible">True</property> - <property name="label" translatable="yes">Si_ze:</property> - <property name="use_underline">True</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="mnemonic_widget">variable_size_spinbutton</property> - </widget> - <packing> - <property name="left_attach">2</property> - <property name="right_attach">3</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkSpinButton" id="variable_size_spinbutton"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="climb_rate">1</property> - <property name="digits">0</property> - <property name="numeric">False</property> - <property name="update_policy">GTK_UPDATE_ALWAYS</property> - <property name="snap_to_ticks">False</property> - <property name="wrap">False</property> - <property name="adjustment">0 0 100 1 10 10</property> - </widget> - <packing> - <property name="left_attach">3</property> - <property name="right_attach">4</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="label1133"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Proportional:</property> - <property name="use_underline">True</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="mnemonic_widget">proportional_optionmenu</property> - </widget> - <packing> - <property name="left_attach">0</property> - <property name="right_attach">1</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="label1134"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Serif:</property> - <property name="use_underline">True</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="mnemonic_widget">combo-entry1</property> - </widget> - <packing> - <property name="left_attach">0</property> - <property name="right_attach">1</property> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="label1135"> - <property name="visible">True</property> - <property name="label" translatable="yes">S_ans serif:</property> - <property name="use_underline">True</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="mnemonic_widget">combo-entry2</property> - </widget> - <packing> - <property name="left_attach">0</property> - <property name="right_attach">1</property> - <property name="top_attach">3</property> - <property name="bottom_attach">4</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> + <property name="spacing">6</property> <child> - <widget class="GtkLabel" id="label1138"> + <widget class="GtkLabel" id="label1244"> <property name="visible">True</property> - <property name="label" translatable="yes">_Monospace:</property> - <property name="use_underline">True</property> - <property name="use_markup">False</property> + <property name="label" translatable="yes"><b>Fonts</b></property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> <property name="justify">GTK_JUSTIFY_LEFT</property> <property name="wrap">False</property> <property name="selectable">False</property> @@ -893,578 +596,728 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> - <property name="mnemonic_widget">combo-entry5</property> </widget> <packing> - <property name="left_attach">0</property> - <property name="right_attach">1</property> - <property name="top_attach">4</property> - <property name="bottom_attach">5</property> - <property name="x_options">fill</property> - <property name="y_options"></property> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> </packing> </child> <child> - <widget class="GtkLabel" id="label1121"> + <widget class="GtkHBox" id="hbox139"> <property name="visible">True</property> - <property name="label" translatable="yes">_Language encoding:</property> - <property name="use_underline">True</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_CENTER</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="mnemonic_widget">optionmenu2</property> - </widget> - <packing> - <property name="left_attach">0</property> - <property name="right_attach">1</property> - <property name="top_attach">0</property> - <property name="bottom_attach">1</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> + <property name="homogeneous">False</property> + <property name="spacing">0</property> - <child> - <widget class="GtkOptionMenu" id="optionmenu2"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="history">0</property> - <signal name="changed" handler="fonts_language_optionmenu_changed_cb" last_modification_time="Fri, 17 May 2002 10:44:00 GMT"/> + <child> + <widget class="GtkLabel" id="label1245"> + <property name="visible">True</property> + <property name="label" translatable="yes"> </property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> - <child internal-child="menu"> - <widget class="GtkMenu" id="menu2"> + <child> + <widget class="GtkTable" id="table70"> <property name="visible">True</property> + <property name="n_rows">7</property> + <property name="n_columns">4</property> + <property name="homogeneous">False</property> + <property name="row_spacing">6</property> + <property name="column_spacing">12</property> <child> - <widget class="GtkMenuItem" id="menuitem18"> + <widget class="GtkLabel" id="label1132"> <property name="visible">True</property> - <property name="label" translatable="yes">Western</property> + <property name="label" translatable="yes">Siz_e:</property> <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">fixed_size_spinbutton</property> </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">4</property> + <property name="bottom_attach">5</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> </child> <child> - <widget class="GtkMenuItem" id="menuitem19"> + <widget class="GtkSpinButton" id="fixed_size_spinbutton"> <property name="visible">True</property> - <property name="label" translatable="yes">Central European</property> - <property name="use_underline">True</property> + <property name="can_focus">True</property> + <property name="climb_rate">1</property> + <property name="digits">0</property> + <property name="numeric">False</property> + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> + <property name="adjustment">1 0 100 1 10 10</property> </widget> + <packing> + <property name="left_attach">3</property> + <property name="right_attach">4</property> + <property name="top_attach">4</property> + <property name="bottom_attach">5</property> + <property name="x_options"></property> + <property name="y_options"></property> + </packing> </child> <child> - <widget class="GtkMenuItem" id="menuitem20"> + <widget class="GtkLabel" id="label1131"> <property name="visible">True</property> - <property name="label" translatable="yes">Japanese</property> + <property name="label" translatable="yes">Si_ze:</property> <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">variable_size_spinbutton</property> </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> </child> <child> - <widget class="GtkMenuItem" id="menuitem21"> + <widget class="GtkSpinButton" id="variable_size_spinbutton"> <property name="visible">True</property> - <property name="label" translatable="yes">Traditional Chinese</property> - <property name="use_underline">True</property> + <property name="can_focus">True</property> + <property name="climb_rate">1</property> + <property name="digits">0</property> + <property name="numeric">False</property> + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> + <property name="adjustment">0 0 100 1 10 10</property> </widget> + <packing> + <property name="left_attach">3</property> + <property name="right_attach">4</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> </child> <child> - <widget class="GtkMenuItem" id="menuitem22"> + <widget class="GtkLabel" id="label1133"> <property name="visible">True</property> - <property name="label" translatable="yes">Simplified Chinese</property> + <property name="label" translatable="yes">_Proportional:</property> <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">proportional_optionmenu</property> </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> </child> <child> - <widget class="GtkMenuItem" id="menuitem23"> + <widget class="GtkLabel" id="label1134"> <property name="visible">True</property> - <property name="label" translatable="yes">Korean</property> + <property name="label" translatable="yes">_Serif:</property> <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">combo-entry1</property> </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> </child> <child> - <widget class="GtkMenuItem" id="menuitem24"> + <widget class="GtkLabel" id="label1135"> <property name="visible">True</property> - <property name="label" translatable="yes">Cyrillic</property> + <property name="label" translatable="yes">S_ans serif:</property> <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">combo-entry2</property> </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> </child> <child> - <widget class="GtkMenuItem" id="menuitem25"> + <widget class="GtkLabel" id="label1138"> <property name="visible">True</property> - <property name="label" translatable="yes">Baltic</property> + <property name="label" translatable="yes">_Monospace:</property> <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">combo-entry5</property> </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">4</property> + <property name="bottom_attach">5</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> </child> <child> - <widget class="GtkMenuItem" id="menuitem26"> + <widget class="GtkLabel" id="label1121"> <property name="visible">True</property> - <property name="label" translatable="yes">Greek</property> + <property name="label" translatable="yes">_Language encoding:</property> <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_CENTER</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">optionmenu2</property> </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> </child> <child> - <widget class="GtkMenuItem" id="menuitem27"> + <widget class="GtkOptionMenu" id="optionmenu2"> <property name="visible">True</property> - <property name="label" translatable="yes">Turkish</property> - <property name="use_underline">True</property> + <property name="can_focus">True</property> + <property name="history">0</property> + <signal name="changed" handler="fonts_language_optionmenu_changed_cb" last_modification_time="Fri, 17 May 2002 10:44:00 GMT"/> + + <child internal-child="menu"> + <widget class="GtkMenu" id="menu2"> + <property name="visible">True</property> + + <child> + <widget class="GtkMenuItem" id="menuitem18"> + <property name="visible">True</property> + <property name="label" translatable="yes">Western</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem19"> + <property name="visible">True</property> + <property name="label" translatable="yes">Central European</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem20"> + <property name="visible">True</property> + <property name="label" translatable="yes">Japanese</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem21"> + <property name="visible">True</property> + <property name="label" translatable="yes">Traditional Chinese</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem22"> + <property name="visible">True</property> + <property name="label" translatable="yes">Simplified Chinese</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem23"> + <property name="visible">True</property> + <property name="label" translatable="yes">Korean</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem24"> + <property name="visible">True</property> + <property name="label" translatable="yes">Cyrillic</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem25"> + <property name="visible">True</property> + <property name="label" translatable="yes">Baltic</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem26"> + <property name="visible">True</property> + <property name="label" translatable="yes">Greek</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem27"> + <property name="visible">True</property> + <property name="label" translatable="yes">Turkish</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem28"> + <property name="visible">True</property> + <property name="label" translatable="yes">Unicode</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem29"> + <property name="visible">True</property> + <property name="label" translatable="yes">Thai</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem30"> + <property name="visible">True</property> + <property name="label" translatable="yes">Hebrew</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem31"> + <property name="visible">True</property> + <property name="label" translatable="yes">Arabic</property> + <property name="use_underline">True</property> + </widget> + </child> + </widget> + </child> </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> </child> <child> - <widget class="GtkMenuItem" id="menuitem28"> + <widget class="GtkOptionMenu" id="proportional_optionmenu"> <property name="visible">True</property> - <property name="label" translatable="yes">Unicode</property> - <property name="use_underline">True</property> + <property name="can_focus">True</property> + <property name="history">0</property> + + <child> + <widget class="GtkMenu" id="menu3"> + + <child> + <widget class="GtkMenuItem" id="serif1"> + <property name="visible">True</property> + <property name="label" translatable="yes">Serif</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="sans_serif1"> + <property name="visible">True</property> + <property name="label" translatable="yes">Sans Serif</property> + <property name="use_underline">True</property> + </widget> + </child> + </widget> + </child> </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="y_options"></property> + </packing> </child> <child> - <widget class="GtkMenuItem" id="menuitem29"> + <widget class="GtkHBox" id="hbox133"> <property name="visible">True</property> - <property name="label" translatable="yes">Thai</property> - <property name="use_underline">True</property> + <property name="homogeneous">False</property> + <property name="spacing">5</property> + + <child> + <widget class="GtkCheckButton" id="use_fonts_checkbutton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Always use t_hese fonts</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label1217"> + <property name="visible">True</property> + <property name="label" translatable="yes">Min_imum font size:</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">min_size_spinbutton</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkSpinButton" id="min_size_spinbutton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="climb_rate">1</property> + <property name="digits">0</property> + <property name="numeric">False</property> + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> + <property name="adjustment">0 0 100 1 10 10</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + </packing> + </child> </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">4</property> + <property name="top_attach">6</property> + <property name="bottom_attach">7</property> + <property name="x_options">fill</property> + </packing> </child> <child> - <widget class="GtkMenuItem" id="menuitem30"> + <widget class="GtkCombo" id="serif_combo"> <property name="visible">True</property> - <property name="label" translatable="yes">Hebrew</property> - <property name="use_underline">True</property> + <property name="value_in_list">False</property> + <property name="allow_empty">True</property> + <property name="case_sensitive">False</property> + <property name="enable_arrow_keys">True</property> + <property name="enable_arrows_always">False</property> + + <child internal-child="entry"> + <widget class="GtkEntry" id="combo-entry1"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes"></property> + <property name="has_frame">True</property> + <property name="invisible_char" translatable="yes">*</property> + <property name="activates_default">False</property> + </widget> + </child> + + <child internal-child="list"> + <widget class="GtkList" id="combo-list1"> + <property name="visible">True</property> + <property name="selection_mode">GTK_SELECTION_BROWSE</property> + </widget> + </child> </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="y_options"></property> + </packing> </child> <child> - <widget class="GtkMenuItem" id="menuitem31"> + <widget class="GtkCombo" id="sansserif_combo"> <property name="visible">True</property> - <property name="label" translatable="yes">Arabic</property> - <property name="use_underline">True</property> + <property name="value_in_list">False</property> + <property name="allow_empty">True</property> + <property name="case_sensitive">False</property> + <property name="enable_arrow_keys">True</property> + <property name="enable_arrows_always">False</property> + + <child internal-child="entry"> + <widget class="GtkEntry" id="combo-entry2"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes"></property> + <property name="has_frame">True</property> + <property name="invisible_char" translatable="yes">*</property> + <property name="activates_default">False</property> + </widget> + </child> + + <child internal-child="list"> + <widget class="GtkList" id="combo-list2"> + <property name="visible">True</property> + <property name="selection_mode">GTK_SELECTION_BROWSE</property> + </widget> + </child> </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> + <property name="y_options"></property> + </packing> </child> - </widget> - </child> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">0</property> - <property name="bottom_attach">1</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkOptionMenu" id="proportional_optionmenu"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="history">0</property> - - <child> - <widget class="GtkMenu" id="menu3"> <child> - <widget class="GtkMenuItem" id="serif1"> + <widget class="GtkCombo" id="monospace_combo"> <property name="visible">True</property> - <property name="label" translatable="yes">Serif</property> - <property name="use_underline">True</property> + <property name="value_in_list">False</property> + <property name="allow_empty">True</property> + <property name="case_sensitive">False</property> + <property name="enable_arrow_keys">True</property> + <property name="enable_arrows_always">False</property> + + <child internal-child="entry"> + <widget class="GtkEntry" id="combo-entry5"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes"></property> + <property name="has_frame">True</property> + <property name="invisible_char" translatable="yes">*</property> + <property name="activates_default">False</property> + </widget> + </child> + + <child internal-child="list"> + <widget class="GtkList" id="combo-list5"> + <property name="visible">True</property> + <property name="selection_mode">GTK_SELECTION_BROWSE</property> + </widget> + </child> </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">4</property> + <property name="bottom_attach">5</property> + <property name="y_options"></property> + </packing> </child> <child> - <widget class="GtkMenuItem" id="sans_serif1"> + <widget class="GtkLabel" id="label1275"> <property name="visible">True</property> - <property name="label" translatable="yes">Sans Serif</property> - <property name="use_underline">True</property> + <property name="label" translatable="yes"> </property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">5</property> + <property name="bottom_attach">6</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> </child> </widget> - </child> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkHBox" id="hbox133"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">5</property> - - <child> - <widget class="GtkCheckButton" id="use_fonts_checkbutton"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">Always use t_hese fonts</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="active">False</property> - <property name="inconsistent">False</property> - <property name="draw_indicator">True</property> - </widget> <packing> <property name="padding">0</property> <property name="expand">True</property> <property name="fill">True</property> </packing> </child> - - <child> - <widget class="GtkLabel" id="label1217"> - <property name="visible">True</property> - <property name="label" translatable="yes">Min_imum font size:</property> - <property name="use_underline">True</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="mnemonic_widget">min_size_spinbutton</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkSpinButton" id="min_size_spinbutton"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="climb_rate">1</property> - <property name="digits">0</property> - <property name="numeric">False</property> - <property name="update_policy">GTK_UPDATE_ALWAYS</property> - <property name="snap_to_ticks">False</property> - <property name="wrap">False</property> - <property name="adjustment">0 0 100 1 10 10</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - <packing> - <property name="left_attach">0</property> - <property name="right_attach">4</property> - <property name="top_attach">6</property> - <property name="bottom_attach">7</property> - <property name="x_options">fill</property> - </packing> - </child> - - <child> - <widget class="GtkCombo" id="serif_combo"> - <property name="visible">True</property> - <property name="value_in_list">False</property> - <property name="allow_empty">True</property> - <property name="case_sensitive">False</property> - <property name="enable_arrow_keys">True</property> - <property name="enable_arrows_always">False</property> - - <child internal-child="entry"> - <widget class="GtkEntry" id="combo-entry1"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">False</property> - <property name="visibility">True</property> - <property name="max_length">0</property> - <property name="text" translatable="yes"></property> - <property name="has_frame">True</property> - <property name="invisible_char" translatable="yes">*</property> - <property name="activates_default">False</property> - </widget> - </child> - - <child internal-child="list"> - <widget class="GtkList" id="combo-list1"> - <property name="visible">True</property> - <property name="selection_mode">GTK_SELECTION_BROWSE</property> - </widget> - </child> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkCombo" id="sansserif_combo"> - <property name="visible">True</property> - <property name="value_in_list">False</property> - <property name="allow_empty">True</property> - <property name="case_sensitive">False</property> - <property name="enable_arrow_keys">True</property> - <property name="enable_arrows_always">False</property> - - <child internal-child="entry"> - <widget class="GtkEntry" id="combo-entry2"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">False</property> - <property name="visibility">True</property> - <property name="max_length">0</property> - <property name="text" translatable="yes"></property> - <property name="has_frame">True</property> - <property name="invisible_char" translatable="yes">*</property> - <property name="activates_default">False</property> - </widget> - </child> - - <child internal-child="list"> - <widget class="GtkList" id="combo-list2"> - <property name="visible">True</property> - <property name="selection_mode">GTK_SELECTION_BROWSE</property> - </widget> - </child> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">3</property> - <property name="bottom_attach">4</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkCombo" id="monospace_combo"> - <property name="visible">True</property> - <property name="value_in_list">False</property> - <property name="allow_empty">True</property> - <property name="case_sensitive">False</property> - <property name="enable_arrow_keys">True</property> - <property name="enable_arrows_always">False</property> - - <child internal-child="entry"> - <widget class="GtkEntry" id="combo-entry5"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">False</property> - <property name="visibility">True</property> - <property name="max_length">0</property> - <property name="text" translatable="yes"></property> - <property name="has_frame">True</property> - <property name="invisible_char" translatable="yes">*</property> - <property name="activates_default">False</property> - </widget> - </child> - - <child internal-child="list"> - <widget class="GtkList" id="combo-list5"> - <property name="visible">True</property> - <property name="selection_mode">GTK_SELECTION_BROWSE</property> - </widget> - </child> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">4</property> - <property name="bottom_attach">5</property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="label1275"> - <property name="visible">True</property> - <property name="label" translatable="yes"> </property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> </widget> <packing> - <property name="left_attach">0</property> - <property name="right_attach">1</property> - <property name="top_attach">5</property> - <property name="bottom_attach">6</property> - <property name="x_options">fill</property> - <property name="y_options"></property> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> </packing> </child> </widget> <packing> <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkHBox" id="hbox162"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">0</property> - - <child> - <widget class="GtkVBox" id="vbox158"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="GtkLabel" id="label1246"> - <property name="visible">True</property> - <property name="label" translatable="yes"><b>Colors</b></property> - <property name="use_underline">False</property> - <property name="use_markup">True</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="padding">0</property> <property name="expand">False</property> <property name="fill">False</property> </packing> </child> <child> - <widget class="GtkHBox" id="hbox140"> + <widget class="GtkHBox" id="hbox162"> <property name="visible">True</property> <property name="homogeneous">False</property> <property name="spacing">0</property> <child> - <widget class="GtkLabel" id="label1247"> - <property name="visible">True</property> - <property name="label" translatable="yes"> </property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkVBox" id="vbox174"> + <widget class="GtkVBox" id="vbox158"> <property name="visible">True</property> <property name="homogeneous">False</property> <property name="spacing">6</property> <child> - <widget class="GtkHBox" id="hbox163"> + <widget class="GtkLabel" id="label1246"> <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="GnomeColorPicker" id="background_cpick"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="dither">True</property> - <property name="use_alpha">False</property> - <property name="title" translatable="yes">Pick the background color</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="label1250"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Background</property> - <property name="use_underline">True</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_CENTER</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">1</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> + <property name="label" translatable="yes"><b>Colors</b></property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> </widget> <packing> <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> + <property name="expand">False</property> + <property name="fill">False</property> </packing> </child> <child> - <widget class="GtkHBox" id="hbox165"> + <widget class="GtkHBox" id="hbox140"> <property name="visible">True</property> <property name="homogeneous">False</property> - <property name="spacing">6</property> + <property name="spacing">0</property> <child> - <widget class="GnomeColorPicker" id="text_cpick"> + <widget class="GtkLabel" id="label1247"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="dither">True</property> - <property name="use_alpha">False</property> - <property name="title" translatable="yes">Pick the text color</property> + <property name="label" translatable="yes"> </property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> </widget> <packing> <property name="padding">0</property> @@ -1474,23 +1327,149 @@ </child> <child> - <widget class="GtkLabel" id="label1251"> + <widget class="GtkVBox" id="vbox174"> <property name="visible">True</property> - <property name="label" translatable="yes">_Text</property> - <property name="use_underline">True</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkHBox" id="hbox163"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GnomeColorPicker" id="background_cpick"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="dither">True</property> + <property name="use_alpha">False</property> + <property name="title" translatable="yes">Pick the background color</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label1250"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Background</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_CENTER</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">1</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkHBox" id="hbox165"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GnomeColorPicker" id="text_cpick"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="dither">True</property> + <property name="use_alpha">False</property> + <property name="title" translatable="yes">Pick the text color</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label1251"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Text</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkCheckButton" id="use_syscolors_checkbutton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Use s_ystem colors</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkCheckButton" id="use_colors_checkbutton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Al_ways use these colors</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> </widget> <packing> <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> + <property name="expand">True</property> + <property name="fill">True</property> </packing> </child> </widget> @@ -1500,42 +1479,6 @@ <property name="fill">True</property> </packing> </child> - - <child> - <widget class="GtkCheckButton" id="use_syscolors_checkbutton"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">Use s_ystem colors</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="active">False</property> - <property name="inconsistent">False</property> - <property name="draw_indicator">True</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkCheckButton" id="use_colors_checkbutton"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">Al_ways use these colors</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="active">False</property> - <property name="inconsistent">False</property> - <property name="draw_indicator">True</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> </widget> <packing> <property name="padding">0</property> @@ -1543,143 +1486,53 @@ <property name="fill">True</property> </packing> </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - - <child> - <widget class="GtkVBox" id="vbox176"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="GtkLabel" id="label1280"> - <property name="visible">True</property> - <property name="label" translatable="yes"><b>Links</b></property> - <property name="use_underline">False</property> - <property name="use_markup">True</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkHBox" id="hbox166"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">0</property> - - <child> - <widget class="GtkLabel" id="label1281"> - <property name="visible">True</property> - <property name="label" translatable="yes"> </property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> <child> - <widget class="GtkVBox" id="vbox177"> + <widget class="GtkVBox" id="vbox176"> <property name="visible">True</property> <property name="homogeneous">False</property> <property name="spacing">6</property> <child> - <widget class="GtkHBox" id="hbox167"> + <widget class="GtkLabel" id="label1280"> <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="GnomeColorPicker" id="unvisited_cpick"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="dither">True</property> - <property name="use_alpha">False</property> - <property name="title" translatable="yes">Pick the unvisited link color</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="label1249"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Unvisited link</property> - <property name="use_underline">True</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_CENTER</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">1</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> + <property name="label" translatable="yes"><b>Links</b></property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> </widget> <packing> <property name="padding">0</property> <property name="expand">False</property> - <property name="fill">True</property> + <property name="fill">False</property> </packing> </child> <child> - <widget class="GtkHBox" id="hbox168"> + <widget class="GtkHBox" id="hbox166"> <property name="visible">True</property> <property name="homogeneous">False</property> - <property name="spacing">6</property> + <property name="spacing">0</property> <child> - <widget class="GnomeColorPicker" id="visited_cpick"> + <widget class="GtkLabel" id="label1281"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="dither">True</property> - <property name="use_alpha">False</property> - <property name="title" translatable="yes">Pick the visited link color</property> + <property name="label" translatable="yes"> </property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> </widget> <packing> <property name="padding">0</property> @@ -1689,29 +1542,119 @@ </child> <child> - <widget class="GtkLabel" id="label1248"> + <widget class="GtkVBox" id="vbox177"> <property name="visible">True</property> - <property name="label" translatable="yes">_Visited link</property> - <property name="use_underline">True</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_CENTER</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkHBox" id="hbox167"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GnomeColorPicker" id="unvisited_cpick"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="dither">True</property> + <property name="use_alpha">False</property> + <property name="title" translatable="yes">Pick the unvisited link color</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label1249"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Unvisited link</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_CENTER</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">1</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkHBox" id="hbox168"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GnomeColorPicker" id="visited_cpick"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="dither">True</property> + <property name="use_alpha">False</property> + <property name="title" translatable="yes">Pick the visited link color</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label1248"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Visited link</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_CENTER</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + </packing> + </child> </widget> <packing> <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> + <property name="expand">True</property> + <property name="fill">True</property> </packing> </child> </widget> <packing> <property name="padding">0</property> - <property name="expand">False</property> + <property name="expand">True</property> <property name="fill">True</property> </packing> </child> @@ -1725,274 +1668,129 @@ </widget> <packing> <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> + <property name="expand">False</property> + <property name="fill">False</property> </packing> </child> </widget> <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> + <property name="tab_expand">False</property> + <property name="tab_fill">True</property> </packing> </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - </widget> - </child> -</widget> - -<widget class="GtkWindow" id="ui_page_dialog"> - <property name="visible">True</property> - <property name="title" translatable="yes">window1</property> - <property name="type">GTK_WINDOW_TOPLEVEL</property> - <property name="window_position">GTK_WIN_POS_NONE</property> - <property name="modal">False</property> - <property name="resizable">True</property> - <property name="destroy_with_parent">False</property> - - <child> - <widget class="GtkVBox" id="ui_page_box"> - <property name="border_width">12</property> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">18</property> - - <child> - <widget class="GtkVBox" id="vbox159"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> <child> - <widget class="GtkLabel" id="label1252"> + <widget class="GtkLabel" id="label1284"> <property name="visible">True</property> - <property name="label" translatable="yes"><b>Tabs</b></property> + <property name="label" translatable="yes">Appearance</property> <property name="use_underline">False</property> - <property name="use_markup">True</property> + <property name="use_markup">False</property> <property name="justify">GTK_JUSTIFY_LEFT</property> <property name="wrap">False</property> <property name="selectable">False</property> - <property name="xalign">0</property> + <property name="xalign">0.5</property> <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> </widget> <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> + <property name="type">tab</property> </packing> </child> <child> - <widget class="GtkHBox" id="hbox145"> + <widget class="GtkVBox" id="vbox184"> <property name="visible">True</property> <property name="homogeneous">False</property> <property name="spacing">0</property> <child> - <widget class="GtkLabel" id="label1253"> - <property name="visible">True</property> - <property name="label" translatable="yes"> </property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> + <placeholder/> </child> <child> - <widget class="GtkVBox" id="vbox160"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="GtkCheckButton" id="open_in_tabs_checkbutton"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">_Open in tabs by default</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="active">False</property> - <property name="inconsistent">False</property> - <property name="draw_indicator">True</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkCheckButton" id="jump_to_checkbutton"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">_Jump to new tabs automatically</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="active">False</property> - <property name="inconsistent">False</property> - <property name="draw_indicator">True</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> + <placeholder/> + </child> - <child> - <widget class="GtkCheckButton" id="popups_checkbutton"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">Open _popups in tabs</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="active">False</property> - <property name="inconsistent">False</property> - <property name="draw_indicator">True</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> + <child> + <placeholder/> </child> </widget> <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> + <property name="tab_expand">False</property> + <property name="tab_fill">True</property> </packing> </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - </widget> - </child> -</widget> - -<widget class="GtkWindow" id="network_page_dialog"> - <property name="visible">True</property> - <property name="title" translatable="yes">window1</property> - <property name="type">GTK_WINDOW_TOPLEVEL</property> - <property name="window_position">GTK_WIN_POS_NONE</property> - <property name="modal">False</property> - <property name="resizable">True</property> - <property name="destroy_with_parent">False</property> - - <child> - <widget class="GtkVBox" id="network_page_box"> - <property name="border_width">12</property> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">18</property> - - <child> - <widget class="GtkVBox" id="vbox162"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> <child> - <widget class="GtkLabel" id="label1256"> + <widget class="GtkLabel" id="label1285"> <property name="visible">True</property> - <property name="label" translatable="yes"><b>Caches</b></property> + <property name="label" translatable="yes">Security</property> <property name="use_underline">False</property> - <property name="use_markup">True</property> + <property name="use_markup">False</property> <property name="justify">GTK_JUSTIFY_LEFT</property> <property name="wrap">False</property> <property name="selectable">False</property> - <property name="xalign">0</property> + <property name="xalign">0.5</property> <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> </widget> <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> + <property name="type">tab</property> </packing> </child> <child> - <widget class="GtkHBox" id="hbox147"> + <widget class="GtkVBox" id="network_page_box"> + <property name="border_width">12</property> <property name="visible">True</property> <property name="homogeneous">False</property> - <property name="spacing">0</property> + <property name="spacing">18</property> <child> - <widget class="GtkLabel" id="label1257"> - <property name="visible">True</property> - <property name="label" translatable="yes"> </property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">True</property> - </packing> - </child> - - <child> - <widget class="GtkVBox" id="vbox178"> + <widget class="GtkVBox" id="vbox162"> <property name="visible">True</property> <property name="homogeneous">False</property> - <property name="spacing">12</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkLabel" id="label1256"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Caches</b></property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> <child> - <widget class="GtkVBox" id="vbox179"> + <widget class="GtkHBox" id="hbox147"> <property name="visible">True</property> <property name="homogeneous">False</property> - <property name="spacing">6</property> + <property name="spacing">0</property> <child> - <widget class="GtkLabel" id="label1282"> + <widget class="GtkLabel" id="label1257"> <property name="visible">True</property> - <property name="label" translatable="yes">Compare page:</property> - <property name="use_underline">True</property> + <property name="label" translatable="yes"> </property> + <property name="use_underline">False</property> <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_CENTER</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> <property name="wrap">False</property> <property name="selectable">False</property> - <property name="xalign">0</property> + <property name="xalign">0.5</property> <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> @@ -2000,58 +1798,318 @@ <packing> <property name="padding">0</property> <property name="expand">False</property> - <property name="fill">False</property> + <property name="fill">True</property> </packing> </child> <child> - <widget class="GtkRadioButton" id="cache_compare_radiobutton"> + <widget class="GtkVBox" id="vbox178"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">Once per _session</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="active">False</property> - <property name="inconsistent">False</property> - <property name="draw_indicator">True</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> + <property name="homogeneous">False</property> + <property name="spacing">12</property> - <child> - <widget class="GtkRadioButton" id="radiobutton54"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">E_very time</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="active">False</property> - <property name="inconsistent">False</property> - <property name="draw_indicator">True</property> - <property name="group">cache_compare_radiobutton</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> + <child> + <widget class="GtkVBox" id="vbox179"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkLabel" id="label1282"> + <property name="visible">True</property> + <property name="label" translatable="yes">Compare page:</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_CENTER</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkRadioButton" id="cache_compare_radiobutton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Once per _session</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkRadioButton" id="radiobutton54"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">E_very time</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <property name="group">cache_compare_radiobutton</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkRadioButton" id="radiobutton55"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">_Never</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <property name="group">cache_compare_radiobutton</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkRadioButton" id="radiobutton56"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">_Automatically</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <property name="group">cache_compare_radiobutton</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> - <child> - <widget class="GtkRadioButton" id="radiobutton55"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">_Never</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="active">False</property> - <property name="inconsistent">False</property> - <property name="draw_indicator">True</property> - <property name="group">cache_compare_radiobutton</property> + <child> + <widget class="GtkTable" id="table77"> + <property name="visible">True</property> + <property name="n_rows">2</property> + <property name="n_columns">4</property> + <property name="homogeneous">False</property> + <property name="row_spacing">6</property> + <property name="column_spacing">12</property> + + <child> + <widget class="GtkLabel" id="label1167"> + <property name="visible">True</property> + <property name="label" translatable="yes">kB</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_CENTER</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="x_options"></property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label1168"> + <property name="visible">True</property> + <property name="label" translatable="yes">kB</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_CENTER</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options"></property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label1170"> + <property name="visible">True</property> + <property name="label" translatable="yes">Dis_k cache:</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_CENTER</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">disk_cache_spin</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label1171"> + <property name="visible">True</property> + <property name="label" translatable="yes">Memor_y cache:</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_CENTER</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">memory_cache_spin</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkSpinButton" id="memory_cache_spin"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="climb_rate">1</property> + <property name="digits">0</property> + <property name="numeric">False</property> + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> + <property name="adjustment">1 0 1e+06 1000 10 10</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkSpinButton" id="disk_cache_spin"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="climb_rate">1</property> + <property name="digits">0</property> + <property name="numeric">False</property> + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> + <property name="adjustment">1 0 1e+06 1000 10 10</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="button6"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Clear _Memory Cache</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <signal name="clicked" handler="prefs_clear_memory_cache_button_clicked_cb"/> + </widget> + <packing> + <property name="left_attach">3</property> + <property name="right_attach">4</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options"></property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="button5"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Clear _Disk Cache</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <signal name="clicked" handler="prefs_clear_disk_cache_button_clicked_cb"/> + </widget> + <packing> + <property name="left_attach">3</property> + <property name="right_attach">4</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> </widget> <packing> <property name="padding">0</property> @@ -2059,172 +2117,248 @@ <property name="fill">False</property> </packing> </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> - <child> - <widget class="GtkRadioButton" id="radiobutton56"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">_Automatically</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="active">False</property> - <property name="inconsistent">False</property> - <property name="draw_indicator">True</property> - <property name="group">cache_compare_radiobutton</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> + <child> + <widget class="GtkVBox" id="vbox156"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <widget class="GtkLabel" id="label1242"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Language</b></property> + <property name="use_underline">True</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> </widget> <packing> <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> + <property name="expand">False</property> + <property name="fill">False</property> </packing> </child> <child> - <widget class="GtkTable" id="table77"> + <widget class="GtkTable" id="table85"> + <property name="border_width">12</property> <property name="visible">True</property> - <property name="n_rows">2</property> - <property name="n_columns">4</property> + <property name="n_rows">3</property> + <property name="n_columns">3</property> <property name="homogeneous">False</property> <property name="row_spacing">6</property> <property name="column_spacing">12</property> <child> - <widget class="GtkLabel" id="label1167"> + <widget class="GtkLabel" id="label1205"> <property name="visible">True</property> - <property name="label" translatable="yes">kB</property> - <property name="use_underline">False</property> + <property name="label" translatable="yes">Autodetec_t encoding:</property> + <property name="use_underline">True</property> <property name="use_markup">False</property> <property name="justify">GTK_JUSTIFY_CENTER</property> <property name="wrap">False</property> <property name="selectable">False</property> - <property name="xalign">0</property> + <property name="xalign">1</property> <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="mnemonic_widget">autocharset_optionmenu</property> </widget> <packing> - <property name="left_attach">2</property> - <property name="right_attach">3</property> + <property name="left_attach">0</property> + <property name="right_attach">1</property> <property name="top_attach">0</property> <property name="bottom_attach">1</property> - <property name="x_options"></property> + <property name="x_options">fill</property> <property name="y_options"></property> </packing> </child> <child> - <widget class="GtkLabel" id="label1168"> + <widget class="GtkLabel" id="label1206"> <property name="visible">True</property> - <property name="label" translatable="yes">kB</property> - <property name="use_underline">False</property> + <property name="label" translatable="yes">_Default encoding:</property> + <property name="use_underline">True</property> <property name="use_markup">False</property> <property name="justify">GTK_JUSTIFY_CENTER</property> <property name="wrap">False</property> <property name="selectable">False</property> - <property name="xalign">0.5</property> + <property name="xalign">0</property> <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="mnemonic_widget">default_charset_optionmenu</property> </widget> <packing> - <property name="left_attach">2</property> - <property name="right_attach">3</property> + <property name="left_attach">0</property> + <property name="right_attach">1</property> <property name="top_attach">1</property> <property name="bottom_attach">2</property> - <property name="x_options"></property> + <property name="x_options">fill</property> <property name="y_options"></property> </packing> </child> <child> - <widget class="GtkLabel" id="label1170"> + <widget class="GtkLabel" id="label1208"> <property name="visible">True</property> - <property name="label" translatable="yes">Dis_k cache:</property> + <property name="label" translatable="yes">Lan_guage:</property> <property name="use_underline">True</property> <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_CENTER</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> <property name="wrap">False</property> <property name="selectable">False</property> <property name="xalign">0</property> <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> - <property name="mnemonic_widget">disk_cache_spin</property> + <property name="mnemonic_widget">language_optionmenu</property> </widget> <packing> <property name="left_attach">0</property> <property name="right_attach">1</property> - <property name="top_attach">0</property> - <property name="bottom_attach">1</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> <property name="x_options">fill</property> <property name="y_options"></property> </packing> </child> <child> - <widget class="GtkLabel" id="label1171"> + <widget class="GtkOptionMenu" id="language_optionmenu"> <property name="visible">True</property> - <property name="label" translatable="yes">Memor_y cache:</property> - <property name="use_underline">True</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_CENTER</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="mnemonic_widget">memory_cache_spin</property> + <property name="can_focus">True</property> + <property name="history">-1</property> </widget> <packing> - <property name="left_attach">0</property> - <property name="right_attach">1</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> <property name="x_options">fill</property> <property name="y_options"></property> </packing> </child> <child> - <widget class="GtkSpinButton" id="memory_cache_spin"> + <widget class="GtkOptionMenu" id="default_charset_optionmenu"> <property name="visible">True</property> <property name="can_focus">True</property> - <property name="climb_rate">1</property> - <property name="digits">0</property> - <property name="numeric">False</property> - <property name="update_policy">GTK_UPDATE_ALWAYS</property> - <property name="snap_to_ticks">False</property> - <property name="wrap">False</property> - <property name="adjustment">1 0 1e+06 1000 10 10</property> + <property name="history">-1</property> </widget> <packing> <property name="left_attach">1</property> <property name="right_attach">2</property> <property name="top_attach">1</property> <property name="bottom_attach">2</property> + <property name="x_options">fill</property> <property name="y_options"></property> </packing> </child> <child> - <widget class="GtkSpinButton" id="disk_cache_spin"> + <widget class="GtkOptionMenu" id="autocharset_optionmenu"> <property name="visible">True</property> <property name="can_focus">True</property> - <property name="climb_rate">1</property> - <property name="digits">0</property> - <property name="numeric">False</property> - <property name="update_policy">GTK_UPDATE_ALWAYS</property> - <property name="snap_to_ticks">False</property> - <property name="wrap">False</property> - <property name="adjustment">1 0 1e+06 1000 10 10</property> + <property name="history">0</property> + + <child internal-child="menu"> + <widget class="GtkMenu" id="menu6"> + <property name="visible">True</property> + + <child> + <widget class="GtkMenuItem" id="menuitem39"> + <property name="visible">True</property> + <property name="label" translatable="yes">Off</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem40"> + <property name="visible">True</property> + <property name="label" translatable="yes">Chinese</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem41"> + <property name="visible">True</property> + <property name="label" translatable="yes">East asian</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem42"> + <property name="visible">True</property> + <property name="label" translatable="yes">Japanese</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem43"> + <property name="visible">True</property> + <property name="label" translatable="yes">Korean</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem44"> + <property name="visible">True</property> + <property name="label" translatable="yes">Russian</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem45"> + <property name="visible">True</property> + <property name="label" translatable="yes">Simplified Chinese</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem46"> + <property name="visible">True</property> + <property name="label" translatable="yes">Traditional Chinese</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menuitem47"> + <property name="visible">True</property> + <property name="label" translatable="yes">Ukrainian</property> + <property name="use_underline">True</property> + </widget> + </child> + </widget> + </child> </widget> <packing> <property name="left_attach">1</property> @@ -2236,219 +2370,89 @@ </child> <child> - <widget class="GtkButton" id="button6"> + <widget class="GtkHButtonBox" id="hbuttonbox10"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">Clear _Memory Cache</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <signal name="clicked" handler="prefs_clear_memory_cache_button_clicked_cb"/> + <property name="layout_style">GTK_BUTTONBOX_DEFAULT_STYLE</property> + <property name="spacing">0</property> + + <child> + <widget class="GtkButton" id="language_more_button"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">_More...</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <signal name="clicked" handler="prefs_language_more_button_clicked_cb" last_modification_time="Tue, 14 May 2002 11:07:13 GMT"/> + </widget> + </child> </widget> <packing> - <property name="left_attach">3</property> - <property name="right_attach">4</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options"></property> - <property name="y_options"></property> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">fill</property> + <property name="y_options">fill</property> </packing> </child> <child> - <widget class="GtkButton" id="button5"> + <widget class="GtkImage" id="image3"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">Clear _Disk Cache</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <signal name="clicked" handler="prefs_clear_disk_cache_button_clicked_cb"/> + <property name="stock">gtk-select-font</property> + <property name="icon_size">6</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> </widget> <packing> - <property name="left_attach">3</property> - <property name="right_attach">4</property> + <property name="left_attach">2</property> + <property name="right_attach">3</property> <property name="top_attach">0</property> - <property name="bottom_attach">1</property> + <property name="bottom_attach">2</property> <property name="x_options">fill</property> - <property name="y_options"></property> + <property name="y_options">fill</property> </packing> </child> </widget> <packing> <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> + <property name="expand">True</property> + <property name="fill">True</property> </packing> </child> </widget> <packing> <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - </widget> - </child> -</widget> - -<widget class="GtkDialog" id="languages_dialog"> - <property name="border_width">6</property> - <property name="height_request">300</property> - <property name="title" translatable="yes">Languages editor</property> - <property name="type">GTK_WINDOW_TOPLEVEL</property> - <property name="window_position">GTK_WIN_POS_NONE</property> - <property name="modal">False</property> - <property name="resizable">True</property> - <property name="destroy_with_parent">False</property> - <property name="has_separator">False</property> - - <child internal-child="vbox"> - <widget class="GtkVBox" id="dialog-vbox1"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">0</property> - - <child internal-child="action_area"> - <widget class="GtkHButtonBox" id="dialog-action_area1"> - <property name="visible">True</property> - <property name="layout_style">GTK_BUTTONBOX_END</property> - - <child> - <widget class="GtkButton" id="add_button"> - <property name="visible">True</property> - <property name="can_default">True</property> - <property name="can_focus">True</property> - <property name="label">gtk-add</property> - <property name="use_stock">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="response_id">0</property> - </widget> - </child> - - <child> - <widget class="GtkButton" id="remove_button"> - <property name="visible">True</property> - <property name="can_default">True</property> - <property name="can_focus">True</property> - <property name="label">gtk-remove</property> - <property name="use_stock">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="response_id">0</property> - </widget> - </child> - - <child> - <widget class="GtkButton" id="button12"> - <property name="visible">True</property> - <property name="can_default">True</property> - <property name="can_focus">True</property> - <property name="label">gtk-close</property> - <property name="use_stock">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="response_id">-7</property> - <signal name="clicked" handler="language_editor_close_button_cb" last_modification_time="Thu, 16 May 2002 18:58:11 GMT"/> - </widget> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="pack_type">GTK_PACK_END</property> - </packing> - </child> - - <child> - <widget class="GtkVBox" id="vbox146"> - <property name="border_width">6</property> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="GtkHBox" id="hbox132"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="GtkLabel" id="label1216"> - <property name="visible">True</property> - <property name="label" translatable="yes">Language</property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkOptionMenu" id="languages_optionmenu"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="history">-1</property> - </widget> - <packing> - <property name="padding">0</property> <property name="expand">True</property> <property name="fill">True</property> </packing> </child> </widget> <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">True</property> + <property name="tab_expand">False</property> + <property name="tab_fill">True</property> </packing> </child> <child> - <widget class="GtkScrolledWindow" id="scrolledwindow1130"> + <widget class="GtkLabel" id="label1286"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="shadow_type">GTK_SHADOW_IN</property> - <property name="window_placement">GTK_CORNER_TOP_LEFT</property> - - <child> - <widget class="GtkTreeView" id="languages_treeview"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="headers_visible">True</property> - <property name="rules_hint">False</property> - <property name="reorderable">False</property> - <property name="enable_search">True</property> - </widget> - </child> + <property name="label" translatable="yes">Advanced</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> </widget> <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> + <property name="type">tab</property> </packing> </child> </widget> diff --git a/lib/ephy-prefs.h b/lib/ephy-prefs.h index c50cb110b..c34e6ddb6 100644 --- a/lib/ephy-prefs.h +++ b/lib/ephy-prefs.h @@ -27,7 +27,6 @@ G_BEGIN_DECLS /* Interface */ #define CONF_TABS_TABBED "/apps/epiphany/interface/open_in_tab" -#define CONF_TABS_TABBED_POPUPS "/apps/epiphany/interface/popups_in_tab" #define CONF_TABS_TABBED_AUTOJUMP "/apps/epiphany/interface/jumpto_tab" #define CONF_WINDOWS_SHOW_TOOLBARS "/apps/epiphany/interface/show_toolbars" #define CONF_WINDOWS_SHOW_BOOKMARKS_BAR "/apps/epiphany/interface/show_bookmarks_bar" diff --git a/src/Makefile.am b/src/Makefile.am index 75b3e5edd..285976850 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -43,8 +43,6 @@ endif epiphany_bin_SOURCES = \ $(ephy_automation_interface_idl_sources) \ $(nautilus_view_sources) \ - appearance-prefs.c \ - appearance-prefs.h \ ephy-automation.c \ ephy-automation.h \ ephy-encoding-menu.c \ @@ -74,8 +72,6 @@ epiphany_bin_SOURCES = \ ephy-toolbars-model.h \ ephy-window.c \ ephy-window.h \ - general-prefs.c \ - general-prefs.h \ language-editor.c \ language-editor.h \ pdm-dialog.c \ diff --git a/src/appearance-prefs.c b/src/appearance-prefs.c deleted file mode 100755 index e19e95c79..000000000 --- a/src/appearance-prefs.c +++ /dev/null @@ -1,453 +0,0 @@ -/* - * Copyright (C) 2002 Marco Pesenti Gritti - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#include "appearance-prefs.h" -#include "ephy-shell.h" -#include "ephy-prefs.h" -#include "ephy-embed-prefs.h" -#include "eel-gconf-extensions.h" - -#include <string.h> -#include <gtk/gtkcombo.h> -#include <gtk/gtkspinbutton.h> -#include <gtk/gtkeditable.h> -#include <gtk/gtkoptionmenu.h> - -static void appearance_prefs_class_init (AppearancePrefsClass *klass); -static void appearance_prefs_init (AppearancePrefs *dialog); -static void appearance_prefs_finalize (GObject *object); - -/* Glade callbacks */ -void -fonts_language_optionmenu_changed_cb (GtkWidget *optionmenu, EphyDialog *dialog); - -static GObjectClass *parent_class = NULL; - -struct AppearancePrefsPrivate -{ - int language; - gboolean switching; -}; - -enum -{ - SERIF_PROP, - SANSSERIF_PROP, - MONOSPACE_PROP, - FIXED_SIZE_PROP, - VARIABLE_SIZE_PROP, - MIN_SIZE_PROP, - PROPORTIONAL_PROP, - BACKGROUND_PROP, - TEXT_PROP, - UNVISITED_PROP, - VISITED_PROP, - USE_SYSCOLORS_PROP, - USE_COLORS_PROP, - USE_FONTS_PROP, -}; - -static const -EphyDialogProperty properties [] = -{ - { SERIF_PROP, "serif_combo", NULL, PT_NORMAL, NULL }, - { SANSSERIF_PROP, "sansserif_combo", NULL, PT_NORMAL, NULL }, - { MONOSPACE_PROP, "monospace_combo", NULL, PT_NORMAL, NULL }, - { FIXED_SIZE_PROP, "fixed_size_spinbutton", NULL, PT_NORMAL, NULL }, - { VARIABLE_SIZE_PROP, "variable_size_spinbutton", NULL, PT_NORMAL, NULL }, - { MIN_SIZE_PROP, "min_size_spinbutton", NULL, PT_NORMAL, NULL }, - { PROPORTIONAL_PROP, "proportional_optionmenu", CONF_RENDERING_DEFAULT_FONT, PT_AUTOAPPLY, NULL }, - { BACKGROUND_PROP, "background_cpick", CONF_RENDERING_BG_COLOR, PT_AUTOAPPLY, NULL }, - { TEXT_PROP, "text_cpick", CONF_RENDERING_TEXT_COLOR, PT_AUTOAPPLY, NULL }, - { UNVISITED_PROP, "unvisited_cpick", CONF_RENDERING_UNVISITED_LINKS, PT_AUTOAPPLY, NULL }, - { VISITED_PROP, "visited_cpick", CONF_RENDERING_VISITED_LINKS, PT_AUTOAPPLY, NULL }, - { USE_SYSCOLORS_PROP, "use_syscolors_checkbutton", CONF_RENDERING_USE_SYSTEM_COLORS, PT_AUTOAPPLY, NULL }, - { USE_COLORS_PROP, "use_colors_checkbutton", CONF_RENDERING_USE_OWN_COLORS, PT_AUTOAPPLY, NULL }, - { USE_FONTS_PROP, "use_fonts_checkbutton", CONF_RENDERING_USE_OWN_FONTS, PT_AUTOAPPLY, NULL }, - - { -1, NULL, NULL } -}; - -/* FIXME duped in mozilla/ */ -const -char *lang_encode[] = -{ - "x-western", - "x-central-euro", - "ja", - "zh-TW", - "zh-CN", - "ko", - "x-cyrillic", - "x-baltic", - "el", - "tr", - "x-unicode", - "th", - "he", - "ar" -}; - -enum -{ - FONT_TYPE_SERIF, - FONT_TYPE_SANSSERIF, - FONT_TYPE_MONOSPACE -}; - -const -char *fonts_types[] = -{ - "serif", - "sans-serif", - "monospace" -}; - -enum -{ - FONT_SIZE_FIXED, - FONT_SIZE_VAR, - FONT_SIZE_MIN -}; - -const -char *size_prefs[] = -{ - CONF_RENDERING_FONT_FIXED_SIZE, - CONF_RENDERING_FONT_VAR_SIZE, - CONF_RENDERING_FONT_MIN_SIZE -}; - -GType -appearance_prefs_get_type (void) -{ - static GType appearance_prefs_type = 0; - - if (appearance_prefs_type == 0) - { - static const GTypeInfo our_info = - { - sizeof (AppearancePrefsClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) appearance_prefs_class_init, - NULL, - NULL, /* class_data */ - sizeof (AppearancePrefs), - 0, /* n_preallocs */ - (GInstanceInitFunc) appearance_prefs_init - }; - - appearance_prefs_type = g_type_register_static (EPHY_DIALOG_TYPE, - "AppearancePrefs", - &our_info, 0); - } - - return appearance_prefs_type; - -} - -static void -appearance_prefs_class_init (AppearancePrefsClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - parent_class = g_type_class_peek_parent (klass); - - object_class->finalize = appearance_prefs_finalize; -} - -static void -setup_font_menu (AppearancePrefs *dialog, - const char *type, - GtkWidget *combo) -{ - char *default_font; - GList *fonts; - const char *name; - char key[255]; - int pos; - GtkWidget *entry = GTK_COMBO(combo)->entry; - EphyEmbedSingle *single; - - single = ephy_embed_shell_get_embed_single - (EPHY_EMBED_SHELL (ephy_shell)); - - ephy_embed_single_get_font_list (single, - lang_encode[dialog->priv->language], - type, &fonts, &default_font); - - /* Get the default font */ - sprintf (key, "%s_%s_%s", CONF_RENDERING_FONT, type, - lang_encode[dialog->priv->language]); - name = eel_gconf_get_string (key); - if (name == NULL) - { - name = default_font; - } - - /* set popdown doesnt like NULL */ - if (fonts == NULL) - { - fonts = g_list_alloc (); - } - - gtk_combo_set_popdown_strings (GTK_COMBO(combo), fonts); - - /* set the default value */ - if (name != NULL) - { - gtk_editable_delete_text (GTK_EDITABLE(entry), 0, -1); - gtk_editable_insert_text (GTK_EDITABLE(entry), - name, g_utf8_strlen (name, -1), - &pos); - } - - g_free (default_font); - - g_list_foreach (fonts, (GFunc)g_free, NULL); - g_list_free (fonts); -} - -static void -save_font_menu (AppearancePrefs *dialog, - int type, - GtkWidget *entry) -{ - char *name; - char key[255]; - - name = gtk_editable_get_chars - (GTK_EDITABLE(entry), 0, -1); - - /* do not save empty fonts */ - if (!name || *name == '\0') - { - g_free (name); - return; - } - - sprintf (key, "%s_%s_%s", CONF_RENDERING_FONT, - fonts_types[type], - lang_encode[dialog->priv->language]); - eel_gconf_set_string (key, name); - g_free (name); -} - -static void -font_entry_changed_cb (GtkWidget *entry, AppearancePrefs *dialog) -{ - int type; - - if (dialog->priv->switching) return; - - type = GPOINTER_TO_INT (g_object_get_data (G_OBJECT(entry), - "type")); - save_font_menu (dialog, type, entry); -} - -static void -attach_font_signal (AppearancePrefs *dialog, int prop, - gpointer type) -{ - GtkWidget *combo; - GtkWidget *entry; - - combo = ephy_dialog_get_control (EPHY_DIALOG(dialog), - prop); - entry = GTK_COMBO(combo)->entry; - g_object_set_data (G_OBJECT(entry), "type", type); - g_signal_connect (entry, "changed", - G_CALLBACK(font_entry_changed_cb), - dialog); -} - -static void -attach_fonts_signals (AppearancePrefs *dialog) -{ - attach_font_signal (dialog, SERIF_PROP, - GINT_TO_POINTER(FONT_TYPE_SERIF)); - attach_font_signal (dialog, SANSSERIF_PROP, - GINT_TO_POINTER(FONT_TYPE_SANSSERIF)); - attach_font_signal (dialog, MONOSPACE_PROP, - GINT_TO_POINTER(FONT_TYPE_MONOSPACE)); -} - -static void -size_spinbutton_changed_cb (GtkWidget *spin, AppearancePrefs *dialog) -{ - int type; - char key[255]; - - if (dialog->priv->switching) return; - - type = GPOINTER_TO_INT(g_object_get_data (G_OBJECT(spin), "type")); - - sprintf (key, "%s_%s", - size_prefs[type], - lang_encode[dialog->priv->language]); - eel_gconf_set_integer (key, gtk_spin_button_get_value (GTK_SPIN_BUTTON (spin))); -} - -static void -attach_size_controls_signals (AppearancePrefs *dialog) -{ - GtkWidget *spin; - - spin = ephy_dialog_get_control (EPHY_DIALOG(dialog), - FIXED_SIZE_PROP); - g_object_set_data (G_OBJECT(spin), "type", - GINT_TO_POINTER(FONT_SIZE_FIXED)); - g_signal_connect (spin, "value_changed", - G_CALLBACK(size_spinbutton_changed_cb), - dialog); - - spin = ephy_dialog_get_control (EPHY_DIALOG(dialog), - VARIABLE_SIZE_PROP); - g_object_set_data (G_OBJECT(spin), "type", - GINT_TO_POINTER(FONT_SIZE_VAR)); - g_signal_connect (spin, "value_changed", - G_CALLBACK(size_spinbutton_changed_cb), - dialog); - - spin = ephy_dialog_get_control (EPHY_DIALOG(dialog), - MIN_SIZE_PROP); - g_object_set_data (G_OBJECT(spin), "type", - GINT_TO_POINTER(FONT_SIZE_MIN)); - g_signal_connect (spin, "value_changed", - G_CALLBACK(size_spinbutton_changed_cb), - dialog); -} - -static void -setup_size_control (AppearancePrefs *dialog, - const char *pref, - int default_size, - GtkWidget *spin) -{ - char key[255]; - int size; - - sprintf (key, "%s_%s", pref, - lang_encode[dialog->priv->language]); - size = eel_gconf_get_integer (key); - - if (size == 0) size = default_size; - - gtk_spin_button_set_value (GTK_SPIN_BUTTON(spin), size); -} - -static void -setup_size_controls (AppearancePrefs *dialog) -{ - GtkWidget *spin; - - spin = ephy_dialog_get_control (EPHY_DIALOG(dialog), - FIXED_SIZE_PROP); - setup_size_control (dialog, CONF_RENDERING_FONT_FIXED_SIZE, 12, spin); - - spin = ephy_dialog_get_control (EPHY_DIALOG(dialog), - VARIABLE_SIZE_PROP); - setup_size_control (dialog, CONF_RENDERING_FONT_VAR_SIZE, 16, spin); - - spin = ephy_dialog_get_control (EPHY_DIALOG(dialog), - MIN_SIZE_PROP); - setup_size_control (dialog, CONF_RENDERING_FONT_MIN_SIZE, 0, spin); -} - -static void -setup_fonts (AppearancePrefs *dialog) -{ - GtkWidget *combo; - - dialog->priv->switching = TRUE; - - combo = ephy_dialog_get_control (EPHY_DIALOG(dialog), - SERIF_PROP); - setup_font_menu (dialog, "serif", combo); - - combo = ephy_dialog_get_control (EPHY_DIALOG(dialog), - SANSSERIF_PROP); - setup_font_menu (dialog, "sans-serif", combo); - - combo = ephy_dialog_get_control (EPHY_DIALOG(dialog), - MONOSPACE_PROP); - setup_font_menu (dialog, "monospace", combo); - - dialog->priv->switching = FALSE; -} - -static void -appearance_prefs_init (AppearancePrefs *dialog) -{ - dialog->priv = g_new0 (AppearancePrefsPrivate, 1); - dialog->priv->switching = FALSE; - - ephy_dialog_construct (EPHY_DIALOG(dialog), - properties, - "prefs-dialog.glade", - "appearance_page_box"); - - setup_fonts (dialog); - setup_size_controls (dialog); - attach_fonts_signals (dialog); - attach_size_controls_signals (dialog); -} - -static void -appearance_prefs_finalize (GObject *object) -{ - AppearancePrefs *dialog; - - g_return_if_fail (object != NULL); - g_return_if_fail (IS_appearance_PREFS (object)); - - dialog = appearance_PREFS (object); - - g_return_if_fail (dialog->priv != NULL); - - g_free (dialog->priv); - - G_OBJECT_CLASS (parent_class)->finalize (object); -} - -EphyDialog * -appearance_prefs_new (void) -{ - AppearancePrefs *dialog; - - dialog = appearance_PREFS (g_object_new (appearance_PREFS_TYPE, - NULL)); - - return EPHY_DIALOG(dialog); -} - -void -fonts_language_optionmenu_changed_cb (GtkWidget *optionmenu, - EphyDialog *dialog) -{ - int i; - - i = gtk_option_menu_get_history - (GTK_OPTION_MENU (optionmenu)); - - appearance_PREFS(dialog)->priv->language = i; - - setup_fonts (appearance_PREFS(dialog)); - setup_size_controls (appearance_PREFS(dialog)); -} diff --git a/src/appearance-prefs.h b/src/appearance-prefs.h deleted file mode 100644 index 17067b7e9..000000000 --- a/src/appearance-prefs.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (C) 2002 Marco Pesenti Gritti - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#ifndef APPEARANCE_PREFS_H -#define APPEARANCE_PREFS_H - -#include "ephy-dialog.h" - -#include <glib-object.h> -#include <glib.h> - -G_BEGIN_DECLS - -typedef struct AppearancePrefs AppearancePrefs; -typedef struct AppearancePrefsClass AppearancePrefsClass; - -#define appearance_PREFS_TYPE (appearance_prefs_get_type ()) -#define appearance_PREFS(obj) (GTK_CHECK_CAST ((obj), appearance_PREFS_TYPE, AppearancePrefs)) -#define appearance_PREFS_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), appearance_PREFS, AppearancePrefsClass)) -#define IS_appearance_PREFS(obj) (GTK_CHECK_TYPE ((obj), appearance_PREFS_TYPE)) -#define IS_appearance_PREFS_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), appearance_PREFS)) - -typedef struct AppearancePrefsPrivate AppearancePrefsPrivate; - -struct AppearancePrefs -{ - EphyDialog parent; - AppearancePrefsPrivate *priv; -}; - -struct AppearancePrefsClass -{ - EphyDialogClass parent_class; -}; - -GType appearance_prefs_get_type (void); - -EphyDialog *appearance_prefs_new (void); - -G_END_DECLS - -#endif - diff --git a/src/ephy-shell.c b/src/ephy-shell.c index 56f31799e..daf5f4513 100644 --- a/src/ephy-shell.c +++ b/src/ephy-shell.c @@ -219,23 +219,11 @@ ephy_shell_new_window_cb (EphyEmbedShell *shell, { EphyTab *new_tab; EphyWindow *window; - gboolean open_in_tab; g_assert (new_embed != NULL); - open_in_tab = (chromemask & EMBED_CHROME_OPENASCHROME) ? - FALSE : - eel_gconf_get_boolean (CONF_TABS_TABBED_POPUPS); - - if (open_in_tab) - { - window = ephy_shell_get_active_window (ephy_shell); - } - else - { - window = ephy_window_new (); - ephy_window_set_chrome (window, chromemask); - } + window = ephy_window_new (); + ephy_window_set_chrome (window, chromemask); new_tab = ephy_tab_new (); ephy_window_add_tab (window, new_tab, EPHY_NOTEBOOK_INSERT_GROUPED, FALSE); diff --git a/src/ephy-tab.c b/src/ephy-tab.c index e146562d6..70302a595 100644 --- a/src/ephy-tab.c +++ b/src/ephy-tab.c @@ -646,21 +646,9 @@ ephy_tab_new_window_cb (EphyEmbed *embed, EphyEmbed **new_embed, { EphyTab *new_tab; EphyWindow *window; - gboolean open_in_tab; - open_in_tab = (chromemask & EMBED_CHROME_OPENASCHROME) ? - FALSE : - eel_gconf_get_boolean (CONF_TABS_TABBED_POPUPS); - - if (open_in_tab) - { - window = ephy_tab_get_window (tab); - } - else - { - window = ephy_window_new (); - ephy_window_set_chrome (window, chromemask); - } + window = ephy_window_new (); + ephy_window_set_chrome (window, chromemask); new_tab = ephy_tab_new (); ephy_window_add_tab (window, new_tab, EPHY_NOTEBOOK_INSERT_GROUPED, FALSE); diff --git a/src/general-prefs.c b/src/general-prefs.c deleted file mode 100755 index 81fb1c1e2..000000000 --- a/src/general-prefs.c +++ /dev/null @@ -1,493 +0,0 @@ -/* - * Copyright (C) 2002 Marco Pesenti Gritti - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#include "general-prefs.h" -#include "ephy-shell.h" -#include "ephy-embed-single.h" -#include "ephy-prefs.h" -#include "ephy-embed-prefs.h" -#include "ephy-shell.h" -#include "eel-gconf-extensions.h" -#include "language-editor.h" - -#include <string.h> -#include <gtk/gtkeditable.h> -#include <gtk/gtkmenu.h> -#include <gtk/gtkoptionmenu.h> -#include <gtk/gtkmenuitem.h> -#include <bonobo/bonobo-i18n.h> - -static void general_prefs_class_init (GeneralPrefsClass *klass); -static void general_prefs_init (GeneralPrefs *dialog); -static void general_prefs_finalize (GObject *object); - -/* Glade callbacks */ -void -prefs_homepage_current_button_clicked_cb (GtkWidget *button, - EphyDialog *dialog); -void -prefs_homepage_blank_button_clicked_cb (GtkWidget *button, - EphyDialog *dialog); -void -prefs_language_more_button_clicked_cb (GtkWidget *button, - EphyDialog *dialog); - -static GObjectClass *parent_class = NULL; - -struct GeneralPrefsPrivate -{ - gpointer dummy; -}; - -enum -{ - HOMEPAGE_ENTRY_PROP, - NEW_PAGE_PROP, - AUTOCHARSET_PROP, - DEFAULT_CHARSET_PROP, - LANGUAGE_PROP -}; - -static const -EphyDialogProperty properties [] = -{ - { HOMEPAGE_ENTRY_PROP, "homepage_entry", CONF_GENERAL_HOMEPAGE, PT_AUTOAPPLY, NULL }, - { NEW_PAGE_PROP, "new_page_show_homepage", CONF_GENERAL_NEWPAGE_TYPE, PT_AUTOAPPLY, NULL }, - { AUTOCHARSET_PROP, "autocharset_optionmenu", CONF_LANGUAGE_AUTODETECT_CHARSET, PT_AUTOAPPLY, NULL }, - { DEFAULT_CHARSET_PROP, "default_charset_optionmenu", NULL, PT_NORMAL, NULL }, - { LANGUAGE_PROP, "language_optionmenu", NULL, PT_NORMAL, NULL }, - - { -1, NULL, NULL } -}; - -static const -struct -{ - char *name; - char *code; -} -languages [] = -{ - { _("Afrikaans"), "ak" }, - { _("Albanian"), "sq" }, - { _("Arabic"), "ar" }, - { _("Azerbaijani"), "az" }, - { _("Basque"), "eu" }, - { _("Breton"), "br" }, - { _("Bulgarian"), "bg" }, - { _("Byelorussian"), "be" }, - { _("Catalan"), "ca" }, - { _("Chinese"), "zh" }, - { _("Croatian"), "hr" }, - { _("Czech"), "cs" }, - { _("Danish"), "da" }, - { _("Dutch"), "nl" }, - { _("English"), "en" }, - { _("Esperanto"), "eo" }, - { _("Estonian"), "et" }, - { _("Faeroese"), "fo" }, - { _("Finnish"), "fi" }, - { _("French"), "fr" }, - { _("Galician"), "gl" }, - { _("German"), "de" }, - { _("Greek"), "el" }, - { _("Hebrew"), "he" }, - { _("Hungarian"), "hu" }, - { _("Icelandic"), "is" }, - { _("Indonesian"), "id" }, - { _("Irish"), "ga" }, - { _("Italian"), "it" }, - { _("Japanese"), "ja" }, - { _("Korean"), "ko" }, - { _("Latvian"), "lv" }, - { _("Lithuanian"), "lt" }, - { _("Macedonian"), "mk" }, - { _("Malay"), "ms" }, - { _("Norwegian/Nynorsk"), "nn" }, - { _("Norwegian/Bokmaal"), "nb" }, - { _("Norwegian"), "no" }, - { _("Polish"), "pl" }, - { _("Portuguese"), "pt" }, - { _("Portuguese of Brazil"), "pt-BR" }, - { _("Romanian"), "ro" }, - { _("Russian"), "ru" }, - { _("Scottish"), "gd" }, - { _("Serbian"), "sr" }, - { _("Slovak"), "sk" }, - { _("Slovenian"), "sl" }, - { _("Spanish"), "es" }, - { _("Swedish"), "sv" }, - { _("Tamil"), "ta" }, - { _("Turkish"), "tr" }, - { _("Ukrainian"), "uk" }, - { _("Vietnamian"), "vi" }, - { _("Walloon"), "wa" }, - { NULL, NULL } -}; - -GType -general_prefs_get_type (void) -{ - static GType general_prefs_type = 0; - - if (general_prefs_type == 0) - { - static const GTypeInfo our_info = - { - sizeof (GeneralPrefsClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) general_prefs_class_init, - NULL, - NULL, /* class_data */ - sizeof (GeneralPrefs), - 0, /* n_preallocs */ - (GInstanceInitFunc) general_prefs_init - }; - - general_prefs_type = g_type_register_static (EPHY_DIALOG_TYPE, - "GeneralPrefs", - &our_info, 0); - } - - return general_prefs_type; - -} - -static void -general_prefs_class_init (GeneralPrefsClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - parent_class = g_type_class_peek_parent (klass); - - object_class->finalize = general_prefs_finalize; -} - -static void -default_charset_menu_changed_cb (GtkOptionMenu *option_menu, - EphyEmbedShell *shell) -{ - GList *charsets; - int i; - CharsetInfo *info; - EphyEmbedSingle *single; - - single = ephy_embed_shell_get_embed_single - (EPHY_EMBED_SHELL (ephy_shell)); - - ephy_embed_single_get_charset_titles (single, NULL, &charsets); - - i = gtk_option_menu_get_history (option_menu); - charsets = g_list_nth (charsets, i); - g_assert (charsets != NULL); - info = (CharsetInfo *) charsets->data; - eel_gconf_set_string (CONF_LANGUAGE_DEFAULT_CHARSET, - info->name); - - g_list_free (charsets); -} - -static gint -find_charset_in_list_cmp (gconstpointer a, - gconstpointer b) -{ - CharsetInfo *info = (CharsetInfo *)a; - const char *value = b; - - return (strcmp (info->name, value)); -} - -static void -create_default_charset_menu (GeneralPrefs *dialog) -{ - GList *l; - GList *charsets; - GtkWidget *menu; - GtkWidget *optionmenu; - char *value; - EphyEmbedSingle *single; - - single = ephy_embed_shell_get_embed_single - (EPHY_EMBED_SHELL (ephy_shell)); - - ephy_embed_single_get_charset_titles (single, NULL, &l); - - menu = gtk_menu_new (); - - optionmenu = ephy_dialog_get_control (EPHY_DIALOG (dialog), - DEFAULT_CHARSET_PROP); - - for (charsets = l; charsets != NULL; charsets = charsets->next) - { - CharsetInfo *info = (CharsetInfo *) charsets->data; - GtkWidget *item; - - item = gtk_menu_item_new_with_label (info->title); - gtk_menu_shell_append (GTK_MENU_SHELL(menu), - item); - gtk_widget_show (item); - } - - gtk_option_menu_set_menu (GTK_OPTION_MENU(optionmenu), menu); - - /* init value */ - charsets = l; - value = eel_gconf_get_string (CONF_LANGUAGE_DEFAULT_CHARSET); - g_return_if_fail (value != NULL); - charsets = g_list_find_custom (charsets, (gconstpointer)value, - (GCompareFunc)find_charset_in_list_cmp); - gtk_option_menu_set_history (GTK_OPTION_MENU(optionmenu), - g_list_position (l, charsets)); - g_free (value); - - g_signal_connect (optionmenu, "changed", - G_CALLBACK (default_charset_menu_changed_cb), - embed_shell); - - g_list_free (l); -} - -static GtkWidget * -general_prefs_new_language_menu (GeneralPrefs *dialog) -{ - int i; - GtkWidget *menu; - - menu = gtk_menu_new (); - - for (i = 0; languages[i].name != NULL; i++) - { - GtkWidget *item; - - item = gtk_menu_item_new_with_label (languages[i].name); - gtk_menu_shell_append (GTK_MENU_SHELL(menu), - item); - gtk_widget_show (item); - g_object_set_data (G_OBJECT(item), "desc", - languages[i].name); - } - - return menu; -} - -static void -language_menu_changed_cb (GtkOptionMenu *option_menu, - gpointer data) -{ - GSList *list; - GSList *l = NULL; - int history; - - list = eel_gconf_get_string_list (CONF_RENDERING_LANGUAGE); - l = g_slist_copy (list); - - /* Subst the first item according to the optionmenu */ - history = gtk_option_menu_get_history (option_menu); - l->data = languages [history].code; - - eel_gconf_set_string_list (CONF_RENDERING_LANGUAGE, l); - - g_slist_free (l); -} - -static void -create_language_menu (GeneralPrefs *dialog) -{ - GtkWidget *optionmenu; - GtkWidget *menu; - const char *value; - int i; - GSList *list; - - optionmenu = ephy_dialog_get_control (EPHY_DIALOG (dialog), - LANGUAGE_PROP); - - menu = general_prefs_new_language_menu (dialog); - - gtk_option_menu_set_menu (GTK_OPTION_MENU(optionmenu), menu); - - /* init value */ - list = eel_gconf_get_string_list (CONF_RENDERING_LANGUAGE); - g_return_if_fail (list != NULL); - value = (const char *)list->data; - - i = 0; - while (languages[i].code && strcmp (languages[i].code, value) != 0) - { - i++; - } - - gtk_option_menu_set_history (GTK_OPTION_MENU(optionmenu), i); - - g_signal_connect (optionmenu, "changed", - G_CALLBACK (language_menu_changed_cb), - NULL); -} - -static void -general_prefs_init (GeneralPrefs *dialog) -{ - dialog->priv = g_new0 (GeneralPrefsPrivate, 1); - - ephy_dialog_construct (EPHY_DIALOG(dialog), - properties, - "prefs-dialog.glade", - "general_page_box"); - - create_default_charset_menu (dialog); - create_language_menu (dialog); -} - -static void -general_prefs_finalize (GObject *object) -{ - GeneralPrefs *dialog; - - g_return_if_fail (object != NULL); - g_return_if_fail (IS_GENERAL_PREFS (object)); - - dialog = GENERAL_PREFS (object); - - g_return_if_fail (dialog->priv != NULL); - - g_free (dialog->priv); - - G_OBJECT_CLASS (parent_class)->finalize (object); -} - -EphyDialog * -general_prefs_new (void) -{ - GeneralPrefs *dialog; - - dialog = GENERAL_PREFS (g_object_new (GENERAL_PREFS_TYPE, - NULL)); - - return EPHY_DIALOG(dialog); -} - -static void -set_homepage_entry (EphyDialog *dialog, - const char *new_location) -{ - GtkWidget *entry; - int pos; - - entry = ephy_dialog_get_control (dialog, HOMEPAGE_ENTRY_PROP); - - gtk_editable_delete_text (GTK_EDITABLE (entry), 0, -1); - gtk_editable_insert_text (GTK_EDITABLE (entry), new_location, - g_utf8_strlen (new_location, -1), - &pos); -} - -void -prefs_homepage_current_button_clicked_cb (GtkWidget *button, - EphyDialog *dialog) -{ - EphyWindow *window; - EphyTab *tab; - - window = ephy_shell_get_active_window (ephy_shell); - g_return_if_fail (window != NULL); - - tab = ephy_window_get_active_tab (window); - g_return_if_fail (tab != NULL); - - set_homepage_entry (dialog, ephy_tab_get_location (tab)); -} - -void -prefs_homepage_blank_button_clicked_cb (GtkWidget *button, - EphyDialog *dialog) -{ - set_homepage_entry (dialog, "about:blank"); -} - -static void -fill_language_editor (LanguageEditor *le) -{ - GSList *strings; - GSList *tmp; - int i; - - /* Fill the list */ - strings = eel_gconf_get_string_list (CONF_RENDERING_LANGUAGE); - - for (tmp = strings; tmp != NULL; tmp = g_slist_next (tmp)) - { - char *value = (char *)tmp->data; - - i = 0; - while (languages[i].code && strcmp (languages[i].code, value) != 0) - { - i++; - } - - /* FIXME unsafe, bad prefs could cause it to access random memory */ - language_editor_add (le, languages[i].name, i); - } -} - -static void -language_dialog_changed_cb (LanguageEditor *le, - GSList *list, - GeneralPrefs *dialog) -{ - GtkWidget *optionmenu; - const GSList *l; - GSList *langs = NULL; - - optionmenu = ephy_dialog_get_control (EPHY_DIALOG (dialog), - LANGUAGE_PROP); - gtk_option_menu_set_history (GTK_OPTION_MENU(optionmenu), - GPOINTER_TO_INT(list->data)); - - for (l = list; l != NULL; l = l->next) - { - int i = GPOINTER_TO_INT (l->data); - langs = g_slist_append (langs, languages[i].code); - } - - eel_gconf_set_string_list (CONF_RENDERING_LANGUAGE, langs); - g_slist_free (langs); -} - -void -prefs_language_more_button_clicked_cb (GtkWidget *button, - EphyDialog *dialog) -{ - LanguageEditor *editor; - GtkWidget *menu; - GtkWidget *toplevel; - - menu = general_prefs_new_language_menu (GENERAL_PREFS(dialog)); - - toplevel = gtk_widget_get_toplevel (button); - editor = language_editor_new (toplevel); - language_editor_set_menu (editor, menu); - fill_language_editor (editor); - ephy_dialog_set_modal (EPHY_DIALOG(editor), TRUE); - - g_signal_connect (editor, "changed", - G_CALLBACK(language_dialog_changed_cb), - dialog); - - ephy_dialog_show (EPHY_DIALOG(editor)); -} diff --git a/src/prefs-dialog.c b/src/prefs-dialog.c index de74939b1..6a9fa6e10 100644 --- a/src/prefs-dialog.c +++ b/src/prefs-dialog.c @@ -21,16 +21,15 @@ #endif #include "prefs-dialog.h" -#include "general-prefs.h" -#include "appearance-prefs.h" #include "ephy-dialog.h" #include "ephy-prefs.h" #include "ephy-embed-prefs.h" #include "ephy-shell.h" -#include "ephy-state.h" #include "ephy-gui.h" +#include "eel-gconf-extensions.h" +#include "language-editor.h" -#include <bonobo/bonobo-i18n.h> +#include <libgnome/gnome-i18n.h> #include <gtk/gtkframe.h> #include <gtk/gtkhbox.h> #include <gtk/gtkvbox.h> @@ -39,6 +38,7 @@ #include <gtk/gtkimage.h> #include <gtk/gtklabel.h> #include <gtk/gtkstock.h> +#include <string.h> static void prefs_dialog_class_init (PrefsDialogClass *klass); @@ -57,40 +57,204 @@ prefs_clear_memory_cache_button_clicked_cb (GtkWidget *button, void prefs_clear_disk_cache_button_clicked_cb (GtkWidget *button, gpointer data); +void +prefs_dialog_response_cb (GtkDialog *dialog, gint response_id, gpointer data); +void +fonts_language_optionmenu_changed_cb (GtkWidget *optionmenu, EphyDialog *dialog); +void +prefs_homepage_current_button_clicked_cb (GtkWidget *button, + EphyDialog *dialog); +void +prefs_homepage_blank_button_clicked_cb (GtkWidget *button, + EphyDialog *dialog); +void +prefs_language_more_button_clicked_cb (GtkWidget *button, + EphyDialog *dialog); +/* FIXME duped in mozilla/ */ +const +char *lang_encode[] = +{ + "x-western", + "x-central-euro", + "ja", + "zh-TW", + "zh-CN", + "ko", + "x-cyrillic", + "x-baltic", + "el", + "tr", + "x-unicode", + "th", + "he", + "ar" +}; -/* Proxy page */ +static const +struct +{ + char *name; + char *code; +} +languages [] = +{ + { N_("Afrikaans"), "ak" }, + { N_("Albanian"), "sq" }, + { N_("Arabic"), "ar" }, + { N_("Azerbaijani"), "az" }, + { N_("Basque"), "eu" }, + { N_("Breton"), "br" }, + { N_("Bulgarian"), "bg" }, + { N_("Byelorussian"), "be" }, + { N_("Catalan"), "ca" }, + { N_("Chinese"), "zh" }, + { N_("Croatian"), "hr" }, + { N_("Czech"), "cs" }, + { N_("Danish"), "da" }, + { N_("Dutch"), "nl" }, + { N_("English"), "en" }, + { N_("Esperanto"), "eo" }, + { N_("Estonian"), "et" }, + { N_("Faeroese"), "fo" }, + { N_("Finnish"), "fi" }, + { N_("French"), "fr" }, + { N_("Galician"), "gl" }, + { N_("German"), "de" }, + { N_("Greek"), "el" }, + { N_("Hebrew"), "he" }, + { N_("Hungarian"), "hu" }, + { N_("Icelandic"), "is" }, + { N_("Indonesian"), "id" }, + { N_("Irish"), "ga" }, + { N_("Italian"), "it" }, + { N_("Japanese"), "ja" }, + { N_("Korean"), "ko" }, + { N_("Latvian"), "lv" }, + { N_("Lithuanian"), "lt" }, + { N_("Macedonian"), "mk" }, + { N_("Malay"), "ms" }, + { N_("Norwegian/Nynorsk"), "nn" }, + { N_("Norwegian/Bokmaal"), "nb" }, + { N_("Norwegian"), "no" }, + { N_("Polish"), "pl" }, + { N_("Portuguese"), "pt" }, + { N_("Portuguese of Brazil"), "pt-BR" }, + { N_("Romanian"), "ro" }, + { N_("Russian"), "ru" }, + { N_("Scottish"), "gd" }, + { N_("Serbian"), "sr" }, + { N_("Slovak"), "sk" }, + { N_("Slovenian"), "sl" }, + { N_("Spanish"), "es" }, + { N_("Swedish"), "sv" }, + { N_("Tamil"), "ta" }, + { N_("Turkish"), "tr" }, + { N_("Ukrainian"), "uk" }, + { N_("Vietnamian"), "vi" }, + { N_("Walloon"), "wa" }, + { NULL, NULL } +}; enum { - CACHE_COMPARE_PROP, - DISK_CACHE_PROP, - MEMORY_CACHE_PROP + FONT_TYPE_SERIF, + FONT_TYPE_SANSSERIF, + FONT_TYPE_MONOSPACE }; -static const -EphyDialogProperty network_properties [] = +const +char *fonts_types[] = { - { CACHE_COMPARE_PROP, "cache_compare_radiobutton", CONF_NETWORK_CACHE_COMPARE, PT_AUTOAPPLY, NULL }, - { DISK_CACHE_PROP, "disk_cache_spin", CONF_NETWORK_DISK_CACHE, PT_AUTOAPPLY, NULL }, - { MEMORY_CACHE_PROP, "memory_cache_spin", CONF_NETWORK_MEMORY_CACHE, PT_AUTOAPPLY, NULL }, + "serif", + "sans-serif", + "monospace" +}; - { -1, NULL, NULL } +enum +{ + FONT_SIZE_FIXED, + FONT_SIZE_VAR, + FONT_SIZE_MIN +}; + +const +char *size_prefs[] = +{ + CONF_RENDERING_FONT_FIXED_SIZE, + CONF_RENDERING_FONT_VAR_SIZE, + CONF_RENDERING_FONT_MIN_SIZE }; enum { + WINDOW_PROP, + NOTEBOOK_PROP, + + /* General */ OPEN_IN_TABS_PROP, - JUMP_TO_PROP, - POPUPS_PROP + HOMEPAGE_ENTRY_PROP, + NEW_PAGE_PROP, + AUTOCHARSET_PROP, + DEFAULT_CHARSET_PROP, + LANGUAGE_PROP, + + /* Appeareance */ + SERIF_PROP, + SANSSERIF_PROP, + MONOSPACE_PROP, + FIXED_SIZE_PROP, + VARIABLE_SIZE_PROP, + MIN_SIZE_PROP, + PROPORTIONAL_PROP, + BACKGROUND_PROP, + TEXT_PROP, + UNVISITED_PROP, + VISITED_PROP, + USE_SYSCOLORS_PROP, + USE_COLORS_PROP, + USE_FONTS_PROP, + + /* Advanced */ + CACHE_COMPARE_PROP, + DISK_CACHE_PROP, + MEMORY_CACHE_PROP }; static const -EphyDialogProperty ui_properties [] = +EphyDialogProperty properties [] = { + { WINDOW_PROP, "prefs_dialog", NULL, PT_NORMAL, NULL }, + { NOTEBOOK_PROP, "prefs_notebook", NULL, PT_NORMAL, NULL }, + + /* General */ { OPEN_IN_TABS_PROP, "open_in_tabs_checkbutton", CONF_TABS_TABBED, PT_AUTOAPPLY, NULL }, - { JUMP_TO_PROP, "jump_to_checkbutton", CONF_TABS_TABBED_AUTOJUMP, PT_AUTOAPPLY, NULL }, - { POPUPS_PROP, "popups_checkbutton", CONF_TABS_TABBED_POPUPS, PT_AUTOAPPLY, NULL }, + { HOMEPAGE_ENTRY_PROP, "homepage_entry", CONF_GENERAL_HOMEPAGE, PT_AUTOAPPLY, NULL }, + { NEW_PAGE_PROP, "new_page_show_homepage", CONF_GENERAL_NEWPAGE_TYPE, PT_AUTOAPPLY, NULL }, + { AUTOCHARSET_PROP, "autocharset_optionmenu", CONF_LANGUAGE_AUTODETECT_CHARSET, PT_AUTOAPPLY, NULL }, + { DEFAULT_CHARSET_PROP, "default_charset_optionmenu", NULL, PT_NORMAL, NULL }, + { LANGUAGE_PROP, "language_optionmenu", NULL, PT_NORMAL, NULL }, + + /* Appeareance */ + { SERIF_PROP, "serif_combo", NULL, PT_NORMAL, NULL }, + { SANSSERIF_PROP, "sansserif_combo", NULL, PT_NORMAL, NULL }, + { MONOSPACE_PROP, "monospace_combo", NULL, PT_NORMAL, NULL }, + { FIXED_SIZE_PROP, "fixed_size_spinbutton", NULL, PT_NORMAL, NULL }, + { VARIABLE_SIZE_PROP, "variable_size_spinbutton", NULL, PT_NORMAL, NULL }, + { MIN_SIZE_PROP, "min_size_spinbutton", NULL, PT_NORMAL, NULL }, + { PROPORTIONAL_PROP, "proportional_optionmenu", CONF_RENDERING_DEFAULT_FONT, PT_AUTOAPPLY, NULL }, + { BACKGROUND_PROP, "background_cpick", CONF_RENDERING_BG_COLOR, PT_AUTOAPPLY, NULL }, + { TEXT_PROP, "text_cpick", CONF_RENDERING_TEXT_COLOR, PT_AUTOAPPLY, NULL }, + { UNVISITED_PROP, "unvisited_cpick", CONF_RENDERING_UNVISITED_LINKS, PT_AUTOAPPLY, NULL }, + { VISITED_PROP, "visited_cpick", CONF_RENDERING_VISITED_LINKS, PT_AUTOAPPLY, NULL }, + { USE_SYSCOLORS_PROP, "use_syscolors_checkbutton", CONF_RENDERING_USE_SYSTEM_COLORS, PT_AUTOAPPLY, NULL }, + { USE_COLORS_PROP, "use_colors_checkbutton", CONF_RENDERING_USE_OWN_COLORS, PT_AUTOAPPLY, NULL }, + { USE_FONTS_PROP, "use_fonts_checkbutton", CONF_RENDERING_USE_OWN_FONTS, PT_AUTOAPPLY, NULL }, + + /* Advanced */ + { CACHE_COMPARE_PROP, "cache_compare_radiobutton", CONF_NETWORK_CACHE_COMPARE, PT_AUTOAPPLY, NULL }, + { DISK_CACHE_PROP, "disk_cache_spin", CONF_NETWORK_DISK_CACHE, PT_AUTOAPPLY, NULL }, + { MEMORY_CACHE_PROP, "memory_cache_spin", CONF_NETWORK_MEMORY_CACHE, PT_AUTOAPPLY, NULL }, { -1, NULL, NULL } }; @@ -98,6 +262,10 @@ EphyDialogProperty ui_properties [] = struct PrefsDialogPrivate { GtkWidget *notebook; + GtkWidget *window; + + int language; + gboolean switching; }; static GObjectClass *parent_class = NULL; @@ -122,7 +290,7 @@ prefs_dialog_get_type (void) (GInstanceInitFunc) prefs_dialog_init }; - prefs_dialog_type = g_type_register_static (GTK_TYPE_DIALOG, + prefs_dialog_type = g_type_register_static (EPHY_DIALOG_TYPE, "PrefsDialog", &our_info, 0); } @@ -131,12 +299,14 @@ prefs_dialog_get_type (void) } -GtkDialog * -prefs_dialog_new (void) +EphyDialog * +prefs_dialog_new (GtkWidget *parent) { - GtkDialog *dialog; + EphyDialog *dialog; - dialog = GTK_DIALOG (g_object_new (PREFS_DIALOG_TYPE, NULL)); + dialog = EPHY_DIALOG (g_object_new (PREFS_DIALOG_TYPE, + "ParentWindow", parent, + NULL)); return dialog; } @@ -168,188 +338,473 @@ prefs_dialog_finalize (GObject *object) G_OBJECT_CLASS (parent_class)->finalize (object); } -static EphyDialog * -create_page (PrefsPageID id, - const char *page_widget, - const EphyDialogProperty *prop) +static void +prefs_dialog_show_help (PrefsDialog *pd) { - EphyDialog *page = NULL; + gint id; + + /* FIXME: Once we actually have documentation we + * should point these at the correct links. + */ + gchar *help_preferences[] = { + "setting-preferences", + "setting-preferences", + "setting-preferences", + "setting-preferences" + }; + + id = gtk_notebook_get_current_page (GTK_NOTEBOOK (pd->priv->notebook)); + + ephy_gui_help (GTK_WINDOW (pd), "epiphany", help_preferences[id]); +} + +static void +setup_font_menu (PrefsDialog *dialog, + const char *type, + GtkWidget *combo) +{ + char *default_font; + GList *fonts; + const char *name; + char key[255]; + int pos; + GtkWidget *entry = GTK_COMBO(combo)->entry; + EphyEmbedSingle *single; + + single = ephy_embed_shell_get_embed_single + (EPHY_EMBED_SHELL (ephy_shell)); + + ephy_embed_single_get_font_list (single, + lang_encode[dialog->priv->language], + type, &fonts, &default_font); + + /* Get the default font */ + sprintf (key, "%s_%s_%s", CONF_RENDERING_FONT, type, + lang_encode[dialog->priv->language]); + name = eel_gconf_get_string (key); + if (name == NULL) + { + name = default_font; + } + + /* set popdown doesnt like NULL */ + if (fonts == NULL) + { + fonts = g_list_alloc (); + } + + gtk_combo_set_popdown_strings (GTK_COMBO(combo), fonts); - switch (id) + /* set the default value */ + if (name != NULL) { - case PREFS_PAGE_GENERAL: - page = general_prefs_new (); - break; - case PREFS_PAGE_APPEARANCE: - page = appearance_prefs_new (); - break; - case PREFS_PAGE_UI: - case PREFS_PAGE_ADVANCED: - page = ephy_dialog_new (); - ephy_dialog_construct (EPHY_DIALOG(page), - prop, - "prefs-dialog.glade", - page_widget); - break; + gtk_editable_delete_text (GTK_EDITABLE(entry), 0, -1); + gtk_editable_insert_text (GTK_EDITABLE(entry), + name, g_utf8_strlen (name, -1), + &pos); } - return page; + g_free (default_font); + + g_list_foreach (fonts, (GFunc)g_free, NULL); + g_list_free (fonts); } -static EphyDialog * -prefs_dialog_get_page (PrefsDialog *pd, - PrefsPageID id) +static void +save_font_menu (PrefsDialog *dialog, + int type, + GtkWidget *entry) { - const char *page_widget = NULL; - EphyDialog *page; - const EphyDialogProperty *prop = NULL; + char *name; + char key[255]; - switch (id) + name = gtk_editable_get_chars + (GTK_EDITABLE(entry), 0, -1); + + /* do not save empty fonts */ + if (!name || *name == '\0') { - case PREFS_PAGE_APPEARANCE: - page_widget = "appearance_page_box"; - break; - case PREFS_PAGE_GENERAL: - page_widget = "general_page_box"; - break; - case PREFS_PAGE_UI: - page_widget = "ui_page_box"; - prop = ui_properties; - break; - case PREFS_PAGE_ADVANCED: - page_widget = "network_page_box"; - prop = network_properties; - break; + g_free (name); + return; } - g_assert (page_widget != NULL); + sprintf (key, "%s_%s_%s", CONF_RENDERING_FONT, + fonts_types[type], + lang_encode[dialog->priv->language]); + eel_gconf_set_string (key, name); + g_free (name); +} + +static void +font_entry_changed_cb (GtkWidget *entry, PrefsDialog *dialog) +{ + int type; - page = create_page (id, page_widget, prop); - g_assert (page != NULL); + if (dialog->priv->switching) return; - return page; + type = GPOINTER_TO_INT (g_object_get_data (G_OBJECT(entry), + "type")); + save_font_menu (dialog, type, entry); } -void -prefs_dialog_show_page (PrefsDialog *pd, - PrefsPageID id) +static void +attach_font_signal (PrefsDialog *dialog, int prop, + gpointer type) { - gtk_notebook_set_current_page (GTK_NOTEBOOK (pd->priv->notebook), id); + GtkWidget *combo; + GtkWidget *entry; + + combo = ephy_dialog_get_control (EPHY_DIALOG(dialog), + prop); + entry = GTK_COMBO(combo)->entry; + g_object_set_data (G_OBJECT(entry), "type", type); + g_signal_connect (entry, "changed", + G_CALLBACK(font_entry_changed_cb), + dialog); } static void -prefs_dialog_show_help (PrefsDialog *pd) +attach_fonts_signals (PrefsDialog *dialog) { - gint id; + attach_font_signal (dialog, SERIF_PROP, + GINT_TO_POINTER(FONT_TYPE_SERIF)); + attach_font_signal (dialog, SANSSERIF_PROP, + GINT_TO_POINTER(FONT_TYPE_SANSSERIF)); + attach_font_signal (dialog, MONOSPACE_PROP, + GINT_TO_POINTER(FONT_TYPE_MONOSPACE)); +} - /* FIXME: Once we actually have documentation we - * should point these at the correct links. - */ - gchar *help_preferences[] = { - "setting-preferences", - "setting-preferences", - "setting-preferences", - "setting-preferences" - }; +static void +size_spinbutton_changed_cb (GtkWidget *spin, PrefsDialog *dialog) +{ + int type; + char key[255]; - id = gtk_notebook_get_current_page (GTK_NOTEBOOK (pd->priv->notebook)); + if (dialog->priv->switching) return; - ephy_gui_help (GTK_WINDOW (pd), "epiphany", help_preferences[id]); + type = GPOINTER_TO_INT(g_object_get_data (G_OBJECT(spin), "type")); + + sprintf (key, "%s_%s", + size_prefs[type], + lang_encode[dialog->priv->language]); + eel_gconf_set_integer (key, gtk_spin_button_get_value (GTK_SPIN_BUTTON (spin))); } static void -prefs_dialog_response_cb (GtkDialog *dialog, gint response_id, gpointer data) +attach_size_controls_signals (PrefsDialog *dialog) { - if (response_id == GTK_RESPONSE_CLOSE) - { - gtk_widget_destroy (GTK_WIDGET(dialog)); - } - else if (response_id == GTK_RESPONSE_HELP) - { - PrefsDialog *pd = (PrefsDialog *)data; - prefs_dialog_show_help (pd); - } + GtkWidget *spin; + + spin = ephy_dialog_get_control (EPHY_DIALOG(dialog), + FIXED_SIZE_PROP); + g_object_set_data (G_OBJECT(spin), "type", + GINT_TO_POINTER(FONT_SIZE_FIXED)); + g_signal_connect (spin, "value_changed", + G_CALLBACK(size_spinbutton_changed_cb), + dialog); + + spin = ephy_dialog_get_control (EPHY_DIALOG(dialog), + VARIABLE_SIZE_PROP); + g_object_set_data (G_OBJECT(spin), "type", + GINT_TO_POINTER(FONT_SIZE_VAR)); + g_signal_connect (spin, "value_changed", + G_CALLBACK(size_spinbutton_changed_cb), + dialog); + + spin = ephy_dialog_get_control (EPHY_DIALOG(dialog), + MIN_SIZE_PROP); + g_object_set_data (G_OBJECT(spin), "type", + GINT_TO_POINTER(FONT_SIZE_MIN)); + g_signal_connect (spin, "value_changed", + G_CALLBACK(size_spinbutton_changed_cb), + dialog); +} + +static void +setup_size_control (PrefsDialog *dialog, + const char *pref, + int default_size, + GtkWidget *spin) +{ + char key[255]; + int size; + + sprintf (key, "%s_%s", pref, + lang_encode[dialog->priv->language]); + size = eel_gconf_get_integer (key); + + if (size == 0) size = default_size; + + gtk_spin_button_set_value (GTK_SPIN_BUTTON(spin), size); +} + +static void +setup_size_controls (PrefsDialog *dialog) +{ + GtkWidget *spin; + + spin = ephy_dialog_get_control (EPHY_DIALOG(dialog), + FIXED_SIZE_PROP); + setup_size_control (dialog, CONF_RENDERING_FONT_FIXED_SIZE, 12, spin); + + spin = ephy_dialog_get_control (EPHY_DIALOG(dialog), + VARIABLE_SIZE_PROP); + setup_size_control (dialog, CONF_RENDERING_FONT_VAR_SIZE, 16, spin); + + spin = ephy_dialog_get_control (EPHY_DIALOG(dialog), + MIN_SIZE_PROP); + setup_size_control (dialog, CONF_RENDERING_FONT_MIN_SIZE, 0, spin); +} + +static void +setup_fonts (PrefsDialog *dialog) +{ + GtkWidget *combo; + + dialog->priv->switching = TRUE; + + combo = ephy_dialog_get_control (EPHY_DIALOG(dialog), + SERIF_PROP); + setup_font_menu (dialog, "serif", combo); + + combo = ephy_dialog_get_control (EPHY_DIALOG(dialog), + SANSSERIF_PROP); + setup_font_menu (dialog, "sans-serif", combo); + + combo = ephy_dialog_get_control (EPHY_DIALOG(dialog), + MONOSPACE_PROP); + setup_font_menu (dialog, "monospace", combo); + + dialog->priv->switching = FALSE; } static void -prefs_build_notebook (PrefsDialog *pd) +default_charset_menu_changed_cb (GtkOptionMenu *option_menu, + EphyEmbedShell *shell) { + GList *charsets; int i; - GtkWidget *nb; + CharsetInfo *info; + EphyEmbedSingle *single; + + single = ephy_embed_shell_get_embed_single + (EPHY_EMBED_SHELL (ephy_shell)); + + ephy_embed_single_get_charset_titles (single, NULL, &charsets); - struct + i = gtk_option_menu_get_history (option_menu); + charsets = g_list_nth (charsets, i); + g_assert (charsets != NULL); + info = (CharsetInfo *) charsets->data; + eel_gconf_set_string (CONF_LANGUAGE_DEFAULT_CHARSET, + info->name); + + g_list_free (charsets); +} + +static gint +find_charset_in_list_cmp (gconstpointer a, + gconstpointer b) +{ + CharsetInfo *info = (CharsetInfo *)a; + const char *value = b; + + return (strcmp (info->name, value)); +} + +static void +create_default_charset_menu (PrefsDialog *dialog) +{ + GList *l; + GList *charsets; + GtkWidget *menu; + GtkWidget *optionmenu; + char *value; + EphyEmbedSingle *single; + + single = ephy_embed_shell_get_embed_single + (EPHY_EMBED_SHELL (ephy_shell)); + + ephy_embed_single_get_charset_titles (single, NULL, &l); + + menu = gtk_menu_new (); + + optionmenu = ephy_dialog_get_control (EPHY_DIALOG (dialog), + DEFAULT_CHARSET_PROP); + + for (charsets = l; charsets != NULL; charsets = charsets->next) { - char *name; - int id; + CharsetInfo *info = (CharsetInfo *) charsets->data; + GtkWidget *item; + + item = gtk_menu_item_new_with_label (info->title); + gtk_menu_shell_append (GTK_MENU_SHELL(menu), + item); + gtk_widget_show (item); } - pages[] = - { - { _("General"), PREFS_PAGE_GENERAL }, - { _("Appearance"), PREFS_PAGE_APPEARANCE }, - { _("User Interface"), PREFS_PAGE_UI }, - { _("Advanced"), PREFS_PAGE_ADVANCED }, - { NULL, 0 } - }; + gtk_option_menu_set_menu (GTK_OPTION_MENU(optionmenu), menu); - gtk_dialog_add_button (GTK_DIALOG (pd), GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE); + /* init value */ + charsets = l; + value = eel_gconf_get_string (CONF_LANGUAGE_DEFAULT_CHARSET); + g_return_if_fail (value != NULL); + charsets = g_list_find_custom (charsets, (gconstpointer)value, + (GCompareFunc)find_charset_in_list_cmp); + gtk_option_menu_set_history (GTK_OPTION_MENU(optionmenu), + g_list_position (l, charsets)); + g_free (value); - gtk_dialog_add_button (GTK_DIALOG (pd), GTK_STOCK_HELP, GTK_RESPONSE_HELP); - g_signal_connect (pd, "response", - G_CALLBACK (prefs_dialog_response_cb), - pd); + g_signal_connect (optionmenu, "changed", + G_CALLBACK (default_charset_menu_changed_cb), + embed_shell); - gtk_container_set_border_width (GTK_CONTAINER (pd), 5); + g_list_free (l); +} + +static GtkWidget * +general_prefs_new_language_menu (PrefsDialog *dialog) +{ + int i; + GtkWidget *menu; - nb = gtk_notebook_new (); - gtk_container_set_border_width (GTK_CONTAINER (nb), 5); - gtk_widget_show (nb); - gtk_container_add (GTK_CONTAINER (GTK_DIALOG (pd)->vbox), nb); - gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nb), TRUE); - pd->priv->notebook = nb; + menu = gtk_menu_new (); - for (i = 0; pages[i].name != NULL; i++) + for (i = 0; languages[i].name != NULL; i++) { - GtkWidget *label, *child; - EphyDialog *page; + GtkWidget *item; + + item = gtk_menu_item_new_with_label (languages[i].name); + gtk_menu_shell_append (GTK_MENU_SHELL(menu), + item); + gtk_widget_show (item); + g_object_set_data (G_OBJECT(item), "desc", + languages[i].name); + } + + return menu; +} + +static void +language_menu_changed_cb (GtkOptionMenu *option_menu, + gpointer data) +{ + GSList *list; + GSList *l = NULL; + int history; + + list = eel_gconf_get_string_list (CONF_RENDERING_LANGUAGE); + l = g_slist_copy (list); + + /* Subst the first item according to the optionmenu */ + history = gtk_option_menu_get_history (option_menu); + l->data = languages [history].code; + + eel_gconf_set_string_list (CONF_RENDERING_LANGUAGE, l); + + g_slist_free (l); +} + +static void +create_language_menu (PrefsDialog *dialog) +{ + GtkWidget *optionmenu; + GtkWidget *menu; + const char *value; + int i; + GSList *list; - page = prefs_dialog_get_page (pd, pages[i].id); + optionmenu = ephy_dialog_get_control (EPHY_DIALOG (dialog), + LANGUAGE_PROP); - child = gtk_hbox_new (FALSE, 0); - gtk_widget_show (child); - label = gtk_label_new (pages[i].name); - gtk_notebook_append_page (GTK_NOTEBOOK (nb), - child, label); + menu = general_prefs_new_language_menu (dialog); - ephy_dialog_show_embedded (page, child); + gtk_option_menu_set_menu (GTK_OPTION_MENU(optionmenu), menu); + + /* init value */ + list = eel_gconf_get_string_list (CONF_RENDERING_LANGUAGE); + g_return_if_fail (list != NULL); + value = (const char *)list->data; + + i = 0; + while (languages[i].code && strcmp (languages[i].code, value) != 0) + { + i++; } + + gtk_option_menu_set_history (GTK_OPTION_MENU(optionmenu), i); + + g_signal_connect (optionmenu, "changed", + G_CALLBACK (language_menu_changed_cb), + NULL); } static void +set_homepage_entry (EphyDialog *dialog, + const char *new_location) +{ + GtkWidget *entry; + int pos; + + entry = ephy_dialog_get_control (dialog, HOMEPAGE_ENTRY_PROP); + + gtk_editable_delete_text (GTK_EDITABLE (entry), 0, -1); + gtk_editable_insert_text (GTK_EDITABLE (entry), new_location, + g_utf8_strlen (new_location, -1), + &pos); +} + + +static void prefs_dialog_init (PrefsDialog *pd) { + EphyDialog *dialog = EPHY_DIALOG (pd); GdkPixbuf *icon; + pd->priv = g_new0 (PrefsDialogPrivate, 1); - gtk_window_set_title (GTK_WINDOW(pd), _("Preferences")); - gtk_dialog_set_has_separator (GTK_DIALOG(pd), FALSE); - - ephy_state_add_window (GTK_WIDGET(pd), - "prefs_dialog", -1, -1); - - icon = gtk_widget_render_icon (GTK_WIDGET(pd), - GTK_STOCK_PREFERENCES, - GTK_ICON_SIZE_MENU, - "prefs_dialog"); - gtk_window_set_icon (GTK_WINDOW(pd), icon); + ephy_dialog_construct (EPHY_DIALOG (pd), + properties, + "prefs-dialog.glade", + "prefs_dialog"); + + pd->priv->window = ephy_dialog_get_control (dialog, WINDOW_PROP); + pd->priv->notebook = ephy_dialog_get_control (dialog, NOTEBOOK_PROP); + + + icon = gtk_widget_render_icon (pd->priv->window, + GTK_STOCK_PREFERENCES, + GTK_ICON_SIZE_MENU, + "prefs_dialog"); + gtk_window_set_icon (GTK_WINDOW (pd->priv->window), icon); g_object_unref(icon); - prefs_build_notebook (pd); + pd->priv->switching = FALSE; + setup_fonts (pd); + setup_size_controls (pd); + attach_fonts_signals (pd); + attach_size_controls_signals (pd); + create_default_charset_menu (pd); + create_language_menu (pd); } /* Network page callbacks */ void +prefs_dialog_response_cb (GtkDialog *dialog, gint response_id, gpointer data) +{ + if (response_id == GTK_RESPONSE_CLOSE) + { + gtk_widget_destroy (GTK_WIDGET(dialog)); + } + else if (response_id == GTK_RESPONSE_HELP) + { + PrefsDialog *pd = (PrefsDialog *)data; + prefs_dialog_show_help (pd); + } +} + +void prefs_clear_memory_cache_button_clicked_cb (GtkWidget *button, gpointer data) { @@ -372,3 +827,114 @@ prefs_clear_disk_cache_button_clicked_cb (GtkWidget *button, ephy_embed_single_clear_cache (single, DISK_CACHE); } + +void +fonts_language_optionmenu_changed_cb (GtkWidget *optionmenu, + EphyDialog *dialog) +{ + int i; + PrefsDialog *pd = PREFS_DIALOG (dialog); + + i = gtk_option_menu_get_history + (GTK_OPTION_MENU (optionmenu)); + + pd->priv->language = i; + + setup_fonts (pd); + setup_size_controls (pd); +} + +void +prefs_homepage_current_button_clicked_cb (GtkWidget *button, + EphyDialog *dialog) +{ + EphyWindow *window; + EphyTab *tab; + + window = ephy_shell_get_active_window (ephy_shell); + g_return_if_fail (window != NULL); + + tab = ephy_window_get_active_tab (window); + g_return_if_fail (tab != NULL); + + set_homepage_entry (dialog, ephy_tab_get_location (tab)); +} + +void +prefs_homepage_blank_button_clicked_cb (GtkWidget *button, + EphyDialog *dialog) +{ + set_homepage_entry (dialog, "about:blank"); +} + +static void +fill_language_editor (LanguageEditor *le) +{ + GSList *strings; + GSList *tmp; + int i; + + /* Fill the list */ + strings = eel_gconf_get_string_list (CONF_RENDERING_LANGUAGE); + + for (tmp = strings; tmp != NULL; tmp = g_slist_next (tmp)) + { + char *value = (char *)tmp->data; + + i = 0; + while (languages[i].code && strcmp (languages[i].code, value) != 0) + { + i++; + } + + /* FIXME unsafe, bad prefs could cause it to access random memory */ + language_editor_add (le, languages[i].name, i); + } +} + +static void +language_dialog_changed_cb (LanguageEditor *le, + GSList *list, + PrefsDialog *dialog) +{ + GtkWidget *optionmenu; + const GSList *l; + GSList *langs = NULL; + + optionmenu = ephy_dialog_get_control (EPHY_DIALOG (dialog), + LANGUAGE_PROP); + gtk_option_menu_set_history (GTK_OPTION_MENU(optionmenu), + GPOINTER_TO_INT(list->data)); + + for (l = list; l != NULL; l = l->next) + { + int i = GPOINTER_TO_INT (l->data); + langs = g_slist_append (langs, languages[i].code); + } + + eel_gconf_set_string_list (CONF_RENDERING_LANGUAGE, langs); + g_slist_free (langs); +} + +void +prefs_language_more_button_clicked_cb (GtkWidget *button, + EphyDialog *dialog) +{ + LanguageEditor *editor; + GtkWidget *menu; + GtkWidget *toplevel; + + menu = general_prefs_new_language_menu (PREFS_DIALOG (dialog)); + + toplevel = gtk_widget_get_toplevel (button); + editor = language_editor_new (toplevel); + language_editor_set_menu (editor, menu); + fill_language_editor (editor); + ephy_dialog_set_modal (EPHY_DIALOG(editor), TRUE); + + g_signal_connect (editor, "changed", + G_CALLBACK(language_dialog_changed_cb), + dialog); + + ephy_dialog_show (EPHY_DIALOG(editor)); +} diff --git a/src/prefs-dialog.h b/src/prefs-dialog.h index 3c5528b2f..358886d10 100644 --- a/src/prefs-dialog.h +++ b/src/prefs-dialog.h @@ -19,7 +19,8 @@ #ifndef PREFS_DIALOG_H #define PREFS_DIALOG_H -#include <gtk/gtkdialog.h> +#include "ephy-dialog.h" + #include <glib-object.h> #include <glib.h> @@ -34,30 +35,19 @@ typedef struct PrefsDialogClass PrefsDialogClass; typedef struct PrefsDialogPrivate PrefsDialogPrivate; -typedef enum -{ - PREFS_PAGE_GENERAL, - PREFS_PAGE_APPEARANCE, - PREFS_PAGE_UI, - PREFS_PAGE_ADVANCED -} PrefsPageID; - struct PrefsDialog { - GtkDialog parent; + EphyDialog parent; PrefsDialogPrivate *priv; }; struct PrefsDialogClass { - GtkDialogClass parent_class; + EphyDialogClass parent_class; }; GType prefs_dialog_get_type (void); -GtkDialog *prefs_dialog_new (void); - -void prefs_dialog_show_page (PrefsDialog *pd, - PrefsPageID id); +EphyDialog *prefs_dialog_new (GtkWidget *parent); #endif diff --git a/src/window-commands.c b/src/window-commands.c index a64305efe..5d50f6e05 100644 --- a/src/window-commands.c +++ b/src/window-commands.c @@ -633,14 +633,10 @@ void window_cmd_edit_prefs (EggAction *action, EphyWindow *window) { - GtkDialog *dialog; + EphyDialog *dialog; - dialog = prefs_dialog_new (); - prefs_dialog_show_page (PREFS_DIALOG(dialog), - PREFS_PAGE_GENERAL); - gtk_window_set_transient_for (GTK_WINDOW (dialog), - GTK_WINDOW (window)); - gtk_widget_show (GTK_WIDGET(dialog)); + dialog = prefs_dialog_new (GTK_WIDGET (window)); + ephy_dialog_show (dialog); } static void |