[glade3] * plugins/gtk+/glade-gtk.c: Fixed loaded state of toolitemgroup custom label widget.



commit dab5c2386d645461376cde3a049aee721fc5abf7
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date:   Sun Jan 9 10:41:04 2011 +0900

    	* plugins/gtk+/glade-gtk.c: Fixed loaded state of toolitemgroup custom label widget.

 ChangeLog                |    2 ++
 plugins/gtk+/glade-gtk.c |   22 ++++++++++++++++++----
 2 files changed, 20 insertions(+), 4 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 366dbcf..3b47b6d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,8 @@
 	parse-finished is fired (so that it can be checked when setting the final object
 	properties).
 
+	* plugins/gtk+/glade-gtk.c: Fixed loaded state of toolitemgroup custom label widget.
+
 2011-01-08  Tristan Van Berkom <tristanvb openismus com>
 
 	* gladeui/glade-utils.[ch], gladeui/glade-widget.c, gladeui/glade-builtins.c,
diff --git a/plugins/gtk+/glade-gtk.c b/plugins/gtk+/glade-gtk.c
index e29c1fd..b340eb0 100644
--- a/plugins/gtk+/glade-gtk.c
+++ b/plugins/gtk+/glade-gtk.c
@@ -7550,11 +7550,25 @@ glade_gtk_tool_item_group_set_property (GladeWidgetAdaptor * adaptor,
 {
   if (!strcmp (id, "custom-label"))
     glade_gtk_tool_item_group_set_custom_label (object, value);
-  else if (!strcmp (id, "label-widget"))
+  else if (!strcmp (id, "label"))
+    {
+      GladeWidget *widget = glade_widget_get_from_gobject (object);
+      gboolean custom = FALSE;
+
+      glade_widget_property_get (widget, "custom-label", &custom);
+      if (!custom)
+	gtk_tool_item_group_set_label (GTK_TOOL_ITEM_GROUP (object),
+				       g_value_get_string (value));
+    } 
+  else if (!strcmp (id, "label-widget")) 
     {
-      if (g_value_get_object (value) != NULL)
-	gtk_tool_item_group_set_label_widget (GTK_TOOL_ITEM_GROUP (object),
-					      (GtkWidget *)g_value_get_object (value));
+      GladeWidget *widget = glade_widget_get_from_gobject (object);
+      GtkWidget *label = g_value_get_object (value);
+      gboolean custom = FALSE;
+
+      glade_widget_property_get (widget, "custom-label", &custom);
+      if (custom || (glade_util_object_is_loading (object) && label != NULL))
+	gtk_tool_item_group_set_label_widget (GTK_TOOL_ITEM_GROUP (object), label);
     }
   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]