summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/caja-file-management-properties.c7
-rw-r--r--src/caja-file-management-properties.ui6
-rw-r--r--src/file-manager/caja-icon-view-ui.xml2
-rw-r--r--src/file-manager/fm-icon-view.c13
4 files changed, 28 insertions, 0 deletions
diff --git a/src/caja-file-management-properties.c b/src/caja-file-management-properties.c
index dc687688..0568f360 100644
--- a/src/caja-file-management-properties.c
+++ b/src/caja-file-management-properties.c
@@ -94,6 +94,12 @@ static const char * const zoom_values[] =
NULL
};
+/*
+ * This array corresponds to the object with id "model2" in
+ * caja-file-management-properties.ui. It has to positionally match with it.
+ * The purpose is to map values from a combo box to values of the gsettings
+ * enum.
+ */
static const char * const sort_order_values[] =
{
"name",
@@ -104,6 +110,7 @@ static const char * const sort_order_values[] =
"mtime",
"atime",
"emblems",
+ "extension",
"trash-time",
NULL
};
diff --git a/src/caja-file-management-properties.ui b/src/caja-file-management-properties.ui
index 4bb397ea..20d36c08 100644
--- a/src/caja-file-management-properties.ui
+++ b/src/caja-file-management-properties.ui
@@ -84,6 +84,9 @@
<col id="0" translatable="yes">By Size</col>
</row>
<row>
+ <col id="0" translatable="yes">By Size on Disk</col>
+ </row>
+ <row>
<col id="0" translatable="yes">By Type</col>
</row>
<row>
@@ -96,6 +99,9 @@
<col id="0" translatable="yes">By Emblems</col>
</row>
<row>
+ <col id="0" translatable="yes">By Extension</col>
+ </row>
+ <row>
<col id="0" translatable="yes">By Trashed Date</col>
</row>
</data>
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