[maemo-commits] [maemo-commits] r11175 - in projects/haf/trunk/gtk+: . gtk

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Fri Apr 20 15:03:15 EEST 2007
Author: mitch
Date: 2007-04-20 15:03:13 +0300 (Fri, 20 Apr 2007)
New Revision: 11175

Modified:
   projects/haf/trunk/gtk+/ChangeLog
   projects/haf/trunk/gtk+/gtk/gtkscrolledwindow.c
Log:
2007-04-20  Michael Natterer  <mitch at imendio.com>

	* gtk/gtkscrolledwindow.c: back out "keep focussed child visible
	when size changes".



Modified: projects/haf/trunk/gtk+/ChangeLog
===================================================================
--- projects/haf/trunk/gtk+/ChangeLog	2007-04-20 11:42:35 UTC (rev 11174)
+++ projects/haf/trunk/gtk+/ChangeLog	2007-04-20 12:03:13 UTC (rev 11175)
@@ -1,5 +1,10 @@
 2007-04-20  Michael Natterer  <mitch at imendio.com>
 
+	* gtk/gtkscrolledwindow.c: back out "keep focussed child visible
+	when size changes".
+
+2007-04-20  Michael Natterer  <mitch at imendio.com>
+
 	Merge from upstream trunk:
 
     Tue Sep 19 17:00:04 2006  Tim Janik  <timj at imendio.com>

Modified: projects/haf/trunk/gtk+/gtk/gtkscrolledwindow.c
===================================================================
--- projects/haf/trunk/gtk+/gtk/gtkscrolledwindow.c	2007-04-20 11:42:35 UTC (rev 11174)
+++ projects/haf/trunk/gtk+/gtk/gtkscrolledwindow.c	2007-04-20 12:03:13 UTC (rev 11175)
@@ -1275,85 +1275,7 @@
     }
 }
 
-#ifdef MAEMO_CHANGES
-
-static gdouble
-gtk_scrolled_window_get_focus_movement (GtkScrolledWindow *scrolled_window)
-{
-  GtkWidget *focus_child;
-  GtkRange *range;
-  GtkAdjustment *adj;
-  gdouble value, new_value;
-  gint x, y;
-  gint border_width;
-
-  focus_child = GTK_CONTAINER (scrolled_window)->focus_child;
-  if (focus_child == NULL)
-     return 0;
-
-  while (GTK_IS_CONTAINER (focus_child) &&
-        GTK_CONTAINER (focus_child)->focus_child)
-    {
-      focus_child = GTK_CONTAINER (focus_child)->focus_child;
-    }
-
-  if (!gtk_widget_translate_coordinates (focus_child->parent,
-                                         GTK_WIDGET (scrolled_window),
-                                         focus_child->allocation.x,
-                                         focus_child->allocation.y, &x, &y))
-    return 0;
-
-  range = GTK_RANGE (scrolled_window->vscrollbar);
-  adj = range->adjustment;
-  value = gtk_adjustment_get_value (adj);
-
-  border_width = GTK_CONTAINER (scrolled_window)->border_width;
-
-  x -= border_width;
-  y -= border_width;
-
-  if (y < 0)
-    {
-      /* scroll up */
-      new_value = value + y;
-      if (new_value < adj->lower)
-       new_value = adj->lower;
-    }
-  else if (y + focus_child->allocation.height > adj->page_size)
-    {
-      /* scroll down */
-      new_value = value + y + focus_child->allocation.height - adj->page_size;
-      if (new_value > adj->upper - adj->page_size)
-        new_value = adj->upper - adj->page_size;
-    }
-  else
-    {
-      new_value = value;
-    }
-
-  return new_value - value;
-}
-
 static void
-gtk_scrolled_window_scroll_to_focus (GtkScrolledWindow *scrolled_window)
-{
-  GtkAdjustment *adj;
-  gdouble diff;
-
-  diff = gtk_scrolled_window_get_focus_movement (scrolled_window);
-  if (diff != 0)
-    {
-      adj = GTK_RANGE (scrolled_window->vscrollbar)->adjustment;
-
-      gtk_adjustment_set_value (adj, gtk_adjustment_get_value (adj) + diff);
-      gtk_scrolled_window_set_vadjustment (scrolled_window,
-                                          GTK_ADJUSTMENT (adj));
-    }
-}
-
-#endif /* MAEMO_CHANGES */
-
-static void
 gtk_scrolled_window_size_allocate (GtkWidget     *widget,
 				   GtkAllocation *allocation)
 {
@@ -1363,9 +1285,6 @@
   GtkAllocation relative_allocation;
   GtkAllocation child_allocation;
   gint scrollbar_spacing;
-#ifdef MAEMO_CHANGES
-  gboolean is_focus_visible;
-#endif /* MAEMO_CHANGES */
 
   g_return_if_fail (GTK_IS_SCROLLED_WINDOW (widget));
   g_return_if_fail (allocation != NULL);
@@ -1373,11 +1292,6 @@
   scrolled_window = GTK_SCROLLED_WINDOW (widget);
   bin = GTK_BIN (scrolled_window);
 
-#ifdef MAEMO_CHANGES
-  is_focus_visible =
-    gtk_scrolled_window_get_focus_movement (scrolled_window) == 0;
-#endif /* MAEMO_CHANGES */
-
   scrollbar_spacing = _gtk_scrolled_window_get_scrollbar_spacing (scrolled_window);
 
   priv = GTK_SCROLLED_WINDOW_GET_PRIVATE (scrolled_window);
@@ -1513,11 +1427,6 @@
 	}
 
       gtk_widget_size_allocate (scrolled_window->vscrollbar, &child_allocation);
-
-#ifdef MAEMO_CHANGES
-      if (is_focus_visible)
-        gtk_scrolled_window_scroll_to_focus (scrolled_window);
-#endif /* MAEMO_CHANGES */
     }
   else if (GTK_WIDGET_VISIBLE (scrolled_window->vscrollbar))
     gtk_widget_hide (scrolled_window->vscrollbar);


More information about the maemo-commits mailing list