diff src/view_dir_list.c @ 825:ee33d2ddb661

Optionnally display directory's date in list view. It can be set through Preferences > Advanced > Behavior and is saved to rc file as layout.show_directory_date option.
author zas_
date Fri, 13 Jun 2008 11:11:57 +0000
parents d6a7fb4b8e7c
children c414002a1f27
line wrap: on
line diff
--- a/src/view_dir_list.c	Thu Jun 12 22:43:32 2008 +0000
+++ b/src/view_dir_list.c	Fri Jun 13 11:11:57 2008 +0000
@@ -157,6 +157,7 @@
 		FileData *fd;
 		GtkTreeIter iter;
 		GdkPixbuf *pixbuf;
+		const gchar *date = "";
 
 		fd = work->data;
 
@@ -173,6 +174,8 @@
 			else
 				{
 				pixbuf = vd->pf->close;
+				if (options->layout.show_directory_date)
+					date = text_from_time(fd->date);
 				}
 			}
 		else
@@ -184,7 +187,9 @@
 		gtk_list_store_set(store, &iter,
 				   DIR_COLUMN_POINTER, fd,
 				   DIR_COLUMN_ICON, pixbuf,
-				   DIR_COLUMN_NAME, fd->name, -1);
+				   DIR_COLUMN_NAME, fd->name,
+				   DIR_COLUMN_DATE, date,
+				   -1);
 
 		work = work->next;
 		}
@@ -368,7 +373,7 @@
 
 	VDLIST_INFO(vd, list) = NULL;
 
-	store = gtk_list_store_new(4, G_TYPE_POINTER, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_BOOLEAN);
+	store = gtk_list_store_new(5, G_TYPE_POINTER, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_STRING);
 	vd->view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store));
 	g_object_unref(store);
 
@@ -391,6 +396,11 @@
 	gtk_tree_view_column_add_attribute(column, renderer, "text", DIR_COLUMN_NAME);
 	gtk_tree_view_column_set_cell_data_func(column, renderer, vd_color_cb, vd, NULL);
 
+	renderer = gtk_cell_renderer_text_new();
+	gtk_tree_view_column_pack_start(column, renderer, TRUE);
+	gtk_tree_view_column_add_attribute(column, renderer, "text", DIR_COLUMN_DATE);
+	gtk_tree_view_column_set_cell_data_func(column, renderer, vd_color_cb, vd, NULL);
+
 	gtk_tree_view_append_column(GTK_TREE_VIEW(vd->view), column);
 
 	return vd;