[glade/headerbar] Try to make titlebar removal work
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glade/headerbar] Try to make titlebar removal work
- Date: Fri, 17 Oct 2014 21:15:47 +0000 (UTC)
commit 50c8e87f8b001bd15b1d8d5908d0b4a46d8ef4bf
Author: Matthias Clasen <mclasen redhat com>
Date: Fri Oct 17 17:12:11 2014 -0400
Try to make titlebar removal work
Use glade_command_delete, which seems to succeed in getting the
child removed from the widget tree.
plugins/gtk+/glade-gtk-window.c | 20 ++++++++++++++------
1 files changed, 14 insertions(+), 6 deletions(-)
---
diff --git a/plugins/gtk+/glade-gtk-window.c b/plugins/gtk+/glade-gtk-window.c
index b4ae523..aef4980 100644
--- a/plugins/gtk+/glade-gtk-window.c
+++ b/plugins/gtk+/glade-gtk-window.c
@@ -235,10 +235,10 @@ glade_gtk_window_set_property (GladeWidgetAdaptor * adaptor,
GObject * object,
const gchar * id, const GValue * value)
{
+ GladeWidget *gwidget = glade_widget_get_from_gobject (object);
+
if (!strcmp (id, "glade-window-icon-name"))
{
- GladeWidget *gwidget = glade_widget_get_from_gobject (object);
-
glade_widget_property_set_sensitive (gwidget, "icon", FALSE, NOT_SELECTED_MSG);
glade_widget_property_set_sensitive (gwidget, "icon-name", FALSE, NOT_SELECTED_MSG);
@@ -249,18 +249,26 @@ glade_gtk_window_set_property (GladeWidgetAdaptor * adaptor,
}
else if (!strcmp (id, "use-csd"))
{
+ GtkWidget *titlebar = gtk_window_get_titlebar (GTK_WINDOW (object));
+
if (g_value_get_boolean (value))
{
- GtkWidget *titlebar;
-
- titlebar = gtk_window_get_titlebar (GTK_WINDOW (object));
if (!titlebar)
titlebar = glade_placeholder_new ();
g_object_set_data (G_OBJECT (titlebar), "special-child-type", "titlebar");
gtk_window_set_titlebar (GTK_WINDOW (object), titlebar);
}
else
- gtk_window_set_titlebar (GTK_WINDOW (object), NULL);
+ {
+ if (titlebar)
+ {
+ GList list;
+ list.prev = list.next = NULL;
+ list.data = glade_widget_get_from_gobject (titlebar);
+ glade_command_delete (&list);
+ }
+ gtk_window_set_titlebar (GTK_WINDOW (object), NULL);
+ }
}
else
GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, id, value);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]