comparison 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
comparison
equal deleted inserted replaced
824:4a913f093f56 825:ee33d2ddb661
155 while (work) 155 while (work)
156 { 156 {
157 FileData *fd; 157 FileData *fd;
158 GtkTreeIter iter; 158 GtkTreeIter iter;
159 GdkPixbuf *pixbuf; 159 GdkPixbuf *pixbuf;
160 const gchar *date = "";
160 161
161 fd = work->data; 162 fd = work->data;
162 163
163 if (access_file(fd->path, R_OK | X_OK) && fd->name) 164 if (access_file(fd->path, R_OK | X_OK) && fd->name)
164 { 165 {
171 pixbuf = vd->pf->parent; 172 pixbuf = vd->pf->parent;
172 } 173 }
173 else 174 else
174 { 175 {
175 pixbuf = vd->pf->close; 176 pixbuf = vd->pf->close;
177 if (options->layout.show_directory_date)
178 date = text_from_time(fd->date);
176 } 179 }
177 } 180 }
178 else 181 else
179 { 182 {
180 pixbuf = vd->pf->deny; 183 pixbuf = vd->pf->deny;
182 185
183 gtk_list_store_append(store, &iter); 186 gtk_list_store_append(store, &iter);
184 gtk_list_store_set(store, &iter, 187 gtk_list_store_set(store, &iter,
185 DIR_COLUMN_POINTER, fd, 188 DIR_COLUMN_POINTER, fd,
186 DIR_COLUMN_ICON, pixbuf, 189 DIR_COLUMN_ICON, pixbuf,
187 DIR_COLUMN_NAME, fd->name, -1); 190 DIR_COLUMN_NAME, fd->name,
191 DIR_COLUMN_DATE, date,
192 -1);
188 193
189 work = work->next; 194 work = work->next;
190 } 195 }
191 196
192 vd->click_fd = NULL; 197 vd->click_fd = NULL;
366 vd->info = g_new0(ViewDirInfoList, 1); 371 vd->info = g_new0(ViewDirInfoList, 1);
367 vd->type = DIRVIEW_LIST; 372 vd->type = DIRVIEW_LIST;
368 373
369 VDLIST_INFO(vd, list) = NULL; 374 VDLIST_INFO(vd, list) = NULL;
370 375
371 store = gtk_list_store_new(4, G_TYPE_POINTER, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_BOOLEAN); 376 store = gtk_list_store_new(5, G_TYPE_POINTER, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_STRING);
372 vd->view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); 377 vd->view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store));
373 g_object_unref(store); 378 g_object_unref(store);
374 379
375 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(vd->view), FALSE); 380 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(vd->view), FALSE);
376 gtk_tree_view_set_enable_search(GTK_TREE_VIEW(vd->view), FALSE); 381 gtk_tree_view_set_enable_search(GTK_TREE_VIEW(vd->view), FALSE);
389 renderer = gtk_cell_renderer_text_new(); 394 renderer = gtk_cell_renderer_text_new();
390 gtk_tree_view_column_pack_start(column, renderer, TRUE); 395 gtk_tree_view_column_pack_start(column, renderer, TRUE);
391 gtk_tree_view_column_add_attribute(column, renderer, "text", DIR_COLUMN_NAME); 396 gtk_tree_view_column_add_attribute(column, renderer, "text", DIR_COLUMN_NAME);
392 gtk_tree_view_column_set_cell_data_func(column, renderer, vd_color_cb, vd, NULL); 397 gtk_tree_view_column_set_cell_data_func(column, renderer, vd_color_cb, vd, NULL);
393 398
399 renderer = gtk_cell_renderer_text_new();
400 gtk_tree_view_column_pack_start(column, renderer, TRUE);
401 gtk_tree_view_column_add_attribute(column, renderer, "text", DIR_COLUMN_DATE);
402 gtk_tree_view_column_set_cell_data_func(column, renderer, vd_color_cb, vd, NULL);
403
394 gtk_tree_view_append_column(GTK_TREE_VIEW(vd->view), column); 404 gtk_tree_view_append_column(GTK_TREE_VIEW(vd->view), column);
395 405
396 return vd; 406 return vd;
397 } 407 }