Mercurial > geeqie
diff src/layout_image.c @ 783:d6a7fb4b8e7c
replaced directory path with FileData* dir_fd
author | nadvornik |
---|---|
date | Tue, 03 Jun 2008 19:44:19 +0000 |
parents | 477f48ba28d8 |
children | 0be132a51f51 |
line wrap: on
line diff
--- a/src/layout_image.c Tue Jun 03 15:54:05 2008 +0000 +++ b/src/layout_image.c Tue Jun 03 19:44:19 2008 +0000 @@ -442,7 +442,7 @@ else { lw->slideshow = slideshow_start(lw->image, lw, - layout_list_get_index(lw, layout_image_get_path(lw)), + layout_list_get_index(lw, layout_image_get_fd(lw)), layout_image_slideshow_stop_func, lw); } @@ -705,12 +705,12 @@ static void li_set_layout_path_cb(GtkWidget *widget, gpointer data) { LayoutWindow *lw = data; - const gchar *path; + FileData *fd; if (!layout_valid(&lw)) return; - path = layout_image_get_path(lw); - if (path) layout_set_path(lw, path); + fd = layout_image_get_fd(lw); + if (fd) layout_set_fd(lw, fd); } static gint li_check_if_current_path(LayoutWindow *lw, const gchar *path) @@ -718,10 +718,10 @@ gchar *dirname; gint ret; - if (!path || !layout_valid(&lw) || !lw->path) return FALSE; + if (!path || !layout_valid(&lw) || !lw->dir_fd) return FALSE; dirname = g_path_get_dirname(path); - ret = (strcmp(lw->path, dirname) == 0); + ret = (strcmp(lw->dir_fd->path, dirname) == 0); g_free(dirname); return ret; } @@ -887,15 +887,18 @@ { gchar *base; gint row; + FileData *dir_fd; base = remove_level_from_path(fd->path); - if (strcmp(base, layout_get_path(lw)) != 0) + dir_fd = file_data_new_simple(base); + if (dir_fd != lw->dir_fd) { - layout_set_path(lw, base); + layout_set_fd(lw, dir_fd); } + file_data_unref(dir_fd); g_free(base); - row = layout_list_get_index(lw, fd->path); + row = layout_list_get_index(lw, fd); if (source && info_list) { layout_image_set_collection(lw, source, info_list->data); @@ -911,7 +914,7 @@ } else if (isdir(fd->path)) { - layout_set_path(lw, fd->path); + layout_set_fd(lw, fd); layout_image_set_fd(lw, NULL); } } @@ -982,14 +985,14 @@ LayoutWindow *lw = data; if (context->action == GDK_ACTION_MOVE) { - const gchar *path; + FileData *fd; gint row; - path = layout_image_get_path(lw); - row = layout_list_get_index(lw, path); + fd = layout_image_get_fd(lw); + row = layout_list_get_index(lw, fd); if (row < 0) return; - if (!isfile(path)) + if (!isfile(fd->path)) { if ((guint) row < layout_list_count(lw, NULL) - 1) { @@ -1154,7 +1157,7 @@ gint layout_image_get_index(LayoutWindow *lw) { - return layout_list_get_index(lw, image_get_path(lw->image)); + return layout_list_get_index(lw, image_get_fd(lw->image)); } /* @@ -1205,7 +1208,7 @@ if (!layout_valid(&lw)) return; - old = layout_list_get_index(lw, layout_image_get_path(lw)); + old = layout_list_get_index(lw, layout_image_get_fd(lw)); fd = layout_list_get_fd(lw, index); if (old > index) @@ -1366,7 +1369,7 @@ if (layout_selection_count(lw, 0) > 1) { GList *x = layout_selection_list_by_index(lw); - gint old = layout_list_get_index(lw, layout_image_get_path(lw)); + gint old = layout_list_get_index(lw, layout_image_get_fd(lw)); GList *y; for (y = x; y && (GPOINTER_TO_INT(y->data)) != old; y = y->next) @@ -1436,7 +1439,7 @@ if (layout_selection_count(lw, 0) > 1) { GList *x = layout_selection_list_by_index(lw); - gint old = layout_list_get_index(lw, layout_image_get_path(lw)); + gint old = layout_list_get_index(lw, layout_image_get_fd(lw)); GList *y; GList *last; @@ -1824,7 +1827,7 @@ if (fd) { // layout_list_sync_path(lw, path); - layout_set_path(lw, fd->path); + layout_set_fd(lw, fd); } }