summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Pablo Ugarte <juanpablougarte@gmail.com>2020-09-16 20:11:10 -0300
committerJuan Pablo Ugarte <juanpablougarte@gmail.com>2020-10-01 17:37:12 -0300
commit362e95362da647a1c54e5eeb2ecabc03048e8f53 (patch)
treee062fac3b02624223877ba7c0ecbea0ddcfc3f0b
parente04a56706ebb2b4b03e3f269ab3aa6e6b182d021 (diff)
downloadglade-362e95362da647a1c54e5eeb2ecabc03048e8f53.tar.gz
GladeGtkWidget: add viewport on add scrolled window action
Add a viewport for non scrollable widget when adding a scrolled window parent. Fix issue #471 "XML not updated after adding element"
-rw-r--r--plugins/gtk+/glade-gtk-widget.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/plugins/gtk+/glade-gtk-widget.c b/plugins/gtk+/glade-gtk-widget.c
index 6061d8b9..e5ab6de6 100644
--- a/plugins/gtk+/glade-gtk-widget.c
+++ b/plugins/gtk+/glade-gtk-widget.c
@@ -932,6 +932,18 @@ glade_gtk_widget_action_activate (GladeWidgetAdaptor *adaptor,
if ((gnew_parent =
glade_command_create (adaptor, gparent, NULL, project)) != NULL)
{
+ /* We might need to add a viewport */
+ if (new_type == GTK_TYPE_SCROLLED_WINDOW &&
+ !GTK_IS_SCROLLABLE (object))
+ {
+ GladeWidgetAdaptor *viewport =
+ glade_widget_adaptor_get_by_type (GTK_TYPE_VIEWPORT);
+ gnew_parent = glade_command_create (viewport,
+ gnew_parent,
+ NULL,
+ project);
+ }
+
/* Now we created the new parent, if gwidget had a parentless widget reference...
* set that reference to the new parent instead */
if (property)