[nautilus/wip/neilh/toolbar-reorg: 10/16] canvas-view: improve usability of sort options
- From: Neil Herald <neilh src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus/wip/neilh/toolbar-reorg: 10/16] canvas-view: improve usability of sort options
- Date: Wed, 22 Jun 2016 23:04:48 +0000 (UTC)
commit 643518079e3c2681b46e8015d8ca2c018d221001
Author: Neil Herald <neil herald gmail com>
Date: Sun May 15 19:43:41 2016 +0100
canvas-view: improve usability of sort options
The sort options shown on the toolbar menu aren't very intuitive. For
example, 'last modified, reverse order' can be interpreted a number of
ways. They also require the user to set both the sort order and whether
the sort should be reversed. These issues have been addressed by
replacing the sort order items that are often sorted in either ascending
and descending order (e.g. name) with options that are better to use
(e.g. A-Z and Z-A). Options that are generally only sorted one way
(e.g. type) have been changed to sort in ascending/descending as
appropriate for the option.
This is part of the toolbar menu redesign to improve the usability of
the menus.
https://bugzilla.gnome.org/show_bug.cgi?id=764632
src/nautilus-canvas-view.c | 263 ++++++++----------------
src/resources/ui/nautilus-toolbar-view-menu.ui | 42 ++--
2 files changed, 113 insertions(+), 192 deletions(-)
---
diff --git a/src/nautilus-canvas-view.c b/src/nautilus-canvas-view.c
index 563a48c..8480a91 100644
--- a/src/nautilus-canvas-view.c
+++ b/src/nautilus-canvas-view.c
@@ -74,6 +74,7 @@ typedef struct {
const NautilusFileSortType sort_type;
const char *metadata_text;
const char *action_target_name;
+ const gboolean reverse_order;
SortCriterionMatchFunc match_func;
} SortCriterion;
@@ -91,7 +92,6 @@ struct NautilusCanvasViewDetails
guint react_to_canvas_change_idle_id;
const SortCriterion *sort;
- gboolean sort_reversed;
gulong clipboard_handler_id;
@@ -113,55 +113,79 @@ static const SortCriterion sort_criteria[] = {
{
NAUTILUS_FILE_SORT_BY_DISPLAY_NAME,
"name",
- "name"
+ "name",
+ FALSE
},
+ {
+ NAUTILUS_FILE_SORT_BY_DISPLAY_NAME,
+ "name",
+ "name-desc",
+ TRUE
+ },
{
NAUTILUS_FILE_SORT_BY_SIZE,
"size",
- "size"
+ "size",
+ TRUE
},
{
NAUTILUS_FILE_SORT_BY_TYPE,
"type",
- "type"
+ "type",
+ FALSE
},
{
NAUTILUS_FILE_SORT_BY_MTIME,
"modification date",
"modification-date",
+ FALSE
},
+ {
+ NAUTILUS_FILE_SORT_BY_MTIME,
+ "modification date",
+ "modification-date-desc",
+ TRUE
+ },
{
NAUTILUS_FILE_SORT_BY_ATIME,
"access date",
"access-date",
+ FALSE
},
+ {
+ NAUTILUS_FILE_SORT_BY_ATIME,
+ "access date",
+ "access-date-desc",
+ TRUE
+ },
{
NAUTILUS_FILE_SORT_BY_TRASHED_TIME,
"trashed",
"trash-time",
+ TRUE,
nautilus_file_is_in_trash
},
{
NAUTILUS_FILE_SORT_BY_SEARCH_RELEVANCE,
NULL,
"search-relevance",
+ TRUE,
nautilus_file_is_in_search
}
};
static void nautilus_canvas_view_set_directory_sort_by (NautilusCanvasView
*canvas_view,
NautilusFile *file,
- const char *sort_by);
+ const SortCriterion *sort);
static void nautilus_canvas_view_update_click_mode (NautilusCanvasView
*canvas_view);
static gboolean nautilus_canvas_view_supports_scaling (NautilusCanvasView
*canvas_view);
static void nautilus_canvas_view_reveal_selection (NautilusFilesView
*view);
-static const SortCriterion *get_sort_criterion_by_sort_type (NautilusFileSortType sort_type);
-static gboolean set_sort_reversed (NautilusCanvasView *canvas_view,
- gboolean new_value,
- gboolean set_metadata);
+static const SortCriterion *get_sort_criterion_by_metadata_text (const char *metadata_text,
+ gboolean reversed);
+static const SortCriterion *get_sort_criterion_by_sort_type (NautilusFileSortType sort_type,
+ gboolean reversed);
static void switch_to_manual_layout (NautilusCanvasView *view);
-static NautilusFileSortType get_default_sort_order (NautilusFile *file,
- gboolean *reversed);
+static const SortCriterion *get_default_sort_order (NautilusFile *file);
static void nautilus_canvas_view_clear (NautilusFilesView *view);
G_DEFINE_TYPE (NautilusCanvasView, nautilus_canvas_view, NAUTILUS_TYPE_FILES_VIEW);
@@ -268,7 +292,6 @@ update_sort_criterion (NautilusCanvasView *canvas_view,
{
NautilusFile *file;
const SortCriterion *overrided_sort_criterion;
- gboolean overrided_reversed;
file = nautilus_files_view_get_directory_as_file (NAUTILUS_FILES_VIEW (canvas_view));
@@ -276,16 +299,14 @@ update_sort_criterion (NautilusCanvasView *canvas_view,
* of the change to not allow sorting on search and recent, or the
* case that the user or some app modified directly the metadata */
if (nautilus_file_is_in_search (file) || nautilus_file_is_in_recent (file)) {
- overrided_sort_criterion = get_sort_criterion_by_sort_type (get_default_sort_order (file,
NULL));
- nautilus_file_get_default_sort_attribute (file, &overrided_reversed);
- set_sort_reversed (canvas_view, overrided_reversed, FALSE);
+ overrided_sort_criterion = get_default_sort_order (file);
} else if (sort != NULL && canvas_view->details->sort != sort) {
overrided_sort_criterion = sort;
if (set_metadata) {
/* Store the new sort setting. */
nautilus_canvas_view_set_directory_sort_by (canvas_view,
file,
- sort->metadata_text);
+ sort);
}
} else {
return;
@@ -298,20 +319,13 @@ void
nautilus_canvas_view_clean_up_by_name (NautilusCanvasView *canvas_view)
{
NautilusCanvasContainer *canvas_container;
- gboolean saved_sort_reversed;
canvas_container = get_canvas_container (canvas_view);
- /* Hardwire Clean Up to always be by name, in forward order */
- saved_sort_reversed = canvas_view->details->sort_reversed;
-
- set_sort_reversed (canvas_view, FALSE, FALSE);
update_sort_criterion (canvas_view, &sort_criteria[0], FALSE);
nautilus_canvas_container_sort (canvas_container);
nautilus_canvas_container_freeze_icon_positions (canvas_container);
-
- set_sort_reversed (canvas_view, saved_sort_reversed, FALSE);
}
static gboolean
@@ -452,54 +466,60 @@ nautilus_canvas_view_supports_keep_aligned (NautilusCanvasView *view)
return view->details->supports_keep_aligned;
}
-static char *
+static const SortCriterion *
nautilus_canvas_view_get_directory_sort_by (NautilusCanvasView *canvas_view,
NautilusFile *file)
{
- const SortCriterion *default_sort_criterion;
+ const SortCriterion *default_sort;
+ g_autofree char *sort_by = NULL;
+ gboolean reversed;
if (!nautilus_canvas_view_supports_auto_layout (canvas_view)) {
- return g_strdup ("name");
+ return get_sort_criterion_by_metadata_text ("name", FALSE);
}
- default_sort_criterion = get_sort_criterion_by_sort_type (get_default_sort_order (file, NULL));
- g_return_val_if_fail (default_sort_criterion != NULL, NULL);
+ default_sort = get_default_sort_order (file);
+ g_return_val_if_fail (default_sort != NULL, NULL);
- return nautilus_file_get_metadata
- (file, NAUTILUS_METADATA_KEY_ICON_VIEW_SORT_BY,
- default_sort_criterion->metadata_text);
+ sort_by = nautilus_file_get_metadata (file,
+ NAUTILUS_METADATA_KEY_ICON_VIEW_SORT_BY,
+ default_sort->metadata_text);
+
+ reversed = nautilus_file_get_boolean_metadata (file,
+ NAUTILUS_METADATA_KEY_ICON_VIEW_SORT_REVERSED,
+ default_sort->reverse_order);
+
+ return get_sort_criterion_by_metadata_text (sort_by, reversed);
}
-static NautilusFileSortType
-get_default_sort_order (NautilusFile *file, gboolean *reversed)
+static const SortCriterion *
+get_default_sort_order (NautilusFile *file)
{
- NautilusFileSortType retval, default_sort_order;
- gboolean default_sort_in_reverse_order;
+ NautilusFileSortType sort_type, default_sort_order;
+ gboolean reversed;
default_sort_order = g_settings_get_enum (nautilus_preferences,
NAUTILUS_PREFERENCES_DEFAULT_SORT_ORDER);
- default_sort_in_reverse_order = g_settings_get_boolean (nautilus_preferences,
-
NAUTILUS_PREFERENCES_DEFAULT_SORT_IN_REVERSE_ORDER);
-
- retval = nautilus_file_get_default_sort_type (file, reversed);
+ reversed = g_settings_get_boolean (nautilus_preferences,
+ NAUTILUS_PREFERENCES_DEFAULT_SORT_IN_REVERSE_ORDER);
- if (retval == NAUTILUS_FILE_SORT_NONE) {
+ /* If this is a special folder (e.g. search or recent), override the sort
+ * order and reversed flag with values appropriate for the folder */
+ sort_type = nautilus_file_get_default_sort_type (file, &reversed);
- if (reversed != NULL) {
- *reversed = default_sort_in_reverse_order;
- }
-
- retval = CLAMP (default_sort_order, NAUTILUS_FILE_SORT_BY_DISPLAY_NAME,
- NAUTILUS_FILE_SORT_BY_ATIME);
+ if (sort_type == NAUTILUS_FILE_SORT_NONE) {
+ sort_type = CLAMP (default_sort_order,
+ NAUTILUS_FILE_SORT_BY_DISPLAY_NAME,
+ NAUTILUS_FILE_SORT_BY_ATIME);
}
- return retval;
+ return get_sort_criterion_by_sort_type (sort_type, reversed);
}
static void
nautilus_canvas_view_set_directory_sort_by (NautilusCanvasView *canvas_view,
NautilusFile *file,
- const char *sort_by)
+ const SortCriterion *sort)
{
const SortCriterion *default_sort_criterion;
@@ -507,48 +527,17 @@ nautilus_canvas_view_set_directory_sort_by (NautilusCanvasView *canvas_view,
return;
}
- default_sort_criterion = get_sort_criterion_by_sort_type (get_default_sort_order (file, NULL));
+ default_sort_criterion = get_default_sort_order (file);
g_return_if_fail (default_sort_criterion != NULL);
nautilus_file_set_metadata
(file, NAUTILUS_METADATA_KEY_ICON_VIEW_SORT_BY,
default_sort_criterion->metadata_text,
- sort_by);
-}
-
-static gboolean
-nautilus_canvas_view_get_directory_sort_reversed (NautilusCanvasView *canvas_view,
- NautilusFile *file)
-{
- gboolean reversed;
-
- if (!nautilus_canvas_view_supports_auto_layout (canvas_view)) {
- return FALSE;
- }
-
- get_default_sort_order (file, &reversed);
- return nautilus_file_get_boolean_metadata
- (file,
- NAUTILUS_METADATA_KEY_ICON_VIEW_SORT_REVERSED,
- reversed);
-}
-
-static void
-nautilus_canvas_view_set_directory_sort_reversed (NautilusCanvasView *canvas_view,
- NautilusFile *file,
- gboolean sort_reversed)
-{
- gboolean reversed;
-
- if (!nautilus_canvas_view_supports_auto_layout (canvas_view)) {
- return;
- }
-
- get_default_sort_order (file, &reversed);
- nautilus_file_set_boolean_metadata
- (file,
- NAUTILUS_METADATA_KEY_ICON_VIEW_SORT_REVERSED,
- reversed, sort_reversed);
+ sort->metadata_text);
+ nautilus_file_set_boolean_metadata (file,
+ NAUTILUS_METADATA_KEY_ICON_VIEW_SORT_REVERSED,
+ default_sort_criterion->reverse_order,
+ sort->reverse_order);
}
static gboolean
@@ -618,36 +607,19 @@ nautilus_canvas_view_set_directory_auto_layout (NautilusCanvasView *canvas_view,
auto_layout);
}
-static gboolean
-set_sort_reversed (NautilusCanvasView *canvas_view,
- gboolean new_value,
- gboolean set_metadata)
-{
- if (canvas_view->details->sort_reversed == new_value) {
- return FALSE;
- }
- canvas_view->details->sort_reversed = new_value;
-
- if (set_metadata) {
- /* Store the new sort setting. */
- nautilus_canvas_view_set_directory_sort_reversed (canvas_view,
nautilus_files_view_get_directory_as_file (NAUTILUS_FILES_VIEW (canvas_view)), new_value);
- }
-
- return TRUE;
-}
-
static const SortCriterion *
-get_sort_criterion_by_metadata_text (const char *metadata_text)
+get_sort_criterion_by_metadata_text (const char *metadata_text, gboolean reversed)
{
guint i;
/* Figure out what the new sort setting should be. */
for (i = 0; i < G_N_ELEMENTS (sort_criteria); i++) {
- if (g_strcmp0 (sort_criteria[i].metadata_text, metadata_text) == 0) {
+ if (g_strcmp0 (sort_criteria[i].metadata_text, metadata_text) == 0
+ && reversed == sort_criteria[i].reverse_order) {
return &sort_criteria[i];
}
}
- return NULL;
+ return &sort_criteria[0];
}
static const SortCriterion *
@@ -664,13 +636,14 @@ get_sort_criterion_by_action_target_name (const char *action_target_name)
}
static const SortCriterion *
-get_sort_criterion_by_sort_type (NautilusFileSortType sort_type)
+get_sort_criterion_by_sort_type (NautilusFileSortType sort_type, gboolean reversed)
{
guint i;
/* Figure out what the new sort setting should be. */
for (i = 0; i < G_N_ELEMENTS (sort_criteria); i++) {
- if (sort_type == sort_criteria[i].sort_type) {
+ if (sort_type == sort_criteria[i].sort_type
+ && reversed == sort_criteria[i].reverse_order) {
return &sort_criteria[i];
}
}
@@ -695,7 +668,8 @@ nautilus_canvas_view_begin_loading (NautilusFilesView *view)
NautilusCanvasView *canvas_view;
GtkWidget *canvas_container;
NautilusFile *file;
- char *sort_name, *uri;
+ char *uri;
+ const SortCriterion *sort;
g_return_if_fail (NAUTILUS_IS_CANVAS_VIEW (view));
@@ -712,12 +686,8 @@ nautilus_canvas_view_begin_loading (NautilusFilesView *view)
* It's OK not to resort the icons because the
* container doesn't have any icons at this point.
*/
- sort_name = nautilus_canvas_view_get_directory_sort_by (canvas_view, file);
- update_sort_criterion (canvas_view, get_sort_criterion_by_metadata_text (sort_name), FALSE);
- g_free (sort_name);
-
- /* Set the sort direction from the metadata. */
- set_sort_reversed (canvas_view, nautilus_canvas_view_get_directory_sort_reversed (canvas_view, file),
FALSE);
+ sort = nautilus_canvas_view_get_directory_sort_by (canvas_view, file);
+ update_sort_criterion (canvas_view, sort, FALSE);
nautilus_canvas_container_set_keep_aligned
(get_canvas_container (canvas_view),
@@ -893,24 +863,6 @@ nautilus_canvas_view_get_selection (NautilusFilesView *view)
}
static void
-action_reversed_order (GSimpleAction *action,
- GVariant *state,
- gpointer user_data)
-{
- gboolean reversed_order;
-
- g_assert (NAUTILUS_IS_CANVAS_VIEW (user_data));
-
- reversed_order = g_variant_get_boolean (state);
- if (set_sort_reversed (user_data, reversed_order, TRUE)) {
- nautilus_canvas_container_sort (get_canvas_container (user_data));
- nautilus_canvas_view_reveal_selection (NAUTILUS_FILES_VIEW (user_data));
- }
-
- g_simple_action_set_state (action, state);
-}
-
-static void
action_keep_aligned (GSimpleAction *action,
GVariant *state,
gpointer user_data)
@@ -1019,7 +971,6 @@ layout_changed_callback (NautilusCanvasContainer *container,
const GActionEntry canvas_view_entries[] = {
{ "keep-aligned", NULL, NULL, "true", action_keep_aligned },
- { "reversed-order", NULL, NULL, "false", action_reversed_order },
{ "sort", NULL, "s", "'name'", action_sort_order_changed },
{ "zoom-to-level", NULL, NULL, "1", action_zoom_to_level }
};
@@ -1091,7 +1042,6 @@ nautilus_canvas_view_update_actions_state (NautilusFilesView *view)
view_action_group = nautilus_files_view_get_action_group (view);
if (nautilus_canvas_view_supports_auto_layout (canvas_view)) {
GVariant *sort_state;
- GVariant *reversed_state;
/* When we change the sort action state, even using the same value, it triggers
* the sort action changed handler, which reveals the selection, since we expect
@@ -1099,16 +1049,9 @@ nautilus_canvas_view_update_actions_state (NautilusFilesView *view)
* need to update the actions state for others reason than an actual sort change,
* so we need to prevent to trigger the sort action changed handler for those cases.
* To achieve this, check if the action state value actually changed before setting
- * it. The same happens to the reversed-order state.
+ * it
*/
sort_state = g_action_group_get_action_state (view_action_group, "sort");
- reversed_state = g_action_group_get_action_state (view_action_group, "reversed-order");
-
- if (NAUTILUS_CANVAS_VIEW (view)->details->sort_reversed != g_variant_get_boolean
(reversed_state)) {
- g_action_group_change_action_state (view_action_group,
- "reversed-order",
- g_variant_new_boolean (NAUTILUS_CANVAS_VIEW
(view)->details->sort_reversed));
- }
if (g_strcmp0 (g_variant_get_string (sort_state, NULL),
NAUTILUS_CANVAS_VIEW (view)->details->sort->action_target_name) != 0) {
@@ -1117,7 +1060,6 @@ nautilus_canvas_view_update_actions_state (NautilusFilesView *view)
g_variant_new_string (NAUTILUS_CANVAS_VIEW
(view)->details->sort->action_target_name));
}
- g_variant_unref (reversed_state);
g_variant_unref (sort_state);
}
@@ -1363,7 +1305,7 @@ nautilus_canvas_view_compare_files (NautilusCanvasView *canvas_view,
(a, b, canvas_view->details->sort->sort_type,
/* Use type-unsafe cast for performance */
nautilus_files_view_should_sort_directories_first ((NautilusFilesView *)canvas_view),
- canvas_view->details->sort_reversed);
+ canvas_view->details->sort->reverse_order);
}
static int
@@ -1506,7 +1448,7 @@ default_sort_order_changed_callback (gpointer callback_data)
{
NautilusCanvasView *canvas_view;
NautilusFile *file;
- char *sort_name;
+ const SortCriterion *sort;
NautilusCanvasContainer *canvas_container;
g_return_if_fail (NAUTILUS_IS_CANVAS_VIEW (callback_data));
@@ -1514,9 +1456,8 @@ default_sort_order_changed_callback (gpointer callback_data)
canvas_view = NAUTILUS_CANVAS_VIEW (callback_data);
file = nautilus_files_view_get_directory_as_file (NAUTILUS_FILES_VIEW (canvas_view));
- sort_name = nautilus_canvas_view_get_directory_sort_by (canvas_view, file);
- update_sort_criterion (canvas_view, get_sort_criterion_by_metadata_text (sort_name), FALSE);
- g_free (sort_name);
+ sort = nautilus_canvas_view_get_directory_sort_by (canvas_view, file);
+ update_sort_criterion (canvas_view, sort, FALSE);
canvas_container = get_canvas_container (canvas_view);
g_return_if_fail (NAUTILUS_IS_CANVAS_CONTAINER (canvas_container));
@@ -1525,25 +1466,6 @@ default_sort_order_changed_callback (gpointer callback_data)
}
static void
-default_sort_in_reverse_order_changed_callback (gpointer callback_data)
-{
- NautilusCanvasView *canvas_view;
- NautilusFile *file;
- NautilusCanvasContainer *canvas_container;
-
- g_return_if_fail (NAUTILUS_IS_CANVAS_VIEW (callback_data));
-
- canvas_view = NAUTILUS_CANVAS_VIEW (callback_data);
-
- file = nautilus_files_view_get_directory_as_file (NAUTILUS_FILES_VIEW (canvas_view));
- set_sort_reversed (canvas_view, nautilus_canvas_view_get_directory_sort_reversed (canvas_view, file),
FALSE);
- canvas_container = get_canvas_container (canvas_view);
- g_return_if_fail (NAUTILUS_IS_CANVAS_CONTAINER (canvas_container));
-
- nautilus_canvas_container_request_update_all (canvas_container);
-}
-
-static void
nautilus_canvas_view_sort_directories_first_changed (NautilusFilesView *directory_view)
{
NautilusCanvasView *canvas_view;
@@ -1874,9 +1796,6 @@ nautilus_canvas_view_finalize (GObject *object)
default_sort_order_changed_callback,
canvas_view);
g_signal_handlers_disconnect_by_func (nautilus_preferences,
- default_sort_in_reverse_order_changed_callback,
- canvas_view);
- g_signal_handlers_disconnect_by_func (nautilus_preferences,
image_display_policy_changed_callback,
canvas_view);
@@ -1994,7 +1913,7 @@ nautilus_canvas_view_init (NautilusCanvasView *canvas_view)
canvas_view);
g_signal_connect_swapped (nautilus_preferences,
"changed::" NAUTILUS_PREFERENCES_DEFAULT_SORT_IN_REVERSE_ORDER,
- G_CALLBACK (default_sort_in_reverse_order_changed_callback),
+ G_CALLBACK (default_sort_order_changed_callback),
canvas_view);
g_signal_connect_swapped (nautilus_preferences,
"changed::" NAUTILUS_PREFERENCES_SHOW_FILE_THUMBNAILS,
diff --git a/src/resources/ui/nautilus-toolbar-view-menu.ui b/src/resources/ui/nautilus-toolbar-view-menu.ui
index 6bbe3b2..8c66c9a 100644
--- a/src/resources/ui/nautilus-toolbar-view-menu.ui
+++ b/src/resources/ui/nautilus-toolbar-view-menu.ui
@@ -218,61 +218,63 @@
<object class="GtkModelButton" id="sort_name">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="text" translatable="yes" context="Sort Criterion" comments="This is used to
sort by name in the toolbar view menu">_Name</property>
+ <property name="text" translatable="yes" context="Sort Criterion" comments="This is used to
sort by name in the toolbar view menu">_A-Z</property>
<property name="action-name">view.sort</property>
<property name="action-target">'name'</property>
</object>
</child>
<child>
- <object class="GtkModelButton" id="sort_size">
+ <object class="GtkModelButton" id="sort_name_desc">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="text" translatable="yes">_Size</property>
+ <property name="text" translatable="yes" context="Sort Criterion" comments="This is used to
sort by name, in descending order in the toolbar view menu">_Z-A</property>
<property name="action-name">view.sort</property>
- <property name="action-target">'size'</property>
+ <property name="action-target">'name-desc'</property>
</object>
</child>
<child>
- <object class="GtkModelButton" id="sort_type">
+ <object class="GtkModelButton" id="sort_modification_date_desc">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="text" translatable="yes">_Type</property>
+ <property name="text" translatable="yes">Last _Modified</property>
<property name="action-name">view.sort</property>
- <property name="action-target">'type'</property>
+ <property name="action-target">'modification-date-desc'</property>
</object>
</child>
<child>
<object class="GtkModelButton" id="sort_modification_date">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="text" translatable="yes">Last _Modified</property>
+ <property name="text" translatable="yes">_First Modified</property>
<property name="action-name">view.sort</property>
<property name="action-target">'modification-date'</property>
</object>
</child>
<child>
- <object class="GtkModelButton" id="sort_trash_time">
- <property name="visible">False</property>
+ <object class="GtkModelButton" id="sort_size">
+ <property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="text" translatable="yes">Last _Trashed</property>
+ <property name="text" translatable="yes">_Size</property>
<property name="action-name">view.sort</property>
- <property name="action-target">'trash-time'</property>
+ <property name="action-target">'size'</property>
</object>
</child>
<child>
- <object class="GtkSeparator">
+ <object class="GtkModelButton" id="sort_type">
<property name="visible">True</property>
- <property name="orientation">horizontal</property>
- <property name="margin-top">6</property>
- <property name="margin-bottom">6</property>
+ <property name="can_focus">True</property>
+ <property name="text" translatable="yes">_Type</property>
+ <property name="action-name">view.sort</property>
+ <property name="action-target">'type'</property>
</object>
</child>
<child>
- <object class="GtkModelButton" id="reversed_order">
- <property name="visible">True</property>
+ <object class="GtkModelButton" id="sort_trash_time">
+ <property name="visible">False</property>
<property name="can_focus">True</property>
- <property name="text" translatable="yes">Re_verse Order</property>
- <property name="action-name">view.reversed-order</property>
+ <property name="text" translatable="yes">Last _Trashed</property>
+ <property name="action-name">view.sort</property>
+ <property name="action-target">'trash-time'</property>
</object>
</child>
</object>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]