Mercurial > geeqie
diff src/view_dir_tree.c @ 907:ca8022a156ec
added notification handler to view_dir
author | nadvornik |
---|---|
date | Mon, 21 Jul 2008 20:40:29 +0000 |
parents | c414002a1f27 |
children | 64fd2fc5cb7a |
line wrap: on
line diff
--- a/src/view_dir_tree.c Mon Jul 21 08:31:43 2008 +0000 +++ b/src/view_dir_tree.c Mon Jul 21 20:40:29 2008 +0000 @@ -41,8 +41,6 @@ -static gint vdtree_populate_path_by_iter(ViewDir *vd, GtkTreeIter *iter, gint force, FileData *target_fd); - /* *---------------------------------------------------------------------------- @@ -381,6 +379,7 @@ nd = g_new0(NodeData, 1); nd->fd = fd; + nd->version = fd->version; nd->expanded = FALSE; nd->last_update = time(NULL); @@ -418,7 +417,7 @@ } } -static gint vdtree_populate_path_by_iter(ViewDir *vd, GtkTreeIter *iter, gint force, FileData *target_fd) +gint vdtree_populate_path_by_iter(ViewDir *vd, GtkTreeIter *iter, gint force, FileData *target_fd) { GtkTreeModel *store; GList *list; @@ -446,7 +445,7 @@ vdtree_node_free(nd); return FALSE; } - if (!force && filetime(nd->fd->path) == nd->fd->date) return TRUE; + if (!force && nd->fd->version == nd->version) return TRUE; } vdtree_busy_push(vd); @@ -513,11 +512,11 @@ if (cnd) { old = g_list_remove(old, cnd); - if (cnd->expanded && cnd->fd->date != fd->date && + if (cnd->expanded && cnd->version != fd->version && vdtree_populate_path_by_iter(vd, &child, FALSE, target_fd)) { - cnd->fd->size = fd->size; - cnd->fd->date = fd->date; + gtk_tree_store_set(store, &child, DIR_COLUMN_NAME, fd->name, -1); + cnd->version = fd->version; } file_data_unref(fd);