]> Pileus Git - ~andy/gtk/commitdiff
iconview: clamp item size to be in [minimum, natural]
authorBenjamin Otte <otte@redhat.com>
Wed, 13 Jun 2012 17:26:09 +0000 (19:26 +0200)
committerBenjamin Otte <otte@redhat.com>
Thu, 14 Jun 2012 05:41:40 +0000 (07:41 +0200)
Minimum size is necessary so you can see the item. If we can't get that
we need to scroll.
Natural as the maximum is used so that the spacing between items doesn't
increase when resizing the iconview, but empty space is added to the
right/bottom instead.

https://bugzilla.gnome.org/show_bug.cgi?id=677809

gtk/gtkiconview.c

index cdce24cc3474b5bcce162d06cb7d0379d014a8fe..63f67a52b551110f98f6c8eeb000c9c706fb461a 100644 (file)
@@ -1598,7 +1598,7 @@ gtk_icon_view_compute_n_items_for_size (GtkIconView    *icon_view,
   if (min_item_size)
     {
       *min_item_size = size / *min_items;
-      *min_item_size = MIN (*min_item_size, natural);
+      *min_item_size = CLAMP (*min_item_size, minimum, natural);
       *min_item_size -= spacing;
       *min_item_size -= 2 * priv->item_padding;
     }
@@ -1606,7 +1606,7 @@ gtk_icon_view_compute_n_items_for_size (GtkIconView    *icon_view,
   if (max_item_size)
     {
       *max_item_size = size / *max_items;
-      *max_item_size = MIN (*max_item_size, natural);
+      *max_item_size = CLAMP (*max_item_size, minimum, natural);
       *max_item_size -= spacing;
       *max_item_size -= 2 * priv->item_padding;
     }