From a4e70c286ebfe1d526aca267f3a029591ebc1e03 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Tue, 21 Feb 2017 13:22:16 +0100 Subject: main-icon-box-child: Make the icon expand horizontally 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 --- libgd/gd-main-icon-box-child.c | 12 +++++------- 1 file 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 #include @@ -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); -- cgit v1.2.1