diff options
author | Debarshi Ray <debarshir@gnome.org> | 2017-02-21 13:22:16 +0100 |
---|---|---|
committer | Debarshi Ray <debarshir@gnome.org> | 2017-03-01 18:42:46 +0100 |
commit | a4e70c286ebfe1d526aca267f3a029591ebc1e03 (patch) | |
tree | 56d31d3135a354b7f60dce6b1f0eb32389b8cd3c | |
parent | 1e0547f8735a917288b51a9760423e632293ac55 (diff) | |
download | libgd-wip/rishi/letterbox.tar.gz |
main-icon-box-child: Make the icon expand horizontallywip/rishi/letterbox
Use GdMainIconBoxIcon, instead of GtkImage, to ensure that the icons
expand horizontally as the GtkFlowBox gets resized. For this to work,
the GtkGrid can no longer be horizontally centred.
https://bugzilla.gnome.org/show_bug.cgi?id=779032
-rw-r--r-- | libgd/gd-main-icon-box-child.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/libgd/gd-main-icon-box-child.c b/libgd/gd-main-icon-box-child.c index c6b5a0f..cfa3867 100644 --- a/libgd/gd-main-icon-box-child.c +++ b/libgd/gd-main-icon-box-child.c @@ -21,6 +21,7 @@ #include "gd-main-box-child.h" #include "gd-main-icon-box-child.h" +#include "gd-main-icon-box-icon.h" #include <gio/gio.h> #include <glib.h> @@ -169,16 +170,14 @@ gd_main_icon_box_child_update_layout (GdMainIconBoxChild *self) { GdMainIconBoxChildPrivate *priv; GtkWidget *grid; - GtkWidget *image; + GtkWidget *icon; GtkWidget *overlay; - cairo_surface_t *icon; priv = gd_main_icon_box_child_get_instance_private (self); gtk_container_foreach (GTK_CONTAINER (self), (GtkCallback) gtk_widget_destroy, NULL); grid = gtk_grid_new (); - gtk_widget_set_halign (grid, GTK_ALIGN_CENTER); gtk_widget_set_valign (grid, GTK_ALIGN_CENTER); gtk_orientable_set_orientation (GTK_ORIENTABLE (grid), GTK_ORIENTATION_VERTICAL); gtk_container_add (GTK_CONTAINER (self), grid); @@ -186,10 +185,9 @@ gd_main_icon_box_child_update_layout (GdMainIconBoxChild *self) overlay = gtk_overlay_new (); gtk_container_add (GTK_CONTAINER (grid), overlay); - icon = gd_main_box_item_get_icon (priv->item); - image = gtk_image_new_from_surface (icon); - g_object_bind_property (priv->item, "icon", image, "surface", G_BINDING_DEFAULT); - gtk_container_add (GTK_CONTAINER (overlay), image); + icon = gd_main_icon_box_icon_new (priv->item); + gtk_widget_set_hexpand (icon, TRUE); + gtk_container_add (GTK_CONTAINER (overlay), icon); priv->check_button = gtk_check_button_new (); gtk_widget_set_can_focus (priv->check_button, FALSE); |