diff src/layout.c @ 138:71e1ebee420e

replaced gchar* path with FileData *fd
author nadvornik
date Tue, 11 Sep 2007 20:06:29 +0000
parents 661cd91e5a7e
children 1a42a2451575
line wrap: on
line diff
--- a/src/layout.c	Thu Aug 23 20:45:59 2007 +0000
+++ b/src/layout.c	Tue Sep 11 20:06:29 2007 +0000
@@ -810,6 +810,16 @@
 	return NULL;
 }
 
+FileData *layout_list_get_fd(LayoutWindow *lw, gint index)
+{
+	if (!layout_valid(&lw)) return NULL;
+
+	if (lw->vfl) return vflist_index_get_data(lw->vfl, index);
+	if (lw->vfi) return vficon_index_get_data(lw->vfi, index);
+
+	return NULL;
+}
+
 gint layout_list_get_index(LayoutWindow *lw, const gchar *path)
 {
 	if (!layout_valid(&lw)) return -1;
@@ -820,12 +830,12 @@
 	return -1;
 }
 
-void layout_list_sync_path(LayoutWindow *lw, const gchar *path)
+void layout_list_sync_fd(LayoutWindow *lw, FileData *fd)
 {
 	if (!layout_valid(&lw)) return;
 
-	if (lw->vfl) vflist_select_by_path(lw->vfl, path);
-	if (lw->vfi) vficon_select_by_path(lw->vfi, path);
+	if (lw->vfl) vflist_select_by_fd(lw->vfl, fd);
+	if (lw->vfi) vficon_select_by_fd(lw->vfi, fd);
 }
 
 static void layout_list_sync_sort(LayoutWindow *lw)
@@ -842,10 +852,10 @@
 
 	if (layout_image_get_collection(lw, NULL))
 		{
-		const gchar *path;
+		FileData *fd;
 
-		path = layout_image_get_path(lw);
-		if (path) return g_list_append(NULL, g_strdup(path));
+		fd = layout_image_get_fd(lw);
+		if (fd) return g_list_append(NULL, file_data_ref(fd));
 		return NULL;
 		}
 
@@ -970,7 +980,7 @@
 			}
 		else
 			{
-			layout_image_set_path(lw, path);
+			layout_image_set_fd(lw, file_data_new_simple(path));
 			}
 		}
 	else if (!lazy_image_sync)
@@ -2002,43 +2012,43 @@
 	if (lw->path) lw->last_time = filetime(lw->path);
 }
 
-static void layout_real_renamed(LayoutWindow *lw, const gchar *source, const gchar *dest)
+static void layout_real_renamed(LayoutWindow *lw, FileData *fd)
 {
 	gint update = FALSE;
 
-	if (lw->image) layout_image_maint_renamed(lw, source, dest);
+	if (lw->image) layout_image_maint_renamed(lw, fd);
 
-	if (lw->vfl) update |= vflist_maint_renamed(lw->vfl, source, dest);
-	if (lw->vfi) update |= vficon_maint_renamed(lw->vfi, source, dest);
+	if (lw->vfl) update |= vflist_maint_renamed(lw->vfl, fd);
+	if (lw->vfi) update |= vficon_maint_renamed(lw->vfi, fd);
 
 	if (update) layout_real_time_update(lw);
 }
 
-static void layout_real_removed(LayoutWindow *lw, const gchar *path, GList *ignore_list)
+static void layout_real_removed(LayoutWindow *lw, FileData *fd, GList *ignore_list)
 {
 	gint update = FALSE;
 
-	if (lw->image) layout_image_maint_removed(lw, path);
+	if (lw->image) layout_image_maint_removed(lw, fd);
 
-	if (lw->vfl) update |= vflist_maint_removed(lw->vfl, path, ignore_list);
-	if (lw->vfi) update |= vficon_maint_removed(lw->vfi, path, ignore_list);
+	if (lw->vfl) update |= vflist_maint_removed(lw->vfl, fd, ignore_list);
+	if (lw->vfi) update |= vficon_maint_removed(lw->vfi, fd, ignore_list);
 
 	if (update) layout_real_time_update(lw);
 }
 
-static void layout_real_moved(LayoutWindow *lw, const gchar *source, const gchar *dest, GList *ignore_list)
+static void layout_real_moved(LayoutWindow *lw, FileData *fd, GList *ignore_list)
 {
 	gint update = FALSE;
 
-	if (lw->image) layout_image_maint_moved(lw, source, dest);
+	if (lw->image) layout_image_maint_moved(lw, fd);
 
-	if (lw->vfl) update |= vflist_maint_moved(lw->vfl, source, dest, ignore_list);
-	if (lw->vfi) update |= vficon_maint_moved(lw->vfi, source, dest, ignore_list);
+	if (lw->vfl) update |= vflist_maint_moved(lw->vfl, fd, ignore_list);
+	if (lw->vfi) update |= vficon_maint_moved(lw->vfi, fd, ignore_list);
 
 	if (update) layout_real_time_update(lw);
 }
 
-void layout_maint_renamed(const gchar *source, const gchar *dest)
+void layout_maint_renamed(FileData *fd)
 {
 	GList *work = layout_window_list;
 	while (work)
@@ -2046,11 +2056,11 @@
 		LayoutWindow *lw = work->data;
 		work = work->next;
 
-		layout_real_renamed(lw, source, dest);
+		layout_real_renamed(lw, fd);
 		}
 }
 
-void layout_maint_removed(const gchar *path, GList *ignore_list)
+void layout_maint_removed(FileData *fd, GList *ignore_list)
 {
 	GList *work = layout_window_list;
 	while (work)
@@ -2058,11 +2068,11 @@
 		LayoutWindow *lw = work->data;
 		work = work->next;
 
-		layout_real_removed(lw, path, ignore_list);
+		layout_real_removed(lw, fd, ignore_list);
 		}
 }
 
-void layout_maint_moved(const gchar *source, const gchar *dest, GList *ignore_list)
+void layout_maint_moved(FileData *fd, GList *ignore_list)
 {
 	GList *work = layout_window_list;
 	while (work)
@@ -2070,6 +2080,6 @@
 		LayoutWindow *lw = work->data;
 		work = work->next;
 
-		layout_real_moved(lw, source, dest, ignore_list);
+		layout_real_moved(lw, fd, ignore_list);
 		}
 }