nautilus r14563 - in trunk: . libnautilus-private



Author: cneumair
Date: Mon Sep  1 15:40:32 2008
New Revision: 14563
URL: http://svn.gnome.org/viewvc/nautilus?rev=14563&view=rev

Log:
2008-09-01  Christian Neumair  <cneumair gnome org>

	* libnautilus-private/nautilus-icon-container.c
	(nautilus_icon_container_scroll_to_icon):
	Also reveal entire rows/columns, and ensure a nice padding around icons.


Modified:
   trunk/ChangeLog
   trunk/libnautilus-private/nautilus-icon-container.c

Modified: trunk/libnautilus-private/nautilus-icon-container.c
==============================================================================
--- trunk/libnautilus-private/nautilus-icon-container.c	(original)
+++ trunk/libnautilus-private/nautilus-icon-container.c	Mon Sep  1 15:40:32 2008
@@ -6471,9 +6471,8 @@
 	GList *l;
 	NautilusIcon *icon;
 	GtkAdjustment *hadj, *vadj;
-	int x, y;
-	double x1, y1, x2, y2;
 	EelCanvasItem *item;
+	EelIRect bounds;
 
 	hadj = gtk_layout_get_hadjustment (GTK_LAYOUT (container));
 	vadj = gtk_layout_get_vadjustment (GTK_LAYOUT (container));
@@ -6488,26 +6487,20 @@
 		
 		if (icon->data == data &&
 		    icon_is_positioned (icon)) {
+
 			item = EEL_CANVAS_ITEM (icon->item);
-			eel_canvas_item_get_bounds (item,
-						    &x1, &y1, &x2, &y2);
-			eel_canvas_item_i2w (item->parent,
-					     &x1,
-					     &y1);
-			eel_canvas_w2c (item->canvas,
-					x1, y1,
-					&x, &y);
 
-			if (nautilus_icon_container_is_layout_vertical (container)) {
-				x -= ICON_PAD_LEFT;
-				x = MAX (0, x);
+			if (nautilus_icon_container_is_auto_layout (container)) {
+				/* ensure that we reveal the entire row/column */
+				icon_get_row_and_column_bounds (container, icon, &bounds, TRUE);
+			} else {
+				item_get_canvas_bounds (EEL_CANVAS_ITEM (icon->item), &bounds, TRUE);
+			}
 
-				eel_gtk_adjustment_set_value (hadj, x);
+			if (nautilus_icon_container_is_layout_vertical (container)) {
+				eel_gtk_adjustment_set_value (hadj, bounds.x0);
 			} else {
-				y -= ICON_PAD_TOP;
-				y = MAX (0, y);
-				
-				eel_gtk_adjustment_set_value (vadj, y);
+				eel_gtk_adjustment_set_value (vadj, bounds.x0);
 			}
 		}
 		



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