rpms/nautilus/devel nautilus-2.16.2-icons-overlap-revert.patch, NONE, 1.1 nautilus.spec, 1.128, 1.129

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Wed Nov 8 10:47:58 UTC 2006


Author: alexl

Update of /cvs/dist/rpms/nautilus/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv27759

Modified Files:
	nautilus.spec 
Added Files:
	nautilus-2.16.2-icons-overlap-revert.patch 
Log Message:
* Wed Nov  8 2006 Alexander Larsson <alexl at redhat.com> - 2.16.2-3.fc6
- Revert upstream icon placement patch as it seems broken



nautilus-2.16.2-icons-overlap-revert.patch:
 libnautilus-private/nautilus-icon-container.c |   27 ++++----------------------
 src/file-manager/fm-icon-view.c               |   17 +++++++++++-----
 2 files changed, 17 insertions(+), 27 deletions(-)

--- NEW FILE nautilus-2.16.2-icons-overlap-revert.patch ---
--- nautilus-2.16.2/libnautilus-private/nautilus-icon-container.c.icons	2006-11-07 10:22:42.000000000 +0100
+++ nautilus-2.16.2/libnautilus-private/nautilus-icon-container.c	2006-11-08 11:23:30.000000000 +0100
@@ -287,8 +287,6 @@
 	int x1, y1, x2, y2;
 	int container_x, container_y, container_width, container_height;
 
-	icon->has_lazy_position = FALSE;
-
 	if (icon->x == x && icon->y == y) {
 		return;
 	}
@@ -349,7 +347,7 @@
 	if (icon->y == ICON_UNPOSITIONED_VALUE) {
 		icon->y = 0;
 	}
-
+	
 	eel_canvas_item_move (EEL_CANVAS_ITEM (icon->item),
 				x - icon->x,
 				y - icon->y);
@@ -5735,13 +5733,9 @@
 	new_icons = g_list_reverse (new_icons);
 	no_position_icons = semi_position_icons = NULL;
 	for (p = new_icons; p != NULL; p = p->next) {
-		gboolean has_lazy_position;
-
 		icon = p->data;
-		has_lazy_position = icon->has_lazy_position;
-
                 if (assign_icon_position (container, icon)) {
-			if (!container->details->is_reloading && !container->details->auto_layout && has_lazy_position) {
+                        if (!container->details->auto_layout && icon->has_lazy_position) {
                                 semi_position_icons = g_list_prepend (semi_position_icons, icon);
                         }
                 } else {
@@ -5774,7 +5768,6 @@
 		for (p = semi_position_icons; p != NULL; p = p->next) {
 			NautilusIcon *icon;
 			int x, y;
-			NautilusIconPosition position;
 
 			icon = p->data;
 			x = icon->x;
@@ -5787,10 +5780,9 @@
 
 			placement_grid_mark_icon (grid, icon);
 
-			position.x = icon->x;
-			position.y = icon->y;
-			g_signal_emit (container, signals[ICON_POSITION_CHANGED], 0,
-				       icon->data, &position);
+			/* ensure that next time we run this code, the formerly semi-positioned
+			 * icons are treated as being positioned. */
+			icon->has_lazy_position = FALSE;
 		}
 
 		placement_grid_free (grid);
@@ -6690,15 +6682,6 @@
 	}
 }
 
-void
-nautilus_icon_container_set_is_reloading (NautilusIconContainer *container,
-					  gboolean               is_reloading)
-{
-	g_return_if_fail (NAUTILUS_IS_ICON_CONTAINER (container));
-
-	container->details->is_reloading = is_reloading;
-}
-
 gboolean
 nautilus_icon_container_is_auto_layout (NautilusIconContainer *container)
 {
--- nautilus-2.16.2/src/file-manager/fm-icon-view.c.icons	2006-11-07 10:22:42.000000000 +0100
+++ nautilus-2.16.2/src/file-manager/fm-icon-view.c	2006-11-08 11:23:29.000000000 +0100
@@ -531,12 +531,22 @@
 file_has_lazy_position (FMDirectoryView *view,
 			NautilusFile *file)
 {
+	gboolean lazy_position;
+
 	/* For volumes (i.e. cdrom icon) we use lazy positioning so that when
 	 * an old cdrom gets re-mounted in a place that now has another
-	 * icon we don't overlap that one.
+	 * icon we don't overlap that one. We don't do this in general though,
+	 * as it can cause icons moving around.
 	 */
+	lazy_position = nautilus_file_has_volume (file);
+	if (lazy_position && fm_directory_view_get_loading (view)) {
+		/* if volumes are loaded during directory load, don't mark them
+		 * as lazy. This is wrong for files that were mounted during user
+		 * log-off, but it is right for files that were mounted during login. */
+		lazy_position = FALSE;
+	}
 
-	return NAUTILUS_IS_DESKTOP_ICON_FILE (file);
+	return lazy_position;
 }
 
 static void
@@ -1082,8 +1092,6 @@
 	file = fm_directory_view_get_directory_as_file (view);
 	icon_container = GTK_WIDGET (get_icon_container (icon_view));
 
-	nautilus_icon_container_set_is_reloading (NAUTILUS_ICON_CONTAINER (icon_container), TRUE);
-
 	nautilus_icon_container_set_allow_moves (NAUTILUS_ICON_CONTAINER (icon_container),
 						 fm_directory_view_get_allow_moves (view));
 
@@ -1158,7 +1166,6 @@
 	FMIconView *icon_view;
 
 	icon_view = FM_ICON_VIEW (view);
-	nautilus_icon_container_set_is_reloading (get_icon_container (icon_view), FALSE);
 }
 
 static NautilusZoomLevel


Index: nautilus.spec
===================================================================
RCS file: /cvs/dist/rpms/nautilus/devel/nautilus.spec,v
retrieving revision 1.128
retrieving revision 1.129
diff -u -r1.128 -r1.129
--- nautilus.spec	7 Nov 2006 16:53:03 -0000	1.128
+++ nautilus.spec	8 Nov 2006 10:47:55 -0000	1.129
@@ -24,7 +24,7 @@
 Name:		nautilus
 Summary:        Nautilus is a file manager for GNOME.
 Version: 	2.16.2
-Release:	2%{?dist}
+Release:	4%{?dist}
 License: 	GPL
 Group:          User Interface/Desktops
 Source: 	ftp://ftp.gnome.org/pub/GNOME/sources/2.7/%{name}/%{name}-%{version}.tar.bz2
@@ -89,6 +89,7 @@
 Patch2:         nautilus-2.15.2-format.patch
 Patch3:		background-no-delay.patch
 Patch5:		nautilus-2.16.2-selinux.patch
+Patch7:		nautilus-2.16.2-icons-overlap-revert.patch
 
 %description
 Nautilus integrates access to files, applications, media,
@@ -121,6 +122,7 @@
 %patch2 -p1 -b .format
 %patch3 -p1 -b .no-delay
 %patch5 -p1 -b .selinux
+%patch7 -p1 -b .icons-overlap-revert
 
 %build
 
@@ -214,6 +216,9 @@
 %{_libdir}/*.so
 
 %changelog
+* Wed Nov  8 2006 Alexander Larsson <alexl at redhat.com> - 2.16.2-4.fc7
+- Revert upstream icon placement patch as it seems broken
+
 * Tue Nov  7 2006 Alexander Larsson <alexl at redhat.com> - 2.16.2-2.fc7
 - Update to 2.16.2
 




More information about the fedora-cvs-commits mailing list