Mercurial > dwindows
changeset 2367:0f340646a2ca
GTK4: GtkPictures should be centered, not filled... don't clobber the
alignment during box packing.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sun, 14 Mar 2021 04:48:33 +0000 |
parents | b3efaae95735 |
children | ec90b552b266 |
files | gtk4/dw.c |
diffstat | 1 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/gtk4/dw.c Sun Mar 14 00:12:04 2021 +0000 +++ b/gtk4/dw.c Sun Mar 14 04:48:33 2021 +0000 @@ -2642,6 +2642,9 @@ { GtkWidget *tmp = gtk_picture_new(); gtk_picture_set_can_shrink(GTK_PICTURE(tmp), TRUE); + gtk_picture_set_keep_aspect_ratio(GTK_PICTURE(tmp), TRUE); + gtk_widget_set_halign(GTK_WIDGET(tmp), GTK_ALIGN_CENTER); + gtk_widget_set_valign(GTK_WIDGET(tmp), GTK_ALIGN_CENTER); gtk_widget_show(tmp); g_object_set_data(G_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(cid)); DW_FUNCTION_RETURN_THIS(tmp); @@ -8263,9 +8266,13 @@ g_object_set_data(G_OBJECT(item), "_dw_table", box); /* Set the expand attribute on the widgets now instead of the container */ gtk_widget_set_vexpand(item, vsize); - gtk_widget_set_valign(item, vsize ? GTK_ALIGN_FILL : GTK_ALIGN_START); gtk_widget_set_hexpand(item, hsize); - gtk_widget_set_halign(item, hsize ? GTK_ALIGN_FILL : GTK_ALIGN_START); + /* Don't clobber the center alignment on pictures */ + if(!GTK_IS_PICTURE(item)) + { + gtk_widget_set_valign(item, vsize ? GTK_ALIGN_FILL : GTK_ALIGN_START); + gtk_widget_set_halign(item, hsize ? GTK_ALIGN_FILL : GTK_ALIGN_START); + } /* Set pad for each margin direction on the widget */ _dw_widget_set_pad(item, pad); /* Add to the grid using insert...