[epiphany] prefs-dialog: Port the Fonts & Style prefs page to list boxes
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany] prefs-dialog: Port the Fonts & Style prefs page to list boxes
- Date: Tue, 25 Jun 2019 20:07:01 +0000 (UTC)
commit 2dbc7b423a8abeb1a8c01ba08c769af90eff4429
Author: Adrien Plazas <kekun plazas laposte net>
Date: Sat Dec 15 22:03:11 2018 +0100
prefs-dialog: Port the Fonts & Style prefs page to list boxes
src/prefs-dialog.c | 223 +++++++++++++------------
src/resources/gtk/prefs-dialog.ui | 333 +++++++++++++-------------------------
2 files changed, 219 insertions(+), 337 deletions(-)
---
diff --git a/src/prefs-dialog.c b/src/prefs-dialog.c
index 3995e0265..67cd41d54 100644
--- a/src/prefs-dialog.c
+++ b/src/prefs-dialog.c
@@ -102,12 +102,11 @@ struct _PrefsDialog {
GtkWidget *start_in_incognito_mode_switch;
/* fonts & style */
- GtkWidget *use_gnome_fonts_checkbutton;
- GtkWidget *custom_fonts_table;
+ GtkWidget *use_gnome_fonts_row;
GtkWidget *sans_fontbutton;
GtkWidget *serif_fontbutton;
GtkWidget *mono_fontbutton;
- GtkWidget *css_checkbox;
+ GtkWidget *css_switch;
GtkWidget *css_edit_button;
GtkWidget *default_zoom_spin_button;
GtkWidget *reader_mode_box;
@@ -1003,12 +1002,11 @@ prefs_dialog_class_init (PrefsDialogClass *klass)
gtk_widget_class_bind_template_child (widget_class, PrefsDialog, start_in_incognito_mode_switch);
/* fonts & style */
- gtk_widget_class_bind_template_child (widget_class, PrefsDialog, use_gnome_fonts_checkbutton);
- gtk_widget_class_bind_template_child (widget_class, PrefsDialog, custom_fonts_table);
+ gtk_widget_class_bind_template_child (widget_class, PrefsDialog, use_gnome_fonts_row);
gtk_widget_class_bind_template_child (widget_class, PrefsDialog, sans_fontbutton);
gtk_widget_class_bind_template_child (widget_class, PrefsDialog, serif_fontbutton);
gtk_widget_class_bind_template_child (widget_class, PrefsDialog, mono_fontbutton);
- gtk_widget_class_bind_template_child (widget_class, PrefsDialog, css_checkbox);
+ gtk_widget_class_bind_template_child (widget_class, PrefsDialog, css_switch);
gtk_widget_class_bind_template_child (widget_class, PrefsDialog, css_edit_button);
gtk_widget_class_bind_template_child (widget_class, PrefsDialog, default_zoom_spin_button);
gtk_widget_class_bind_template_child (widget_class, PrefsDialog, reader_mode_box);
@@ -2060,135 +2058,136 @@ setup_general_page (PrefsDialog *dialog)
create_download_path_button (dialog);
}
-enum {
- ENUM_MODEL_COLUMN_LABEL,
- ENUM_MODEL_COLUMN_NICK,
- ENUM_MODEL_N_COLUMNS,
-};
-
-typedef struct {
- gint value;
- const char *label;
-} EnumModelItem;
-
-static GtkTreeModel *
-enum_model_new (GType enum_type,
- gsize n_items,
- const EnumModelItem *items)
-{
- GtkListStore *model;
- GEnumClass *enum_class;
- gsize i;
-
- enum_class = g_type_class_ref (enum_type);
- model = gtk_list_store_new (ENUM_MODEL_N_COLUMNS,
- G_TYPE_STRING,
- G_TYPE_STRING);
-
- for (i = 0; i < n_items; i++) {
- GtkTreeIter iter;
- const char *nick;
- guint j;
-
- nick = NULL;
- for (j = 0; j < enum_class->n_values; j++) {
- if (enum_class->values[j].value == items[i].value) {
- nick = enum_class->values[j].value_nick;
- break;
- }
- }
- g_assert (nick != NULL);
+static gchar *
+reader_font_style_get_name (HdyEnumValueObject *value,
+ gpointer user_data)
+{
+ g_assert (HDY_IS_ENUM_VALUE_OBJECT (value));
- gtk_list_store_append (model, &iter);
- gtk_list_store_set (model,
- &iter,
- ENUM_MODEL_COLUMN_LABEL, _(items[i].label),
- ENUM_MODEL_COLUMN_NICK, nick,
- -1);
+ switch (hdy_enum_value_object_get_value (value)) {
+ case EPHY_PREFS_READER_FONT_STYLE_SANS:
+ return g_strdup (N_("Sans"));
+ case EPHY_PREFS_READER_FONT_STYLE_SERIF:
+ return g_strdup (N_("Serif"));
+ default:
+ return NULL;
}
+}
+
+static gboolean
+reader_font_style_get_mapping (GValue *value,
+ GVariant *variant,
+ gpointer user_data)
+{
+ const char *reader_colors = g_variant_get_string (variant, NULL);
- g_type_class_unref (enum_class);
- return GTK_TREE_MODEL (model);
+ if (g_strcmp0 (reader_colors, "sans") == 0)
+ g_value_set_int (value, EPHY_PREFS_READER_FONT_STYLE_SANS);
+ else if (g_strcmp0 (reader_colors, "serif") == 0)
+ g_value_set_int (value, EPHY_PREFS_READER_FONT_STYLE_SERIF);
+
+ return TRUE;
}
-static void
-enum_model_attach (GtkTreeModel *model,
- GtkComboBox *combobox,
- GSettings *settings,
- const char *key)
+static GVariant *
+reader_font_style_set_mapping (const GValue *value,
+ const GVariantType *expected_type,
+ gpointer user_data)
+{
+ switch (g_value_get_int (value)) {
+ case EPHY_PREFS_READER_FONT_STYLE_SANS:
+ return g_variant_new_string ("sans");
+ case EPHY_PREFS_READER_FONT_STYLE_SERIF:
+ return g_variant_new_string ("serif");
+ default:
+ return g_variant_new_string ("crashed");
+ }
+}
+
+static gchar *
+reader_color_scheme_get_name (HdyEnumValueObject *value,
+ gpointer user_data)
{
- GtkCellRenderer *renderer;
+ g_assert (HDY_IS_ENUM_VALUE_OBJECT (value));
- gtk_cell_layout_clear (GTK_CELL_LAYOUT (combobox));
+ switch (hdy_enum_value_object_get_value (value)) {
+ case EPHY_PREFS_READER_COLORS_LIGHT:
+ return g_strdup (N_("Light"));
+ case EPHY_PREFS_READER_COLORS_DARK:
+ return g_strdup (N_("Dark"));
+ default:
+ return NULL;
+ }
+}
- gtk_combo_box_set_model (combobox, model);
- gtk_combo_box_set_id_column (combobox,
- ENUM_MODEL_COLUMN_NICK);
+static gboolean
+reader_color_scheme_get_mapping (GValue *value,
+ GVariant *variant,
+ gpointer user_data)
+{
+ const char *reader_colors = g_variant_get_string (variant, NULL);
- g_settings_bind (settings,
- key,
- combobox,
- "active-id",
- G_SETTINGS_BIND_DEFAULT);
+ if (g_strcmp0 (reader_colors, "light") == 0)
+ g_value_set_int (value, EPHY_PREFS_READER_COLORS_LIGHT);
+ else if (g_strcmp0 (reader_colors, "dark") == 0)
+ g_value_set_int (value, EPHY_PREFS_READER_COLORS_DARK);
- renderer = gtk_cell_renderer_text_new ();
- gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combobox),
- renderer,
- FALSE);
- gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (combobox),
- renderer,
- "text",
- ENUM_MODEL_COLUMN_LABEL);
-}
-
-static const EnumModelItem reader_font_style_items[] = {
- { EPHY_PREFS_READER_FONT_STYLE_SANS, N_("Sans") },
- { EPHY_PREFS_READER_FONT_STYLE_SERIF, N_("Serif") },
-};
+ return TRUE;
+}
-static const EnumModelItem reader_color_scheme_items[] = {
- { EPHY_PREFS_READER_COLORS_LIGHT, N_("Light") },
- { EPHY_PREFS_READER_COLORS_DARK, N_("Dark") },
-};
+static GVariant *
+reader_color_scheme_set_mapping (const GValue *value,
+ const GVariantType *expected_type,
+ gpointer user_data)
+{
+ switch (g_value_get_int (value)) {
+ case EPHY_PREFS_READER_COLORS_LIGHT:
+ return g_variant_new_string ("light");
+ case EPHY_PREFS_READER_COLORS_DARK:
+ return g_variant_new_string ("dark");
+ default:
+ return g_variant_new_string ("crashed");
+ }
+}
static void
setup_fonts_page (PrefsDialog *dialog)
{
GSettings *web_settings;
GSettings *reader_settings;
- GtkTreeModel *model;
web_settings = ephy_settings_get (EPHY_PREFS_WEB_SCHEMA);
reader_settings = ephy_settings_get (EPHY_PREFS_READER_SCHEMA);
- model = enum_model_new (EPHY_TYPE_PREFS_READER_FONT_STYLE,
- G_N_ELEMENTS (reader_font_style_items),
- reader_font_style_items);
- enum_model_attach (model,
- GTK_COMBO_BOX (dialog->reader_mode_font_style),
- reader_settings,
- EPHY_PREFS_READER_FONT_STYLE);
- g_object_unref (model);
-
- model = enum_model_new (EPHY_TYPE_PREFS_READER_COLOR_SCHEME,
- G_N_ELEMENTS (reader_color_scheme_items),
- reader_color_scheme_items);
- enum_model_attach (model,
- GTK_COMBO_BOX (dialog->reader_mode_color_scheme),
- reader_settings,
- EPHY_PREFS_READER_COLOR_SCHEME);
- g_object_unref (model);
+ hdy_combo_row_set_for_enum (HDY_COMBO_ROW (dialog->reader_mode_font_style),
+ EPHY_TYPE_PREFS_READER_FONT_STYLE,
+ reader_font_style_get_name, NULL, NULL);
+ g_settings_bind_with_mapping (reader_settings,
+ EPHY_PREFS_READER_FONT_STYLE,
+ dialog->reader_mode_font_style,
+ "selected-index",
+ G_SETTINGS_BIND_DEFAULT,
+ reader_font_style_get_mapping,
+ reader_font_style_set_mapping,
+ NULL, NULL);
+
+ hdy_combo_row_set_for_enum (HDY_COMBO_ROW (dialog->reader_mode_color_scheme),
+ EPHY_TYPE_PREFS_READER_COLOR_SCHEME,
+ reader_color_scheme_get_name, NULL, NULL);
+ g_settings_bind_with_mapping (reader_settings,
+ EPHY_PREFS_READER_COLOR_SCHEME,
+ dialog->reader_mode_color_scheme,
+ "selected-index",
+ G_SETTINGS_BIND_DEFAULT,
+ reader_color_scheme_get_mapping,
+ reader_color_scheme_set_mapping,
+ NULL, NULL);
g_settings_bind (web_settings,
EPHY_PREFS_WEB_USE_GNOME_FONTS,
- dialog->use_gnome_fonts_checkbutton,
- "active",
- G_SETTINGS_BIND_DEFAULT);
- g_settings_bind (web_settings,
- EPHY_PREFS_WEB_USE_GNOME_FONTS,
- dialog->custom_fonts_table,
- "sensitive",
- G_SETTINGS_BIND_GET | G_SETTINGS_BIND_INVERT_BOOLEAN);
+ dialog->use_gnome_fonts_row,
+ "enable-expansion",
+ G_SETTINGS_BIND_INVERT_BOOLEAN);
g_settings_bind (web_settings,
EPHY_PREFS_WEB_SANS_SERIF_FONT,
dialog->sans_fontbutton,
@@ -2207,7 +2206,7 @@ setup_fonts_page (PrefsDialog *dialog)
g_settings_bind (web_settings,
EPHY_PREFS_WEB_ENABLE_USER_CSS,
- dialog->css_checkbox,
+ dialog->css_switch,
"active",
G_SETTINGS_BIND_DEFAULT);
g_settings_bind (web_settings,
diff --git a/src/resources/gtk/prefs-dialog.ui b/src/resources/gtk/prefs-dialog.ui
index 7b7af1dd4..ce1902c9e 100644
--- a/src/resources/gtk/prefs-dialog.ui
+++ b/src/resources/gtk/prefs-dialog.ui
@@ -385,112 +385,74 @@
</packing>
</child>
<child>
- <object class="GtkBox">
+ <object class="HdyPreferencesPage">
+ <property name="icon_name">document-edit-symbolic</property>
+ <property name="title" translatable="yes">Fonts & Style</property>
<property name="visible">True</property>
- <property name="border-width">12</property>
- <property name="orientation">vertical</property>
- <property name="spacing">18</property>
<child>
- <object class="GtkBox">
+ <object class="HdyPreferencesGroup">
+ <property name="title" translatable="yes">Fonts</property>
<property name="visible">True</property>
- <property name="orientation">vertical</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="halign">start</property>
- <property name="label" translatable="yes">Fonts</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
<child>
- <object class="GtkBox">
+ <object class="HdyExpanderRow" id="use_gnome_fonts_row">
+ <property name="show_enable_switch">True</property>
+ <property name="title" translatable="yes">Use custom fonts</property>
<property name="visible">True</property>
- <property name="orientation">vertical</property>
- <property name="spacing">6</property>
- <property name="margin-start">12</property>
<child>
- <object class="GtkCheckButton" id="use_gnome_fonts_checkbutton">
- <property name="label" translatable="yes">_Use system fonts</property>
+ <object class="GtkSeparator">
+ <property name="margin-start">24</property>
<property name="visible">True</property>
- <property name="use-underline">True</property>
</object>
</child>
<child>
- <object class="GtkGrid" id="custom_fonts_table">
+ <object class="GtkListBox" id="use_custom_fonts_list">
+ <property name="margin-start">24</property>
+ <property name="selection_mode">none</property>
<property name="visible">True</property>
- <property name="column-spacing">12</property>
- <property name="row-spacing">6</property>
- <property name="margin-start">12</property>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="halign">start</property>
- <property name="label" translatable="yes">Sans serif font:</property>
- </object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkFontButton" id="sans_fontbutton">
- <property name="visible">True</property>
- <property name="font">Sans 12</property>
- <property name="use-font">True</property>
- <!-- hexpands the grid -->
- <property name="hexpand">True</property>
- </object>
- <packing>
- <property name="left-attach">1</property>
- <property name="top-attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="halign">start</property>
- <property name="label" translatable="yes">Serif font:</property>
- </object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">1</property>
- </packing>
- </child>
<child>
- <object class="GtkFontButton" id="serif_fontbutton">
+ <object class="HdyActionRow">
+ <property name="activatable">False</property>
+ <property name="title" translatable="yes">Sans serif font</property>
<property name="visible">True</property>
- <property name="font">Sans 12</property>
- <property name="use-font">True</property>
+ <child type="action">
+ <object class="GtkFontButton" id="sans_fontbutton">
+ <property name="font">Sans 12</property>
+ <property name="use-font">True</property>
+ <property name="valign">center</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
</object>
- <packing>
- <property name="left-attach">1</property>
- <property name="top-attach">1</property>
- </packing>
</child>
<child>
- <object class="GtkLabel">
+ <object class="HdyActionRow">
+ <property name="activatable">False</property>
+ <property name="title" translatable="yes">Serif font</property>
<property name="visible">True</property>
- <property name="halign">start</property>
- <property name="label" translatable="yes">Monospace font:</property>
+ <child type="action">
+ <object class="GtkFontButton" id="serif_fontbutton">
+ <property name="font">Sans 12</property>
+ <property name="use-font">True</property>
+ <property name="valign">center</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
</object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">2</property>
- </packing>
</child>
<child>
- <object class="GtkFontButton" id="mono_fontbutton">
+ <object class="HdyActionRow">
+ <property name="activatable">False</property>
+ <property name="title" translatable="yes">Monospace font</property>
<property name="visible">True</property>
- <property name="font">Sans 12</property>
- <property name="use-font">True</property>
+ <child type="action">
+ <object class="GtkFontButton" id="mono_fontbutton">
+ <property name="font">Sans 12</property>
+ <property name="use-font">True</property>
+ <property name="valign">center</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
</object>
- <packing>
- <property name="left-attach">1</property>
- <property name="top-attach">2</property>
- </packing>
</child>
</object>
</child>
@@ -499,166 +461,86 @@
</object>
</child>
<child>
- <object class="GtkBox">
+ <object class="HdyPreferencesGroup" id="reader_mode_box">
+ <property name="title" translatable="yes">Reader Mode</property>
<property name="visible">True</property>
- <property name="orientation">vertical</property>
- <property name="spacing">6</property>
<child>
- <object class="GtkLabel">
+ <object class="HdyComboRow" id="reader_mode_font_style">
+ <property name="title" translatable="yes">Font style</property>
<property name="visible">True</property>
- <property name="halign">start</property>
- <property name="label" translatable="yes">Style</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
</object>
</child>
<child>
- <object class="GtkBox">
+ <object class="HdyComboRow" id="reader_mode_color_scheme">
+ <property name="title" translatable="yes">Color scheme</property>
<property name="visible">True</property>
- <property name="spacing">24</property>
- <property name="margin-start">12</property>
- <child>
- <object class="GtkCheckButton" id="css_checkbox">
- <property name="label" translatable="yes">Use custom _stylesheet</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="HdyPreferencesGroup">
+ <property name="title" translatable="yes">Style</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="HdyActionRow">
+ <property name="activatable_widget">css_switch</property>
+ <property name="title" translatable="yes">Use custom stylesheet</property>
+ <property name="visible">True</property>
+ <child type="action">
+ <object class="GtkButton" id="css_edit_button">
+ <property name="valign">center</property>
<property name="visible">True</property>
- <property name="hexpand">True</property>
- <property name="use-underline">True</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="icon_name">document-edit-symbolic</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
</object>
</child>
- <child>
- <object class="GtkButton" id="css_edit_button">
- <property name="label" translatable="yes">_Edit Stylesheet</property>
+ <child type="action">
+ <object class="GtkSeparator">
+ <property name="margin_bottom">8</property>
+ <property name="margin_top">8</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child type="action">
+ <object class="GtkSwitch" id="css_switch">
+ <property name="valign">center</property>
<property name="visible">True</property>
- <property name="use-underline">True</property>
</object>
</child>
</object>
</child>
<child>
- <object class="GtkBox">
+ <object class="HdyActionRow">
+ <property name="activatable">False</property>
+ <property name="title" translatable="yes">Default zoom level</property>
<property name="visible">True</property>
- <property name="spacing">24</property>
- <property name="margin-start">12</property>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="halign">start</property>
- <property name="hexpand">True</property>
- <property name="label" translatable="yes">Default zoom level:</property>
- </object>
- </child>
- <child>
+ <child type="action">
<object class="GtkSpinButton" id="default_zoom_spin_button">
- <property name="visible">True</property>
+ <property name="adjustment">zoom_adjustment</property>
<property name="can_focus">True</property>
<property name="input_purpose">number</property>
- <property name="adjustment">zoom_adjustment</property>
<property name="max_width_chars">5</property>
+ <property name="valign">center</property>
<property name="value">100</property>
- <signal name="value-changed"
handler="on_default_zoom_spin_button_value_changed"/>
- <signal name="output" handler="on_default_zoom_spin_button_output"/>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="reader_mode_box">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <property name="spacing">6</property>
- <property name="margin-top">12</property>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">start</property>
- <property name="label" translatable="yes">Reader Mode</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkGrid">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="margin_left">12</property>
- <property name="row_spacing">6</property>
- <property name="hexpand">True</property>
- <property name="column_spacing">12</property>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">start</property>
- <property name="valign">center</property>
- <property name="margin_left">12</property>
- <property name="label" translatable="yes">Font style:</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">start</property>
- <property name="valign">center</property>
- <property name="margin_left">12</property>
- <property name="label" translatable="yes">Color scheme:</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkComboBox" id="reader_mode_font_style">
- <property name="visible">True</property>
- <property name="hexpand">True</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkComboBox" id="reader_mode_color_scheme">
- <property name="visible">True</property>
- <property name="hexpand">True</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
+ <signal name="output" handler="on_default_zoom_spin_button_output"/>
+ <signal name="value-changed"
handler="on_default_zoom_spin_button_value_changed"/>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
</child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">3</property>
- </packing>
</child>
</object>
</child>
@@ -1329,6 +1211,14 @@
</object>
</child>
</template>
+ <object class="GtkSizeGroup">
+ <property name="mode">horizontal</property>
+ <widgets>
+ <widget name="sans_fontbutton"/>
+ <widget name="serif_fontbutton"/>
+ <widget name="mono_fontbutton"/>
+ </widgets>
+ </object>
<object class="GtkSizeGroup">
<property name="mode">horizontal</property>
<widgets>
@@ -1346,13 +1236,6 @@
<widget name="sync_device_name_change_button"/>
</widgets>
</object>
- <object class="GtkSizeGroup">
- <property name="mode">horizontal</property>
- <widgets>
- <widget name="css_edit_button"/>
- <widget name="default_zoom_spin_button"/>
- </widgets>
- </object>
<object class="GtkAdjustment" id="zoom_adjustment">
<property name="lower">33</property>
<property name="upper">300</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]