diff options
author | Moritz Bruder <[email protected]> | 2018-04-04 09:39:47 +0200 |
---|---|---|
committer | lukefromdc <[email protected]> | 2018-04-08 15:01:05 -0400 |
commit | 0585258dc117b50cf8e8f6b5361fd815cc292cca (patch) | |
tree | 07f4a10ba806c9acd9b46989e6649c3a24880107 /src/file-manager | |
parent | 68ace006c2443c5f4f263bcdb949ad4685a42081 (diff) | |
download | caja-0585258dc117b50cf8e8f6b5361fd815cc292cca.tar.bz2 caja-0585258dc117b50cf8e8f6b5361fd815cc292cca.tar.xz |
Add sort criterion by reversed extension segments
The basenames of files are split by dots and then starting from the end
each segment is compared to find a sort order. Example:
bar.tar.bz2
foo.tar.bz2
a.bar.gz
x.tar.gz
z.tar.gz
test.tex
A heuristic determines what extension segments are part of the
extension. There is probably no perfect solution but there are much
less false positives. As a result the sorting is more intuitive and the
displayed column in the list view is better readable and displays
extensions more accurately.
In addition a bug related to the default sort criteria in the
preferences has been fixed.
Diffstat (limited to 'src/file-manager')
-rw-r--r-- | src/file-manager/caja-icon-view-ui.xml | 2 | ||||
-rw-r--r-- | src/file-manager/fm-icon-view.c | 13 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/file-manager/caja-icon-view-ui.xml b/src/file-manager/caja-icon-view-ui.xml index 89c4cb6e..865daaf3 100644 --- a/src/file-manager/caja-icon-view-ui.xml +++ b/src/file-manager/caja-icon-view-ui.xml @@ -17,6 +17,7 @@ <menuitem name="Sort by Modification Date" action="Sort by Modification Date"/> <menuitem name="Sort by Emblems" action="Sort by Emblems"/> <menuitem name="Sort by Trash Time" action="Sort by Trash Time"/> + <menuitem name="Sort by Extension" action="Sort by Extension"/> </placeholder> <separator name="Layout separator"/> <menuitem name="Tighter Layout" action="Tighter Layout"/> @@ -40,6 +41,7 @@ <menuitem name="Sort by Modification Date" action="Sort by Modification Date"/> <menuitem name="Sort by Emblems" action="Sort by Emblems"/> <menuitem name="Sort by Trash Time" action="Sort by Trash Time"/> + <menuitem name="Sort by Extension" action="Sort by Extension"/> </placeholder> <separator name="Layout separator"/> <menuitem name="Tighter Layout" action="Tighter Layout"/> diff --git a/src/file-manager/fm-icon-view.c b/src/file-manager/fm-icon-view.c index aadb3463..2d533bfc 100644 --- a/src/file-manager/fm-icon-view.c +++ b/src/file-manager/fm-icon-view.c @@ -169,6 +169,13 @@ static const SortCriterion sort_criteria[] = "Sort by Trash Time", N_("by T_rash Time"), N_("Keep icons sorted by trash time in rows") + }, + { + CAJA_FILE_SORT_BY_EXTENSION, + "extension", + "Sort by Extension", + N_("by E_xtension"), + N_("Keep icons sorted by reversed extension segments in rows") } }; @@ -1770,6 +1777,12 @@ static const GtkRadioActionEntry arrange_radio_entries[] = N_("Keep icons sorted by trash time in rows"), CAJA_FILE_SORT_BY_TRASHED_TIME }, + { + "Sort by Extension", NULL, + N_("By E_xtension"), NULL, + N_("Keep icons sorted by reverse extension segments in rows"), + CAJA_FILE_SORT_BY_EXTENSION + }, }; static void |