summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@gnome.org>2003-09-07 00:57:25 +0000
committerMarco Pesenti Gritti <marco@src.gnome.org>2003-09-07 00:57:25 +0000
commitb2e1c7eee178b0c502edf5db64ec2c3749847b48 (patch)
tree5991ac7a07a79667cea3a37dea97b94aaf8bee39
parent1c9888aff99b19587bf1644bd4662ab04a364eda (diff)
downloadepiphany-css-fonts-branch.tar.gz
Working on a better fonts implementation using css.css-fonts-branch
2003-09-07 Marco Pesenti Gritti <marco@gnome.org> * data/epiphany.schemas.in: * data/glade/prefs-dialog.glade: * embed/ephy-embed-prefs.h: * embed/ephy-embed-single.c: * embed/ephy-embed-single.h: * embed/mozilla/mozilla-embed-single.cpp: * embed/mozilla/mozilla-notifiers.cpp: * src/prefs-dialog.c: (prefs_dialog_finalize), (prefs_dialog_init), (prefs_clear_cache_button_clicked_cb): Working on a better fonts implementation using css.
-rw-r--r--ChangeLog14
-rw-r--r--data/epiphany.schemas.in77
-rw-r--r--data/glade/prefs-dialog.glade517
-rw-r--r--embed/ephy-embed-prefs.h5
-rw-r--r--embed/ephy-embed-single.c12
-rw-r--r--embed/ephy-embed-single.h11
-rw-r--r--embed/mozilla/mozilla-embed-single.cpp1
-rw-r--r--embed/mozilla/mozilla-notifiers.cpp94
-rw-r--r--src/prefs-dialog.c409
9 files changed, 188 insertions, 952 deletions
diff --git a/ChangeLog b/ChangeLog
index cdec2e472..52a85afdc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2003-09-07 Marco Pesenti Gritti <marco@gnome.org>
+
+ * data/epiphany.schemas.in:
+ * data/glade/prefs-dialog.glade:
+ * embed/ephy-embed-prefs.h:
+ * embed/ephy-embed-single.c:
+ * embed/ephy-embed-single.h:
+ * embed/mozilla/mozilla-embed-single.cpp:
+ * embed/mozilla/mozilla-notifiers.cpp:
+ * src/prefs-dialog.c: (prefs_dialog_finalize), (prefs_dialog_init),
+ (prefs_clear_cache_button_clicked_cb):
+
+ Working on a better fonts implementation using css.
+
2003-09-06 Marco Pesenti Gritti <marco@gnome.org>
* src/bookmarks/ephy-bookmarks-menu.c: (ephy_bookmarks_menu_clean),
diff --git a/data/epiphany.schemas.in b/data/epiphany.schemas.in
index 7626161f9..b613144fe 100644
--- a/data/epiphany.schemas.in
+++ b/data/epiphany.schemas.in
@@ -35,25 +35,6 @@
</locale>
</schema>
<schema>
- <key>/schemas/apps/epiphany/dialogs/preferences_font_language</key>
- <applyto>/apps/epiphany/dialogs/preferences_font_language</applyto>
- <owner>epiphany</owner>
- <type>string</type>
- <locale name="C">
- <default>x-western</default>
- <short>The currently selected fonts language</short>
- <long>
- The currently selected fonts language. Valid values are "ar" (arabic),
- "x-baltic" (baltic languages), "x-central-euro" (central european languages),
- "x-cyrillic" (languages written with cyrillic alphabet), "el" (greek),
- "he" (hebrew), "ja" (japanese), "ko" (korean), "zh-CN" (simplified chinese),
- "th" (thai), "zh-TW" (traditional chinese), "tr" (turkish), "x-unicode" (other
- languages), "x-western" (languages written in latin script), "x-tamil" (tamil)
- and "x-devanagari" (devanagari).
- </long>
- </locale>
- </schema>
- <schema>
<key>/schemas/apps/epiphany/web/use_own_colors</key>
<applyto>/apps/epiphany/web/use_own_colors</applyto>
<owner>epiphany</owner>
@@ -78,6 +59,52 @@
</locale>
</schema>
<schema>
+ <key>/schemas/apps/epiphany/web/use_desktop_fonts</key>
+ <applyto>/apps/epiphany/web/use_desktop_fonts</applyto>
+ <owner>epiphany</owner>
+ <type>bool</type>
+ <default>true</default>
+ <locale name="C">
+ <short>Use desktop fonts</short>
+ <long>Use "Desktop Font" and "Terminal Font" for variable and
+ fixed width fonts.</long>
+ </locale>
+ </schema>
+ <schema>
+ <key>/schemas/apps/epiphany/web/fixed_width_font</key>
+ <applyto>/apps/epiphany/web/fixed_width_font</applyto>
+ <owner>epiphany</owner>
+ <type>string</type>
+ <default>Monospace 10</default>
+ <locale name="C">
+ <short>Fixed width font</short>
+ <long>Name of the fixed width font.</long>
+ </locale>
+ </schema>
+ <schema>
+ <key>/schemas/apps/epiphany/web/variable_width_font</key>
+ <applyto>/apps/epiphany/web/variable_width_font</applyto>
+ <owner>epiphany</owner>
+ <type>string</type>
+ <default>Sans 10</default>
+ <locale name="C">
+ <short>Variable width font</short>
+ <long>Name of the variable width font.</long>
+ </locale>
+ </schema>
+ <schema>
+ <key>/schemas/apps/epiphany/web/minimum_font_size</key>
+ <applyto>/apps/epiphany/web/minimum_font_size</applyto>
+ <owner>epiphany</owner>
+ <type>int</type>
+ <default>6</default>
+ <locale name="C">
+ <short>Minimum font size</short>
+ <long>The minum size of fonts, even if specified differently
+ by the web page author.</long>
+ </locale>
+ </schema>
+ <schema>
<key>/schemas/apps/epiphany/general/ask_download_dest</key>
<applyto>/apps/epiphany/general/ask_download_dest</applyto>
<owner>epiphany</owner>
@@ -173,18 +200,6 @@
</locale>
</schema>
<schema>
- <key>/schemas/apps/epiphany/web/default_font_type</key>
- <applyto>/apps/epiphany/web/default_font_type</applyto>
- <owner>epiphany</owner>
- <type>string</type>
- <default>serif</default>
- <locale name="C">
- <short>Default font type</short>
- <long>Default font type. Possible values are "serif" and "sans-serif".
- </long>
- </locale>
- </schema>
- <schema>
<key>/schemas/apps/epiphany/dialogs/downloader_show_details</key>
<applyto>/apps/epiphany/dialogs/downloader_show_details</applyto>
<owner>epiphany</owner>
diff --git a/data/glade/prefs-dialog.glade b/data/glade/prefs-dialog.glade
index 44e0e5498..52a9a86a8 100644
--- a/data/glade/prefs-dialog.glade
+++ b/data/glade/prefs-dialog.glade
@@ -495,307 +495,116 @@
</child>
<child>
- <widget class="GtkTable" id="table70">
+ <widget class="GtkVBox" id="vbox195">
<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>
+ <property name="spacing">6</property>
<child>
- <widget class="GtkSpinButton" id="variable_size_spinbutton">
+ <widget class="GtkCheckButton" id="use_desktop_fonts_checkbutton">
<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="label" translatable="yes">_Use desktop fonts</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>
-
- <child>
- <widget class="GtkLabel" id="label1138">
- <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="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="GtkLabel" id="label1121">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Language:</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">fonts_language_optionmenu</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="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>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
</packing>
</child>
<child>
- <widget class="GtkOptionMenu" id="fonts_language_optionmenu">
+ <widget class="GtkHBox" id="hbox181">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="history">-1</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">12</property>
- <child internal-child="menu">
- <widget class="GtkMenu" id="menu2">
+ <child>
+ <widget class="GtkLabel" id="variable_width_label">
<property name="visible">True</property>
+ <property name="label" translatable="yes">_Variable width:</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">variable_width_fontpicker</property>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</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="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">
- <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 class="GnomeFontPicker" id="variable_width_fontpicker">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="mode">GNOME_FONT_PICKER_MODE_FONT_INFO</property>
+ <property name="show_size">True</property>
+ <property name="use_font_in_label">False</property>
+ <property name="label_font_size">14</property>
</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">1</property>
- <property name="bottom_attach">2</property>
- <property name="y_options"></property>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox133">
+ <widget class="GtkHBox" id="hbox182">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">12</property>
<child>
- <widget class="GtkCheckButton" id="use_fonts_checkbutton">
+ <widget class="GtkLabel" id="fixed_width_label">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Always use _these fonts</property>
+ <property name="label" translatable="yes">_Fixed width:</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="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_width_fontpicker</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GnomeFontPicker" id="fixed_width_fontpicker">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="mode">GNOME_FONT_PICKER_MODE_FONT_INFO</property>
+ <property name="show_size">True</property>
+ <property name="use_font_in_label">False</property>
+ <property name="label_font_size">14</property>
</widget>
<packing>
<property name="padding">0</property>
@@ -803,11 +612,24 @@
<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="GtkHBox" id="hbox183">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">12</property>
<child>
- <widget class="GtkLabel" id="label1217">
+ <widget class="GtkLabel" id="minimum_size_label">
<property name="visible">True</property>
- <property name="label" translatable="yes">Min_imum font size:</property>
+ <property name="label" translatable="yes">_Minimum size:</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -817,7 +639,6 @@
<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>
@@ -827,7 +648,7 @@
</child>
<child>
- <widget class="GtkSpinButton" id="min_size_spinbutton">
+ <widget class="GtkSpinButton" id="spinbutton1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="climb_rate">1</property>
@@ -836,162 +657,38 @@
<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>
+ <property name="adjustment">1 0 100 1 10 10</property>
</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>
</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>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label1275">
+ <widget class="GtkCheckButton" id="use_fonts_checkbutton">
<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>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Always use these 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="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">False</property>
+ <property name="fill">False</property>
</packing>
</child>
</widget>
diff --git a/embed/ephy-embed-prefs.h b/embed/ephy-embed-prefs.h
index 50e63bdb7..294e3913f 100644
--- a/embed/ephy-embed-prefs.h
+++ b/embed/ephy-embed-prefs.h
@@ -1,5 +1,8 @@
#define CONF_NETWORK_CACHE_SIZE "/apps/epiphany/web/cache_size"
-#define CONF_RENDERING_FONT "/apps/epiphany/web/font"
+#define CONF_WEB_FIXED_WIDTH_FONT "/apps/epiphany/web/fixed_width_font"
+#define CONF_WEB_VARIABLE_WIDTH_FONT "/apps/epiphany/web/fixed_width_font"
+#define CONF_WEB_MINIMUM_FONT_SIZE "/apps/epiphany/web/minimum_font_size"
+#define CONF_WEB_USE_DESKTOP_FONTS "/apps/epiphany/web/use_desktop_fonts"
#define CONF_RENDERING_FONT_VAR_SIZE "/apps/epiphany/web/font_var_size"
#define CONF_RENDERING_FONT_FIXED_SIZE "/apps/epiphany/web/font_fixed_size"
#define CONF_RENDERING_FONT_MIN_SIZE "/apps/epiphany/web/font_min_size"
diff --git a/embed/ephy-embed-single.c b/embed/ephy-embed-single.c
index fe42ba07b..0fb9129b0 100644
--- a/embed/ephy-embed-single.c
+++ b/embed/ephy-embed-single.c
@@ -157,18 +157,6 @@ ephy_embed_single_get_language_groups (EphyEmbedSingle *shell,
}
gresult
-ephy_embed_single_get_font_list (EphyEmbedSingle *shell,
- const char *langGroup,
- const char *fontType,
- GList **fontList,
- char **default_font)
-{
- EphyEmbedSingleClass *klass = EPHY_EMBED_SINGLE_GET_CLASS (shell);
- return klass->get_font_list (shell, langGroup, fontType, fontList,
- default_font);
-}
-
-gresult
ephy_embed_single_list_cookies (EphyEmbedSingle *shell,
GList **cookies)
{
diff --git a/embed/ephy-embed-single.h b/embed/ephy-embed-single.h
index 2ca30f41b..bed411463 100644
--- a/embed/ephy-embed-single.h
+++ b/embed/ephy-embed-single.h
@@ -125,11 +125,6 @@ struct EphyEmbedSingleClass
LanguageGroup group,
gboolean elide_underscores,
GList **encodings);
- gresult (* get_font_list) (EphyEmbedSingle *shell,
- const char *langGroup,
- const char *fontType,
- GList **fontList,
- char **default_font);
gresult (* list_cookies) (EphyEmbedSingle *shell,
GList **cokies);
gresult (* remove_cookies) (EphyEmbedSingle *shell,
@@ -170,12 +165,6 @@ gresult ephy_embed_single_get_encodings (EphyEmbedSingle *shell,
gboolean elide_underscores,
GList **encodings);
-gresult ephy_embed_single_get_font_list (EphyEmbedSingle *shell,
- const char *langGroup,
- const char *fontType,
- GList **fontList,
- char **default_font);
-
/* Cookies */
gresult ephy_embed_single_list_cookies (EphyEmbedSingle *shell,
GList **cookies);
diff --git a/embed/mozilla/mozilla-embed-single.cpp b/embed/mozilla/mozilla-embed-single.cpp
index f81fdc1a1..92b2773bf 100644
--- a/embed/mozilla/mozilla-embed-single.cpp
+++ b/embed/mozilla/mozilla-embed-single.cpp
@@ -301,7 +301,6 @@ mozilla_embed_single_class_init (MozillaEmbedSingleClass *klass)
shell_class->load_proxy_autoconf = impl_load_proxy_autoconf;
shell_class->get_encodings = impl_get_encodings;
shell_class->get_language_groups = impl_get_language_groups;
- shell_class->get_font_list = impl_get_font_list;
shell_class->list_cookies = impl_list_cookies;
shell_class->remove_cookies = impl_remove_cookies;
shell_class->list_passwords = impl_list_passwords;
diff --git a/embed/mozilla/mozilla-notifiers.cpp b/embed/mozilla/mozilla-notifiers.cpp
index 6c46fe55e..0d521a517 100644
--- a/embed/mozilla/mozilla-notifiers.cpp
+++ b/embed/mozilla/mozilla-notifiers.cpp
@@ -113,7 +113,6 @@ mozilla_proxy_ignore_notifier (GConfClient *client,
/* Keeps the list of the notifiers we installed for mozilla prefs */
/* to be able to remove them when exiting */
GList *mozilla_notifiers = NULL;
-GList *font_infos = NULL;
enum
{
@@ -141,7 +140,6 @@ conversion_table [] =
{ CONF_NETWORK_SSL_PROXY_PORT, INT_PREF, "network.proxy.ssl_port"},
{ CONF_LANGUAGE_DEFAULT_ENCODING, STRING_PREF, "intl.charset.default" },
{ CONF_LANGUAGE_AUTODETECT_ENCODING, STRING_PREF, "intl.charset.detector" },
- { CONF_RENDERING_DEFAULT_FONT, STRING_PREF, "font.default" },
{ NULL, 0, NULL }
};
@@ -247,21 +245,6 @@ mozilla_cache_size_notifier (GConfClient *client,
}
static void
-mozilla_font_size_notifier (GConfClient *client,
- guint cnxn_id,
- GConfEntry *entry,
- char *pref)
-{
- char key[255];
-
- if (entry->value == NULL) return;
-
- sprintf (key, "font.%s", pref);
-
- mozilla_prefs_set_int (key, eel_gconf_get_integer (entry->key));
-}
-
-static void
mozilla_proxy_mode_notifier (GConfClient *client,
guint cnxn_id,
GConfEntry *entry,
@@ -318,27 +301,6 @@ mozilla_cookies_accept_notifier (GConfClient *client,
}
static void
-mozilla_font_notifier (GConfClient *client,
- guint cnxn_id,
- GConfEntry *entry,
- char *pref)
-{
- char key[255];
- char *name;
-
- if (entry->value == NULL) return;
-
- sprintf (key, "font.name.%s", pref);
-
- name = eel_gconf_get_string (entry->key);
- if (name)
- {
- mozilla_prefs_set_string (key, name);
- g_free (name);
- }
-}
-
-static void
mozilla_proxy_autoconfig_notifier (GConfClient *client,
guint cnxn_id,
GConfEntry *entry,
@@ -396,8 +358,6 @@ mozilla_notifiers_init(EphyEmbedSingle *single)
{
GConfClient *client = eel_gconf_client_get_global ();
guint i;
- guint n_fonts_languages;
- const FontsLanguageInfo *fonts_language;
for (i = 0; conversion_table[i].gconf_key != NULL; i++)
{
@@ -433,66 +393,12 @@ mozilla_notifiers_init(EphyEmbedSingle *single)
custom_notifiers[i].func,
(gpointer)single);
}
-
- /* fonts notifiers */
- n_fonts_languages = ephy_langs_get_n_font_languages ();
- fonts_language = ephy_langs_get_font_languages ();
- for (i = 0; i < n_fonts_languages; i++)
- {
- guint k;
- char *types [] = { "serif", "sans-serif", "cursive", "fantasy", "monospace" };
- char key[255];
- char *info;
-
- for (k = 0; k < G_N_ELEMENTS (types); k++)
- {
- info = g_strconcat (types[k], ".", fonts_language[i].code, NULL);
-
- g_snprintf (key, 255, "%s_%s_%s", CONF_RENDERING_FONT,
- types[k],
- fonts_language[i].code);
- add_notification_and_notify (client, key,
- (GConfClientNotifyFunc)mozilla_font_notifier,
- info);
- font_infos = g_list_append (font_infos, info);
- }
-
- g_snprintf (key, 255, "%s_%s", CONF_RENDERING_FONT_MIN_SIZE, fonts_language[i].code);
- info = g_strconcat ("minimum-size", ".", fonts_language[i].code, NULL);
- add_notification_and_notify (client, key,
- (GConfClientNotifyFunc)mozilla_font_size_notifier,
- info);
- font_infos = g_list_append (font_infos, info);
-
- g_snprintf (key, 255, "%s_%s", CONF_RENDERING_FONT_FIXED_SIZE, fonts_language[i].code);
- info = g_strconcat ("size.fixed", ".", fonts_language[i].code, NULL);
- add_notification_and_notify (client, key,
- (GConfClientNotifyFunc)mozilla_font_size_notifier,
- info);
- font_infos = g_list_append (font_infos, info);
-
- g_snprintf (key, 255, "%s_%s", CONF_RENDERING_FONT_VAR_SIZE, fonts_language[i].code);
- info = g_strconcat ("size.variable", ".", fonts_language[i].code, NULL);
- add_notification_and_notify (client, key,
- (GConfClientNotifyFunc)mozilla_font_size_notifier,
- info);
- font_infos = g_list_append (font_infos, info);
- }
}
void
mozilla_notifiers_free (void)
{
- GList *l;
-
ephy_notification_remove (&mozilla_notifiers);
-
- for (l = font_infos; l != NULL; l = l->next)
- {
- g_free (l->data);
- }
-
- g_list_free (font_infos);
}
/**
diff --git a/src/prefs-dialog.c b/src/prefs-dialog.c
index 6f0b05e97..2c0fd3221 100644
--- a/src/prefs-dialog.c
+++ b/src/prefs-dialog.c
@@ -61,8 +61,6 @@ prefs_clear_cache_button_clicked_cb (GtkWidget *button,
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
@@ -175,43 +173,6 @@ char *cookies_accept_enum [] =
};
static guint n_cookies_accept_enum = G_N_ELEMENTS (cookies_accept_enum);
-static const
-char *proportional_enum [] =
-{
- "serif", "sans-serif"
-};
-static guint n_proportional_enum = G_N_ELEMENTS (proportional_enum);
-
-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
-};
-
enum
{
WINDOW_PROP,
@@ -222,14 +183,9 @@ enum
HOMEPAGE_ENTRY_PROP,
/* Fonts and Colors */
- FONTS_LANGUAGE_PROP,
- SERIF_PROP,
- SANSSERIF_PROP,
- MONOSPACE_PROP,
- FIXED_SIZE_PROP,
- VARIABLE_SIZE_PROP,
- MIN_SIZE_PROP,
- PROPORTIONAL_PROP,
+ FIXED_WIDTH_LABEL_PROP,
+ VARIABLE_WIDTH_LABEL_PROP,
+ MINIMUM_SIZE_LABEL_PROP,
USE_COLORS_PROP,
USE_FONTS_PROP,
@@ -262,14 +218,9 @@ EphyDialogProperty properties [] =
{ HOMEPAGE_ENTRY_PROP, "homepage_entry", CONF_GENERAL_HOMEPAGE, PT_AUTOAPPLY, NULL },
/* Fonts and Colors */
- { FONTS_LANGUAGE_PROP, "fonts_language_optionmenu", CONF_FONTS_FOR_LANGUAGE, PT_AUTOAPPLY, NULL },
- { 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 },
+ { FIXED_WIDTH_LABEL_PROP, "fixed_width_label", NULL, PT_NORMAL, NULL },
+ { VARIABLE_WIDTH_LABEL_PROP, "variable_width_label", NULL, PT_NORMAL, NULL },
+ { MINIMUM_SIZE_LABEL_PROP, "minimum_size_label", NULL, PT_NORMAL, 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 },
@@ -300,6 +251,15 @@ int lang_size_group [] =
};
static guint n_lang_size_group = G_N_ELEMENTS (lang_size_group);
+static
+int font_size_group [] =
+{
+ FIXED_WIDTH_LABEL_PROP,
+ VARIABLE_WIDTH_LABEL_PROP,
+ MINIMUM_SIZE_LABEL_PROP
+};
+static guint n_font_size_group = G_N_ELEMENTS (font_size_group);
+
typedef struct
{
gchar *name;
@@ -317,10 +277,6 @@ struct PrefsDialogPrivate
GList *langs;
GList *encodings;
GList *autodetectors;
- GList *fonts_languages;
-
- guint language;
- gboolean switching;
};
static GObjectClass *parent_class = NULL;
@@ -403,9 +359,6 @@ prefs_dialog_finalize (GObject *object)
g_list_foreach (pd->priv->autodetectors, (GFunc) g_free, NULL);
g_list_free (pd->priv->autodetectors);
- g_list_foreach (pd->priv->fonts_languages, (GFunc) g_free, NULL);
- g_list_free (pd->priv->fonts_languages);
-
G_OBJECT_CLASS (parent_class)->finalize (object);
}
@@ -429,312 +382,6 @@ prefs_dialog_show_help (PrefsDialog *pd)
ephy_gui_help (GTK_WINDOW (pd->priv->window), "epiphany", help_preferences[id]);
}
-static const gchar *
-get_current_language_code (PrefsDialog *dialog)
-{
- GList *lang;
- FontsLanguageInfo *info;
-
- lang = g_list_nth (dialog->priv->fonts_languages, dialog->priv->language);
- g_assert (lang != NULL);
- info = (FontsLanguageInfo *) lang->data;
-
- return info->code;
-}
-
-static void
-setup_font_menu (PrefsDialog *dialog,
- const char *type,
- GtkWidget *combo)
-{
- char *default_font;
- GList *fonts = NULL;
- gchar *name;
- char key[255];
- 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,
- get_current_language_code (dialog),
- type, &fonts, &default_font);
-
- /* Get the default font */
- g_snprintf (key, 255, "%s_%s_%s", CONF_RENDERING_FONT, type,
- get_current_language_code (dialog));
- name = eel_gconf_get_string (key);
- if (name == NULL)
- {
- name = g_strdup (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)
- {
- int pos = 0;
-
- gtk_editable_delete_text (GTK_EDITABLE(entry), 0, -1);
- gtk_editable_insert_text (GTK_EDITABLE(entry),
- name, strlen (name),
- &pos);
- }
-
- g_free (default_font);
- g_free (name);
-
- g_list_foreach (fonts, (GFunc)g_free, NULL);
- g_list_free (fonts);
-}
-
-static void
-save_font_menu (PrefsDialog *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;
- }
-
- g_snprintf (key, 255, "%s_%s_%s", CONF_RENDERING_FONT,
- fonts_types[type],
- get_current_language_code (dialog));
- eel_gconf_set_string (key, name);
- g_free (name);
-}
-
-static void
-font_entry_changed_cb (GtkWidget *entry, PrefsDialog *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 (PrefsDialog *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 (PrefsDialog *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, PrefsDialog *dialog)
-{
- int type;
- char key[255];
-
- if (dialog->priv->switching) return;
-
- type = GPOINTER_TO_INT(g_object_get_data (G_OBJECT(spin), "type"));
-
- g_snprintf (key, 255, "%s_%s",
- size_prefs[type],
- get_current_language_code (dialog));
- eel_gconf_set_integer (key, gtk_spin_button_get_value (GTK_SPIN_BUTTON (spin)));
-}
-
-static void
-attach_size_controls_signals (PrefsDialog *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 (PrefsDialog *dialog,
- const char *pref,
- int default_size,
- GtkWidget *spin)
-{
- char key[255];
- int size;
-
- g_snprintf (key, 255, "%s_%s", pref,
- get_current_language_code (dialog));
- 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 gint
-fonts_language_info_cmp (const FontsLanguageInfo *i1, const FontsLanguageInfo *i2)
-{
- return g_utf8_collate (i1->title, i2->title);
-}
-
-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
-create_fonts_language_menu (PrefsDialog *dialog)
-{
- GtkWidget *optionmenu, *menu;
- GList *l = NULL;
- guint i;
- guint n_fonts_languages;
- const FontsLanguageInfo *fonts_language;
- char **lang_codes;
-
- n_fonts_languages = ephy_langs_get_n_font_languages ();
- fonts_language = ephy_langs_get_font_languages ();
-
- for (i = 0; i < n_fonts_languages; i++)
- {
- FontsLanguageInfo *info;
-
- info = g_new0 (FontsLanguageInfo, 1);
- info->title = _(fonts_language[i].title);
- info->code = fonts_language[i].code;
-
- l = g_list_prepend (l, info);
- }
-
- l = g_list_sort (l, (GCompareFunc) fonts_language_info_cmp);
- dialog->priv->fonts_languages = l;
-
- optionmenu = ephy_dialog_get_control (EPHY_DIALOG (dialog),
- FONTS_LANGUAGE_PROP);
-
- menu = gtk_menu_new ();
-
- for (l = dialog->priv->fonts_languages; l != NULL; l = l->next)
- {
- FontsLanguageInfo *info = (FontsLanguageInfo *) l->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);
-
- lang_codes = g_new0 (char *, n_fonts_languages);
- i = 0;
- for (l = dialog->priv->fonts_languages; l != NULL; l = l->next)
- {
- FontsLanguageInfo *info = (FontsLanguageInfo *) l->data;
-
- lang_codes[i] = info->code;
-
- i++;
- }
- ephy_dialog_add_enum (EPHY_DIALOG (dialog), FONTS_LANGUAGE_PROP,
- n_fonts_languages, (const char **) lang_codes);
- g_free (lang_codes);
-
- dialog->priv->language =
- gtk_option_menu_get_history (GTK_OPTION_MENU (optionmenu));
-
- g_signal_connect (optionmenu, "changed",
- G_CALLBACK (fonts_language_optionmenu_changed_cb),
- dialog);
-}
-
static void
default_encoding_menu_changed_cb (GtkOptionMenu *option_menu,
PrefsDialog *dialog)
@@ -1088,18 +735,16 @@ prefs_dialog_init (PrefsDialog *pd)
ephy_dialog_add_enum (EPHY_DIALOG (pd), ACCEPT_COOKIES_PROP,
n_cookies_accept_enum, cookies_accept_enum);
- ephy_dialog_add_enum (EPHY_DIALOG (pd), PROPORTIONAL_PROP,
- n_proportional_enum, proportional_enum);
ephy_dialog_set_size_group (EPHY_DIALOG (pd), lang_size_group,
n_lang_size_group);
+ ephy_dialog_set_size_group (EPHY_DIALOG (pd), font_size_group,
+ n_font_size_group);
pd->priv->window = ephy_dialog_get_control (dialog, WINDOW_PROP);
pd->priv->notebook = ephy_dialog_get_control (dialog, NOTEBOOK_PROP);
- pd->priv->langs = NULL;
pd->priv->encodings = NULL;
pd->priv->autodetectors = NULL;
- pd->priv->fonts_languages = NULL;
icon = gtk_widget_render_icon (pd->priv->window,
GTK_STOCK_PREFERENCES,
@@ -1108,10 +753,6 @@ prefs_dialog_init (PrefsDialog *pd)
gtk_window_set_icon (GTK_WINDOW (pd->priv->window), icon);
g_object_unref(icon);
- pd->priv->switching = FALSE;
- create_fonts_language_menu (pd);
- attach_fonts_signals (pd);
- attach_size_controls_signals (pd);
create_languages_list (pd);
create_default_encoding_menu (pd);
create_encoding_autodetectors_menu (pd);
@@ -1145,22 +786,6 @@ prefs_clear_cache_button_clicked_cb (GtkWidget *button,
}
void
-fonts_language_optionmenu_changed_cb (GtkWidget *optionmenu,
- EphyDialog *dialog)
-{
- guint i;
- PrefsDialog *pd = EPHY_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)
{