[nautilus] preferences-window: Implement new single-page design
- From: António Fernandes <antoniof src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus] preferences-window: Implement new single-page design
- Date: Wed, 10 Feb 2021 12:59:29 +0000 (UTC)
commit 09417be32ea34272a1f4657c1cb9b26105bb09e0
Author: Adrien Plazas <kekun plazas laposte net>
Date: Wed Dec 9 13:41:03 2020 +0100
preferences-window: Implement new single-page design
The Preferences have been recently cleaned up, which now enables us to
reorganize them in a single page using modern design patterns.
Use HdyPreferencesWindow for convenience of implementation, as well
as for the rounded bottom corners and adaptivity to small sizes.
Closes https://gitlab.gnome.org/GNOME/nautilus/-/issues/1258
src/nautilus-preferences-window.c | 229 ++---
src/resources/ui/nautilus-preferences-window.ui | 1027 +++--------------------
2 files changed, 245 insertions(+), 1011 deletions(-)
---
diff --git a/src/nautilus-preferences-window.c b/src/nautilus-preferences-window.c
index 86de61b5e..55db3276a 100644
--- a/src/nautilus-preferences-window.c
+++ b/src/nautilus-preferences-window.c
@@ -27,6 +27,7 @@
#include <gtk/gtk.h>
#include <gio/gio.h>
+#include <libhandy-1/handy.h>
#include <glib/gi18n.h>
@@ -37,13 +38,23 @@
/* bool preferences */
#define NAUTILUS_PREFERENCES_DIALOG_FOLDERS_FIRST_WIDGET \
- "sort_folders_first_checkbutton"
+ "sort_folders_first_switch"
#define NAUTILUS_PREFERENCES_DIALOG_DELETE_PERMANENTLY_WIDGET \
- "show_delete_permanently_checkbutton"
+ "show_delete_permanently_switch"
#define NAUTILUS_PREFERENCES_DIALOG_CREATE_LINK_WIDGET \
- "show_create_link_checkbutton"
+ "show_create_link_switch"
#define NAUTILUS_PREFERENCES_DIALOG_LIST_VIEW_USE_TREE_WIDGET \
- "use_tree_view_checkbutton"
+ "use_tree_view_switch"
+
+/* combo preferences */
+#define NAUTILUS_PREFERENCES_DIALOG_OPEN_ACTION_COMBO \
+ "open_action_row"
+#define NAUTILUS_PREFERENCES_DIALOG_SEARCH_RECURSIVE_ROW \
+ "search_recursive_row"
+#define NAUTILUS_PREFERENCES_DIALOG_THUMBNAILS_ROW \
+ "thumbnails_row"
+#define NAUTILUS_PREFERENCES_DIALOG_COUNT_ROW \
+ "count_row"
static const char * const speed_tradeoff_values[] =
{
@@ -51,51 +62,39 @@ static const char * const speed_tradeoff_values[] =
NULL
};
-static const char * const click_behavior_components[] =
-{
- "single_click_radiobutton", "double_click_radiobutton", NULL
-};
-
static const char * const click_behavior_values[] = {"single", "double", NULL};
-static const char * const recursive_search_components[] =
-{
- "search_recursive_only_this_computer_radiobutton", "search_recursive_all_locations_radiobutton",
"search_recursive_never_radiobutton", NULL
-};
-
-static const char * const thumbnails_components[] =
-{
- "thumbnails_only_this_computer_radiobutton", "thumbnails_all_files_radiobutton",
"thumbnails_never_radiobutton", NULL
-};
-
-static const char * const count_components[] =
-{
- "count_only_this_computer_radiobutton", "count_all_files_radiobutton", "count_never_radiobutton", NULL
-};
-
static const char * const icon_captions_components[] =
{
- "captions_0_combobox", "captions_1_combobox", "captions_2_combobox", NULL
+ "captions_0_comborow", "captions_1_comborow", "captions_2_comborow", NULL
};
static GtkWidget *preferences_window = NULL;
+static void list_store_append_string (GListStore *list_store,
+ const gchar *string)
+{
+ g_autoptr (HdyValueObject) obj = hdy_value_object_new_string (string);
+ g_list_store_append (list_store, obj);
+}
+
static void free_column_names_array(GPtrArray *column_names)
{
g_ptr_array_foreach (column_names, (GFunc) g_free, NULL);
g_ptr_array_free (column_names, TRUE);
}
-static void create_icon_caption_combo_box_items(GtkComboBoxText *combo_box,
- GList *columns)
+static void create_icon_caption_combo_row_items(HdyComboRow *combo_row,
+ GList *columns)
{
+ GListStore *list_store = g_list_store_new (HDY_TYPE_VALUE_OBJECT);
GList *l;
GPtrArray *column_names;
column_names = g_ptr_array_new ();
/* Translators: this is referred to captions under icons. */
- gtk_combo_box_text_append_text (combo_box, _("None"));
+ list_store_append_string (list_store, _("None"));
g_ptr_array_add (column_names, g_strdup ("none"));
for (l = columns; l != NULL; l = l->next)
@@ -116,16 +115,20 @@ static void create_icon_caption_combo_box_items(GtkComboBoxText *combo_box,
continue;
}
- gtk_combo_box_text_append_text (combo_box, label);
+ list_store_append_string (list_store, label);
g_ptr_array_add (column_names, name);
g_free (label);
}
- g_object_set_data_full (G_OBJECT (combo_box), "column_names", column_names,
+ hdy_combo_row_bind_name_model (combo_row, G_LIST_MODEL (list_store),
+ (HdyComboRowGetNameFunc) hdy_value_object_dup_string,
+ NULL, NULL);
+ g_object_set_data_full (G_OBJECT (combo_row), "column_names", column_names,
(GDestroyNotify) free_column_names_array);
}
-static void icon_captions_changed_callback(GtkComboBox *widget,
+static void icon_captions_changed_callback(HdyComboRow *widget,
+ GParamSpec *pspec,
gpointer user_data)
{
GPtrArray *captions;
@@ -138,18 +141,18 @@ static void icon_captions_changed_callback(GtkComboBox *widget,
for (i = 0; icon_captions_components[i] != NULL; i++)
{
- GtkWidget *combo_box;
- int active;
+ GtkWidget *combo_row;
+ int selected_index;
GPtrArray *column_names;
char *name;
- combo_box = GTK_WIDGET (
+ combo_row = GTK_WIDGET (
gtk_builder_get_object (builder, icon_captions_components[i]));
- active = gtk_combo_box_get_active (GTK_COMBO_BOX (combo_box));
+ selected_index = hdy_combo_row_get_selected_index (HDY_COMBO_ROW (combo_row));
- column_names = g_object_get_data (G_OBJECT (combo_box), "column_names");
+ column_names = g_object_get_data (G_OBJECT (combo_row), "column_names");
- name = g_ptr_array_index (column_names, active);
+ name = g_ptr_array_index (column_names, selected_index);
g_ptr_array_add (captions, name);
}
g_ptr_array_add (captions, NULL);
@@ -160,32 +163,32 @@ static void icon_captions_changed_callback(GtkComboBox *widget,
g_ptr_array_free (captions, TRUE);
}
-static void update_caption_combo_box(GtkBuilder *builder,
- const char *combo_box_name,
+static void update_caption_combo_row(GtkBuilder *builder,
+ const char *combo_row_name,
const char *name)
{
- GtkWidget *combo_box;
+ GtkWidget *combo_row;
int i;
GPtrArray *column_names;
- combo_box = GTK_WIDGET (gtk_builder_get_object (builder, combo_box_name));
+ combo_row = GTK_WIDGET (gtk_builder_get_object (builder, combo_row_name));
g_signal_handlers_block_by_func (
- combo_box, G_CALLBACK (icon_captions_changed_callback), builder);
+ combo_row, G_CALLBACK (icon_captions_changed_callback), builder);
- column_names = g_object_get_data (G_OBJECT (combo_box), "column_names");
+ column_names = g_object_get_data (G_OBJECT (combo_row), "column_names");
for (i = 0; i < column_names->len; ++i)
{
if (!strcmp (name, g_ptr_array_index (column_names, i)))
{
- gtk_combo_box_set_active (GTK_COMBO_BOX (combo_box), i);
+ hdy_combo_row_set_selected_index (HDY_COMBO_ROW (combo_row), i);
break;
}
}
g_signal_handlers_unblock_by_func (
- combo_box, G_CALLBACK (icon_captions_changed_callback), builder);
+ combo_row, G_CALLBACK (icon_captions_changed_callback), builder);
}
static void update_icon_captions_from_settings(GtkBuilder *builder)
@@ -214,7 +217,7 @@ static void update_icon_captions_from_settings(GtkBuilder *builder)
data = "none";
}
- update_caption_combo_box (builder, icon_captions_components[i], data);
+ update_caption_combo_row (builder, icon_captions_components[i], data);
}
g_strfreev (captions);
@@ -234,16 +237,16 @@ nautilus_preferences_window_setup_icon_caption_page (GtkBuilder *builder)
for (i = 0; icon_captions_components[i] != NULL; i++)
{
- GtkWidget *combo_box;
+ GtkWidget *combo_row;
- combo_box = GTK_WIDGET (
+ combo_row = GTK_WIDGET (
gtk_builder_get_object (builder, icon_captions_components[i]));
- create_icon_caption_combo_box_items (GTK_COMBO_BOX_TEXT (combo_box), columns);
- gtk_widget_set_sensitive (combo_box, writable);
+ create_icon_caption_combo_row_items (HDY_COMBO_ROW (combo_row), columns);
+ gtk_widget_set_sensitive (combo_row, writable);
g_signal_connect_data (
- combo_box, "changed", G_CALLBACK (icon_captions_changed_callback),
+ combo_row, "notify::selected-index", G_CALLBACK (icon_captions_changed_callback),
g_object_ref (builder), (GClosureNotify) g_object_unref, 0);
}
@@ -261,59 +264,67 @@ static void bind_builder_bool(GtkBuilder *builder,
"active", G_SETTINGS_BIND_DEFAULT);
}
-static GVariant *radio_mapping_set(const GValue *gvalue,
- const GVariantType *expected_type,
- gpointer user_data)
+static GVariant *combo_row_mapping_set(const GValue *gvalue,
+ const GVariantType *expected_type,
+ gpointer user_data)
{
- const gchar *widget_value = user_data;
- GVariant *retval = NULL;
+ const gchar **values = user_data;
- if (g_value_get_boolean (gvalue))
- {
- retval = g_variant_new_string (widget_value);
- }
-
- return retval;
+ return g_variant_new_string (values[g_value_get_int (gvalue)]);
}
-static gboolean radio_mapping_get(GValue *gvalue,
- GVariant *variant,
- gpointer user_data)
+static gboolean combo_row_mapping_get(GValue *gvalue,
+ GVariant *variant,
+ gpointer user_data)
{
- const gchar *widget_value = user_data;
+ const gchar **values = user_data;
const gchar *value;
value = g_variant_get_string (variant, NULL);
- if (g_strcmp0 (value, widget_value) == 0)
- {
- g_value_set_boolean (gvalue, TRUE);
- }
- else
+ for (int i = 0; values[i]; i++)
{
- g_value_set_boolean (gvalue, FALSE);
+ if (g_strcmp0 (value, values[i]) == 0)
+ {
+ g_value_set_int (gvalue, i);
+
+ return TRUE;
+ }
}
- return TRUE;
+ return FALSE;
}
-static void bind_builder_radio(GtkBuilder *builder,
- GSettings *settings,
- const char **widget_names,
- const char *prefs,
- const char **values)
+static void bind_builder_combo_row(GtkBuilder *builder,
+ GSettings *settings,
+ const char *widget_name,
+ const char *prefs,
+ const char **values)
{
- GtkWidget *button;
- int i;
+ g_settings_bind_with_mapping (settings, prefs, gtk_builder_get_object (builder, widget_name),
+ "selected-index", G_SETTINGS_BIND_DEFAULT,
+ combo_row_mapping_get, combo_row_mapping_set,
+ (gpointer) values, NULL);
+}
- for (i = 0; widget_names[i] != NULL; i++)
- {
- button = GTK_WIDGET (gtk_builder_get_object (builder, widget_names[i]));
+static void setup_combo (GtkBuilder *builder,
+ const char *widget_name,
+ const char **strings)
+{
+ HdyComboRow *combo_row;
+ GListStore *list_store;
+
+ combo_row = (HdyComboRow *) gtk_builder_get_object (builder, widget_name);
+ g_assert (HDY_IS_COMBO_ROW (combo_row));
+
+ list_store = g_list_store_new (HDY_TYPE_VALUE_OBJECT);
- g_settings_bind_with_mapping (settings, prefs, button, "active",
- G_SETTINGS_BIND_DEFAULT, radio_mapping_get,
- radio_mapping_set, (gpointer) values[i], NULL);
+ for (gsize i = 0; strings[i]; i++)
+ {
+ list_store_append_string (list_store, strings[i]);
}
+
+ hdy_combo_row_bind_name_model (combo_row, G_LIST_MODEL (list_store), (HdyComboRowGetNameFunc)
hdy_value_object_dup_string, NULL, NULL);
}
static void nautilus_preferences_window_setup(GtkBuilder *builder,
@@ -321,6 +332,15 @@ static void nautilus_preferences_window_setup(GtkBuilder *builder,
{
GtkWidget *window;
+ setup_combo (builder, NAUTILUS_PREFERENCES_DIALOG_OPEN_ACTION_COMBO,
+ (const char *[]) { _("Single click"), _("Double click"), NULL });
+ setup_combo (builder, NAUTILUS_PREFERENCES_DIALOG_SEARCH_RECURSIVE_ROW,
+ (const char *[]) { _("On this computer only"), _("All locations"), _("Never"), NULL });
+ setup_combo (builder, NAUTILUS_PREFERENCES_DIALOG_THUMBNAILS_ROW,
+ (const char *[]) { _("On this computer only"), _("All files"), _("Never"), NULL });
+ setup_combo (builder, NAUTILUS_PREFERENCES_DIALOG_COUNT_ROW,
+ (const char *[]) { _("On this computer only"), _("All folders"), _("Never"), NULL });
+
/* setup preferences */
bind_builder_bool (builder, gtk_filechooser_preferences,
NAUTILUS_PREFERENCES_DIALOG_FOLDERS_FIRST_WIDGET,
@@ -335,21 +355,22 @@ static void nautilus_preferences_window_setup(GtkBuilder *builder,
NAUTILUS_PREFERENCES_DIALOG_DELETE_PERMANENTLY_WIDGET,
NAUTILUS_PREFERENCES_SHOW_DELETE_PERMANENTLY);
- bind_builder_radio (
- builder, nautilus_preferences, (const char **) click_behavior_components,
- NAUTILUS_PREFERENCES_CLICK_POLICY, (const char **) click_behavior_values);
- bind_builder_radio (builder, nautilus_preferences,
- (const char **) recursive_search_components,
- NAUTILUS_PREFERENCES_RECURSIVE_SEARCH,
- (const char **) speed_tradeoff_values);
- bind_builder_radio (builder, nautilus_preferences,
- (const char **) thumbnails_components,
- NAUTILUS_PREFERENCES_SHOW_FILE_THUMBNAILS,
- (const char **) speed_tradeoff_values);
- bind_builder_radio (builder, nautilus_preferences,
- (const char **) count_components,
- NAUTILUS_PREFERENCES_SHOW_DIRECTORY_ITEM_COUNTS,
- (const char **) speed_tradeoff_values);
+ bind_builder_combo_row (builder, nautilus_preferences,
+ NAUTILUS_PREFERENCES_DIALOG_OPEN_ACTION_COMBO,
+ NAUTILUS_PREFERENCES_CLICK_POLICY,
+ (const char **) click_behavior_values);
+ bind_builder_combo_row (builder, nautilus_preferences,
+ NAUTILUS_PREFERENCES_DIALOG_SEARCH_RECURSIVE_ROW,
+ NAUTILUS_PREFERENCES_RECURSIVE_SEARCH,
+ (const char **) speed_tradeoff_values);
+ bind_builder_combo_row (builder, nautilus_preferences,
+ NAUTILUS_PREFERENCES_DIALOG_THUMBNAILS_ROW,
+ NAUTILUS_PREFERENCES_SHOW_FILE_THUMBNAILS,
+ (const char **) speed_tradeoff_values);
+ bind_builder_combo_row (builder, nautilus_preferences,
+ NAUTILUS_PREFERENCES_DIALOG_COUNT_ROW,
+ NAUTILUS_PREFERENCES_SHOW_DIRECTORY_ITEM_COUNTS,
+ (const char **) speed_tradeoff_values);
nautilus_preferences_window_setup_icon_caption_page (builder);
@@ -363,12 +384,6 @@ static void nautilus_preferences_window_setup(GtkBuilder *builder,
gtk_window_set_transient_for (GTK_WINDOW (preferences_window), parent_window);
- /* This statement is necessary because GtkDialog defaults to 2px. Will not
- * be necessary in GTK+4.
- */
- gtk_container_set_border_width (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG
(preferences_window))),
- 0);
-
gtk_widget_show (preferences_window);
}
diff --git a/src/resources/ui/nautilus-preferences-window.ui b/src/resources/ui/nautilus-preferences-window.ui
index d12ab9581..9e0fb54b5 100644
--- a/src/resources/ui/nautilus-preferences-window.ui
+++ b/src/resources/ui/nautilus-preferences-window.ui
@@ -2,954 +2,173 @@
<!-- Generated with glade 3.22.0 -->
<interface>
<requires lib="gtk+" version="3.22"/>
- <object class="GtkDialog" id="preferences_window">
- <property name="can_focus">False</property>
- <property name="title" translatable="yes">Preferences</property>
- <property name="resizable">False</property>
- <property name="modal">True</property>
- <property name="destroy_with_parent">True</property>
- <property name="type_hint">normal</property>
- <child internal-child="vbox">
- <object class="GtkBox" id="vbox">
- <property name="can_focus">False</property>
- <child internal-child="action_area">
- <object class="GtkButtonBox">
- <property name="can_focus">False</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
+ <object class="HdyPreferencesWindow" id="preferences_window">
+ <property name="search_enabled">False</property>
+ <child>
+ <object class="HdyPreferencesPage">
+ <property name="title" translatable="yes">General</property>
+ <property name="visible">True</property>
<child>
- <object class="GtkNotebook" id="notebook1">
+ <object class="HdyPreferencesGroup">
+ <property name="title" translatable="yes">General</property>
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="border_width">0</property>
- <property name="show_border">False</property>
<child>
- <object class="GtkBox" id="vbox1">
+ <object class="HdyActionRow">
+ <property name="activatable_widget">sort_folders_first_switch</property>
+ <property name="subtitle_lines">0</property>
+ <property name="title" translatable="yes">Sort _Folders Before Files</property>
+ <property name="title_lines">0</property>
+ <property name="use_underline">True</property>
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="border_width">12</property>
- <property name="orientation">vertical</property>
- <property name="spacing">18</property>
<child>
- <object class="GtkBox" id="vbox12">
- <property name="visible">True</property>
+ <object class="GtkSwitch" id="sort_folders_first_switch">
<property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel" id="label_sort">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="preferences"
comments="Translators: a title in the preferences dialog with an option to sort folder before files
"Sort folders before files".">Sort</property>
- <property name="xalign">0</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- <accessibility>
- <relation type="label-for" target="vbox12"/>
- </accessibility>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="sort_folders_first_checkbutton">
- <property name="label" translatable="yes">Sort _folders before files</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="halign">start</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <accessibility>
- <relation type="labelled-by" target="label_sort"/>
- </accessibility>
- <child internal-child="accessible">
- <object class="AtkObject" id="vbox12-atkobject">
- <property name="AtkObject::accessible-role">panel</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="box1">
+ <property name="receives_default">False</property>
+ <property name="valign">center</property>
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel" id="label_list_view">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">List View</property>
- <property name="xalign">0</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- <accessibility>
- <relation type="label-for" target="box1"/>
- </accessibility>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="use_tree_view_checkbutton">
- <property name="label" translatable="yes">Allow folders to be _expanded</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="halign">start</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <accessibility>
- <relation type="labelled-by" target="label_list_view"/>
- </accessibility>
- <child internal-child="accessible">
- <object class="AtkObject" id="box1-atkobject">
- <property name="AtkObject::accessible-role">panel</property>
- </object>
- </child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
</child>
+ </object>
+ </child>
+ <child>
+ <object class="HdyActionRow">
+ <property name="activatable_widget">use_tree_view_switch</property>
+ <property name="subtitle_lines">0</property>
+ <property name="title" translatable="yes">_Expandable Folders in List View</property>
+ <property name="title_lines">0</property>
+ <property name="use_underline">True</property>
+ <property name="visible">True</property>
<child>
- <object class="GtkBox" id="vbox27">
- <property name="visible">True</property>
+ <object class="GtkSwitch" id="use_tree_view_switch">
<property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel" id="label_icon_view_captions">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Icon View Captions</property>
- <property name="xalign">0</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- <accessibility>
- <relation type="label-for" target="vbox27"/>
- </accessibility>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label_add_info_under">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Add information to be displayed beneath
file and folder names. More information will appear when zooming closer.</property>
- <property name="wrap">True</property>
- <property name="max_width_chars">65</property>
- <property name="xalign">0</property>
- <accessibility>
- <relation type="description-for" target="captions_0_combobox"/>
- <relation type="description-for" target="captions_1_combobox"/>
- <relation type="description-for" target="captions_2_combobox"/>
- </accessibility>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkGrid" id="grid1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="row_spacing">10</property>
- <property name="column_spacing">15</property>
- <child>
- <object class="GtkBox" id="hbox29">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkLabel" id="captions_label_1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="use_underline">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkComboBoxText" id="captions_0_combobox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <accessibility>
- <relation type="labelled-by" target="label_first"/>
- <relation type="described-by" target="label_add_info_under"/>
- </accessibility>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="hbox28">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkLabel" id="captions_label_0">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkComboBoxText" id="captions_2_combobox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <accessibility>
- <relation type="labelled-by" target="label_third"/>
- <relation type="described-by" target="label_add_info_under"/>
- </accessibility>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="hbox30">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkLabel" id="captions_label_2">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkComboBoxText" id="captions_1_combobox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <accessibility>
- <relation type="labelled-by" target="label_second"/>
- <relation type="described-by" target="label_add_info_under"/>
- </accessibility>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label_second">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="the n-th position of an icon
caption" comments="Translators: This is an ordinal number">Second</property>
- <property name="xalign">1</property>
- <accessibility>
- <relation type="label-for" target="captions_1_combobox"/>
- </accessibility>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label_third">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="the n-th position of an icon
caption" comments="Translators: This is an ordinal number">Third</property>
- <property name="xalign">1</property>
- <accessibility>
- <relation type="label-for" target="captions_2_combobox"/>
- </accessibility>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label_first">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="the n-th position of an icon
caption" comments="Translators: This is an ordinal number">First</property>
- <property name="xalign">1</property>
- <accessibility>
- <relation type="label-for" target="captions_0_combobox"/>
- </accessibility>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">3</property>
- </packing>
- </child>
- <accessibility>
- <relation type="labelled-by" target="label_icon_view_captions"/>
- </accessibility>
- <child internal-child="accessible">
- <object class="AtkObject" id="vbox27-atkobject">
- <property name="AtkObject::accessible-role">panel</property>
- </object>
- </child>
+ <property name="receives_default">False</property>
+ <property name="valign">center</property>
+ <property name="visible">True</property>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">4</property>
- </packing>
</child>
</object>
- <packing>
- <property name="tab_expand">True</property>
- </packing>
</child>
- <child type="tab">
- <object class="GtkLabel" id="label_views">
+ <child>
+ <object class="HdyComboRow" id="open_action_row">
+ <property name="subtitle_lines">0</property>
+ <property name="title" translatable="yes">Action to Open Items</property>
+ <property name="title_lines">0</property>
+ <property name="use_underline">True</property>
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Views</property>
</object>
- <packing>
- <property name="tab_fill">False</property>
- </packing>
</child>
+ </object>
+ </child>
+ <child>
+ <object class="HdyPreferencesGroup">
+ <property name="title" translatable="yes">Context Menu</property>
+ <property name="visible">True</property>
<child>
- <object class="GtkBox" id="vbox5">
+ <object class="HdyActionRow">
+ <property name="activatable_widget">show_create_link_switch</property>
+ <property name="subtitle_lines">0</property>
+ <property name="title" translatable="yes">Action to Create Symbolic _Links</property>
+ <property name="title_lines">0</property>
+ <property name="use_underline">True</property>
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="border_width">12</property>
- <property name="orientation">vertical</property>
- <property name="spacing">10</property>
<child>
- <object class="GtkBox" id="vbox6">
- <property name="visible">True</property>
+ <object class="GtkSwitch" id="show_create_link_switch">
<property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel" id="label_open_action">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Open Action</property>
- <property name="xalign">0</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- <accessibility>
- <relation type="label-for" target="vbox6"/>
- </accessibility>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="single_click_radiobutton">
- <property name="label" translatable="yes">_Single click to open items</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="halign">start</property>
- <property name="use_underline">True</property>
- <property name="active">True</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="double_click_radiobutton">
- <property name="label" translatable="yes">_Double click to open items</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="halign">start</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <property name="group">single_click_radiobutton</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">3</property>
- </packing>
- </child>
- <accessibility>
- <relation type="labelled-by" target="label_open_action"/>
- </accessibility>
- <child internal-child="accessible">
- <object class="AtkObject" id="vbox6-atkobject">
- <property name="AtkObject::accessible-role">panel</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="vbox14">
+ <property name="receives_default">False</property>
+ <property name="valign">center</property>
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel" id="label_link_creation">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Link Creation</property>
- <property name="xalign">0</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- <accessibility>
- <relation type="label-for" target="vbox14"/>
- </accessibility>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="show_create_link_checkbutton">
- <property name="label" translatable="yes">Show action to create symbolic
_links</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="halign">start</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- <accessibility>
- <relation type="labelled-by" target="label_link_creation"/>
- </accessibility>
- <child internal-child="accessible">
- <object class="AtkObject" id="vbox14-atkobject">
- <property name="AtkObject::accessible-role">panel</property>
- </object>
- </child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
</child>
+ </object>
+ </child>
+ <child>
+ <object class="HdyActionRow">
+ <property name="activatable_widget">show_delete_permanently_switch</property>
+ <property name="subtitle_lines">0</property>
+ <property name="title" translatable="yes">Action to _Permanently Delete Files and
Folders</property>
+ <property name="title_lines">0</property>
+ <property name="use_underline">True</property>
+ <property name="visible">True</property>
<child>
- <object class="GtkBox" id="vbox8">
- <property name="visible">True</property>
+ <object class="GtkSwitch" id="show_delete_permanently_switch">
<property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel" id="label_trash">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Trash</property>
- <property name="xalign">0</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- <accessibility>
- <relation type="label-for" target="vbox8"/>
- </accessibility>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="show_delete_permanently_checkbutton">
- <property name="label" translatable="yes">Show action to _permanently delete files
and folders</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="halign">start</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- <accessibility>
- <relation type="labelled-by" target="label_trash"/>
- </accessibility>
- <child internal-child="accessible">
- <object class="AtkObject" id="vbox8-atkobject">
- <property name="AtkObject::accessible-role">panel</property>
- </object>
- </child>
+ <property name="receives_default">False</property>
+ <property name="valign">center</property>
+ <property name="visible">True</property>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
</child>
</object>
- <packing>
- <property name="position">1</property>
- <property name="tab_expand">True</property>
- </packing>
</child>
- <child type="tab">
- <object class="GtkLabel" id="label_behavior">
+ </object>
+ </child>
+ <child>
+ <object class="HdyPreferencesGroup">
+ <property name="title" translatable="yes">Performance</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="HdyComboRow" id="search_recursive_row">
+ <property name="subtitle_lines">0</property>
+ <property name="title" translatable="yes">Search in Subfolders</property>
+ <property name="title_lines">0</property>
+ <property name="use_underline">True</property>
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Behavior</property>
</object>
- <packing>
- <property name="position">1</property>
- <property name="tab_fill">False</property>
- </packing>
</child>
<child>
- <object class="GtkBox" id="vbox9">
+ <object class="HdyComboRow" id="thumbnails_row">
+ <property name="subtitle_lines">0</property>
+ <property name="title" translatable="yes">Show Thumbnails</property>
+ <property name="title_lines">0</property>
+ <property name="use_underline">True</property>
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="border_width">12</property>
- <property name="orientation">vertical</property>
- <property name="spacing">18</property>
- <child>
- <object class="GtkBox" id="vbox3">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel" id="label_search">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Search</property>
- <property name="xalign">0</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label_search_subfolders">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Search in subfolders:</property>
- <property name="xalign">0</property>
- <accessibility>
- <relation type="label-for" target="vbox3"/>
- </accessibility>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="search_recursive_only_this_computer_radiobutton">
- <property name="label" translatable="yes">_On this computer only</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="halign">start</property>
- <property name="use_underline">True</property>
- <property name="active">True</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="search_recursive_all_locations_radiobutton">
- <property name="label" translatable="yes">_All locations</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="halign">start</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <property name="group">search_recursive_only_this_computer_radiobutton</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="search_recursive_never_radiobutton">
- <property name="label" translatable="yes">_Never</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="halign">start</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <property name="group">search_recursive_only_this_computer_radiobutton</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">4</property>
- </packing>
- </child>
- <accessibility>
- <relation type="labelled-by" target="label_search_subfolders"/>
- </accessibility>
- <child internal-child="accessible">
- <object class="AtkObject" id="vbox3-atkobject">
- <property name="AtkObject::accessible-role">panel</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="vbox11">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel" id="label_thumbnails">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Thumbnails</property>
- <property name="xalign">0</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label_show_thumbnails">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Show thumbnails:</property>
- <property name="xalign">0</property>
- <accessibility>
- <relation type="label-for" target="vbox11"/>
- </accessibility>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="thumbnails_only_this_computer_radiobutton">
- <property name="label" translatable="yes">_Files on this computer only</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="halign">start</property>
- <property name="use_underline">True</property>
- <property name="active">True</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="thumbnails_all_files_radiobutton">
- <property name="label" translatable="yes">A_ll files</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="halign">start</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <property name="group">thumbnails_only_this_computer_radiobutton</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="thumbnails_never_radiobutton">
- <property name="label" translatable="yes">N_ever</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="halign">start</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <property name="group">thumbnails_only_this_computer_radiobutton</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">4</property>
- </packing>
- </child>
- <accessibility>
- <relation type="labelled-by" target="label_show_thumbnails"/>
- </accessibility>
- <child internal-child="accessible">
- <object class="AtkObject" id="vbox11-atkobject">
- <property name="AtkObject::accessible-role">panel</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="vbox13">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel" id="label_file_count">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">File count</property>
- <property name="xalign">0</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label_count_files">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Count number of files in
folders:</property>
- <property name="xalign">0</property>
- <accessibility>
- <relation type="label-for" target="vbox13"/>
- </accessibility>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="count_only_this_computer_radiobutton">
- <property name="label" translatable="yes">F_olders on this computer only</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="halign">start</property>
- <property name="use_underline">True</property>
- <property name="active">True</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="count_all_files_radiobutton">
- <property name="label" translatable="yes">All folder_s</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="halign">start</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <property name="group">count_only_this_computer_radiobutton</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="count_never_radiobutton">
- <property name="label" translatable="yes">Ne_ver</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="halign">start</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <property name="group">count_only_this_computer_radiobutton</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">4</property>
- </packing>
- </child>
- <accessibility>
- <relation type="labelled-by" target="label_count_files"/>
- </accessibility>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
</object>
- <packing>
- <property name="position">3</property>
- <property name="tab_expand">True</property>
- </packing>
</child>
- <child type="tab">
- <object class="GtkLabel" id="label_search_preview">
+ <child>
+ <object class="HdyComboRow" id="count_row">
+ <property name="subtitle_lines">0</property>
+ <property name="title" translatable="yes">Count Number of Files in Folders</property>
+ <property name="title_lines">0</property>
+ <property name="use_underline">True</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="HdyPreferencesGroup">
+ <property name="description" translatable="yes">Add information to be displayed beneath file and
folder names. More information will appear when zooming closer.</property>
+ <property name="title" translatable="yes">Icon View Captions</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="HdyComboRow" id="captions_0_comborow">
+ <property name="subtitle_lines">0</property>
+ <property name="title" translatable="yes" context="the n-th position of an icon caption"
comments="Translators: This is an ordinal number">First</property>
+ <property name="title_lines">0</property>
+ <property name="use_underline">True</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="HdyComboRow" id="captions_1_comborow">
+ <property name="subtitle_lines">0</property>
+ <property name="title" translatable="yes" context="the n-th position of an icon caption"
comments="Translators: This is an ordinal number">Second</property>
+ <property name="title_lines">0</property>
+ <property name="use_underline">True</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="HdyComboRow" id="captions_2_comborow">
+ <property name="subtitle_lines">0</property>
+ <property name="title" translatable="yes" context="the n-th position of an icon caption"
comments="Translators: This is an ordinal number">Third</property>
+ <property name="title_lines">0</property>
+ <property name="use_underline">True</property>
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Search & Preview</property>
</object>
- <packing>
- <property name="position">3</property>
- <property name="tab_fill">False</property>
- </packing>
</child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
</child>
</object>
</child>
- <child type="titlebar">
- <placeholder/>
- </child>
</object>
</interface>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]