]> Pileus Git - ~andy/gtk/commitdiff
iconview: Use set_[hv]adjustment_values() also when just changing upper
authorBenjamin Otte <otte@redhat.com>
Wed, 5 Jan 2011 22:00:54 +0000 (23:00 +0100)
committerBenjamin Otte <otte@redhat.com>
Wed, 5 Jan 2011 22:50:21 +0000 (23:50 +0100)
Simplifies the code quite a bit and the code is smart enough to not do
extra work if only one value changes.

gtk/gtkiconview.c

index 73b8b256556cf9f429a72424b7c54b94a9a3e7b3..cd1fa06914393757989dcd89d86d81fb0cb15c77 100644 (file)
@@ -2891,30 +2891,6 @@ gtk_icon_view_layout_single_row (GtkIconView *icon_view,
   return last_item;
 }
 
-static void
-gtk_icon_view_set_adjustment_upper (GtkAdjustment *adj,
-                                   gdouble        upper)
-{
-  if (upper != adj->upper)
-    {
-      gdouble min = MAX (0.0, upper - adj->page_size);
-      gboolean value_changed = FALSE;
-      
-      adj->upper = upper;
-
-      if (adj->value > min)
-       {
-         adj->value = min;
-         value_changed = TRUE;
-       }
-      
-      gtk_adjustment_changed (adj);
-      
-      if (value_changed)
-       gtk_adjustment_value_changed (adj);
-    }
-}
-
 static void
 gtk_icon_view_layout (GtkIconView *icon_view)
 {
@@ -2983,10 +2959,8 @@ gtk_icon_view_layout (GtkIconView *icon_view)
       size_changed = TRUE;
     }
 
-  gtk_icon_view_set_adjustment_upper (icon_view->priv->hadjustment, 
-                                     icon_view->priv->width);
-  gtk_icon_view_set_adjustment_upper (icon_view->priv->vadjustment, 
-                                     icon_view->priv->height);
+  gtk_icon_view_set_hadjustment_values (icon_view);
+  gtk_icon_view_set_vadjustment_values (icon_view);
 
   if (size_changed)
     gtk_widget_queue_resize_no_redraw (widget);