[PATCH] Fix icon container icon order



The attached patch takes care that new icons are added to the container
at the right list position. Checkout FMPropertyDialog for multiple files
to see the old broken behavior.

-- 
Christian Neumair <chris gnome-de org>
Index: libnautilus-private/nautilus-icon-container.c
===================================================================
RCS file: /cvs/gnome/nautilus/libnautilus-private/nautilus-icon-container.c,v
retrieving revision 1.396
diff -u -p -r1.396 nautilus-icon-container.c
--- libnautilus-private/nautilus-icon-container.c	1 Sep 2005 09:29:57 -0000	1.396
+++ libnautilus-private/nautilus-icon-container.c	18 Sep 2005 14:23:56 -0000
@@ -2236,6 +2232,17 @@ compare_icons_by_uri (NautilusIconContai
 }
 
 static int
+gcompare_icons_by_uri (gconstpointer icon_a,
+		       gconstpointer icon_b)
+{
+	NautilusIconContainer *container;
+
+	container = NAUTILUS_ICON_CONTAINER (EEL_CANVAS_ITEM (((NautilusIcon *) icon_a)->item)->canvas);
+
+	return compare_icons_by_uri (container, (NautilusIcon *) icon_a, (NautilusIcon *) icon_b);
+}
+
+static int
 compare_icons_horizontal_first (NautilusIconContainer *container,
 				NautilusIcon *icon_a,
 				NautilusIcon *icon_b)
@@ -5246,7 +5246,7 @@ nautilus_icon_container_add (NautilusIco
 	}
 	
 	/* Put it on both lists. */
-	details->icons = g_list_prepend (details->icons, icon);
+	details->icons = g_list_insert_sorted (details->icons, icon, gcompare_icons_by_uri);
 	details->new_icons = g_list_prepend (details->new_icons, icon);
 
 	g_hash_table_insert (details->icon_set, data, icon);

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]