changeset 2273:bc378aaab4f9

Merge branch 'sort-by-ctime' * sort-by-ctime: Implementing sorting by file creation
author Klaus Ethgen <Klaus@Ethgen.de>
date Fri, 04 Mar 2016 11:21:49 +0100
parents 60ed39a3a285 (current diff) 56ffcc384eb8 (diff)
children e88d019b2633
files
diffstat 3 files changed, 13 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/filedata.c	Thu Mar 03 19:47:26 2016 -0500
+++ b/src/filedata.c	Fri Mar 04 11:21:49 2016 +0100
@@ -165,6 +165,7 @@
 		{
 		fd->size = st->st_size;
 		fd->date = st->st_mtime;
+		fd->cdate = st->st_ctime;
 		fd->mode = st->st_mode;
 		if (fd->thumb_pixbuf) g_object_unref(fd->thumb_pixbuf);
 		fd->thumb_pixbuf = NULL;
@@ -394,6 +395,7 @@
 
 	fd->size = st->st_size;
 	fd->date = st->st_mtime;
+	fd->cdate = st->st_ctime;
 	fd->mode = st->st_mode;
 	fd->ref = 1;
 	fd->magick = FD_MAGICK;
@@ -997,6 +999,11 @@
 			if (fa->date > fb->date) return 1;
 			/* fall back to name */
 			break;
+		case SORT_CTIME:
+			if (fa->cdate < fb->cdate) return -1;
+			if (fa->cdate > fb->cdate) return 1;
+			/* fall back to name */
+			break;
 		case SORT_EXIFTIME:
 			if (fa->exifdate < fb->exifdate) return -1;
 			if (fa->exifdate > fb->exifdate) return 1;
--- a/src/menu.c	Thu Mar 03 19:47:26 2016 -0500
+++ b/src/menu.c	Fri Mar 04 11:21:49 2016 +0100
@@ -135,6 +135,9 @@
 		case SORT_TIME:
 			return _("Sort by date");
 			break;
+		case SORT_CTIME:
+			return _("Sort by file creation date");
+			break;
 		case SORT_EXIFTIME:
 			return _("Sort by Exif-date");
 			break;
@@ -191,6 +194,7 @@
 	submenu_add_sort_item(submenu, func, SORT_NUMBER, show_current, type);
 #endif
 	submenu_add_sort_item(submenu, func, SORT_TIME, show_current, type);
+	submenu_add_sort_item(submenu, func, SORT_CTIME, show_current, type);
 	submenu_add_sort_item(submenu, func, SORT_EXIFTIME, show_current, type);
 	submenu_add_sort_item(submenu, func, SORT_SIZE, show_current, type);
 	if (include_path) submenu_add_sort_item(submenu, func, SORT_PATH, show_current, type);
--- a/src/typedefs.h	Thu Mar 03 19:47:26 2016 -0500
+++ b/src/typedefs.h	Fri Mar 04 11:21:49 2016 +0100
@@ -49,6 +49,7 @@
 	SORT_NAME,
 	SORT_SIZE,
 	SORT_TIME,
+	SORT_CTIME,
 	SORT_PATH,
 	SORT_NUMBER,
 	SORT_EXIFTIME
@@ -511,6 +512,7 @@
 	gchar *collate_key_name_nocase;
 	gint64 size;
 	time_t date;
+	time_t cdate;
 	mode_t mode; /* this is needed at least for notification in view_dir because it is preserved after the file/directory is deleted */
 	gint sidecar_priority;