[glade3] * plugins/gtk+/glade-gtk.c, plugins/gtk+/gtk+.xml.in: Made GtkToolBar:icon-size an optional proper



commit 3e304041736528dd4293781e00673eee3d7c1da6
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date:   Sat Jan 8 19:34:04 2011 +0900

    	* plugins/gtk+/glade-gtk.c, plugins/gtk+/gtk+.xml.in: Made GtkToolBar:icon-size an
    	optional property to discourage its use and gave it similar treatment as the
    	toolbar-style property.

 ChangeLog                |    4 +++
 plugins/gtk+/glade-gtk.c |   61 +++++++++++++++++++++++++++++++++++++++-------
 plugins/gtk+/gtk+.xml.in |    6 ++--
 3 files changed, 59 insertions(+), 12 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 6b617de..738fa02 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -17,6 +17,10 @@
 	* plugins/gtk+/gtk+.xml.in: Made plugin target from 2.20, 2.22, 2.24 and 3.0, updated
 	new properties and signals introduced with 3.0.
 
+	* plugins/gtk+/glade-gtk.c, plugins/gtk+/gtk+.xml.in: Made GtkToolBar:icon-size an
+	optional property to discourage its use and gave it similar treatment as the
+	toolbar-style property.
+
 2011-01-07  Emilio Pozuelo Monfort <pochu27 gmail com>
 
 	* configure.ac: Bump the minimum GTK+ version to 2.99.0.
diff --git a/plugins/gtk+/glade-gtk.c b/plugins/gtk+/glade-gtk.c
index b2e3759..db2d450 100644
--- a/plugins/gtk+/glade-gtk.c
+++ b/plugins/gtk+/glade-gtk.c
@@ -7026,20 +7026,55 @@ glade_gtk_menu_bar_post_create (GladeWidgetAdaptor * adaptor,
 
 /* ----------------------------- GtkToolBar ------------------------------ */
 
-/* need to unset/reset toolbar style when property is disabled/enabled */
+/* need to unset/reset toolbar-style/icon-size when property is disabled/enabled */
 static void
-property_toolbar_style_notify_enabled (GladeProperty * property,
-                                       GParamSpec * spec, GtkToolbar * toolbar)
+property_toolbar_style_notify_enabled (GladeProperty *property,
+                                       GParamSpec    *spec, 
+				       GtkWidget     *widget)
 {
   GtkToolbarStyle style;
 
   if (glade_property_get_enabled (property))
     {
       glade_property_get (property, &style);
-      gtk_toolbar_set_style (toolbar, style);
+
+      if (GTK_IS_TOOLBAR (widget))
+	gtk_toolbar_set_style (GTK_TOOLBAR (widget), style);
+      else if (GTK_IS_TOOL_PALETTE (widget))
+	gtk_tool_palette_set_style (GTK_TOOL_PALETTE (widget), style);
+    }
+  else
+    {
+      if (GTK_IS_TOOLBAR (widget))
+	gtk_toolbar_unset_style (GTK_TOOLBAR (widget));
+      else if (GTK_IS_TOOL_PALETTE (widget))
+	gtk_tool_palette_unset_style (GTK_TOOL_PALETTE (widget));
+    }
+}
+
+static void
+property_icon_size_notify_enabled (GladeProperty *property,
+				   GParamSpec    *spec, 
+				   GtkWidget     *widget)
+{
+  gint size;
+
+  if (glade_property_get_enabled (property))
+    {
+      glade_property_get (property, &size);
+
+      if (GTK_IS_TOOLBAR (widget))
+	gtk_toolbar_set_icon_size (GTK_TOOLBAR (widget), size);
+      else if (GTK_IS_TOOL_PALETTE (widget))
+	gtk_tool_palette_set_icon_size (GTK_TOOL_PALETTE (widget), size);
     }
   else
-    gtk_toolbar_unset_style (toolbar);
+    {
+      if (GTK_IS_TOOLBAR (widget))
+	gtk_toolbar_unset_icon_size (GTK_TOOLBAR (widget));
+      else if (GTK_IS_TOOL_PALETTE (widget))
+	gtk_tool_palette_unset_icon_size (GTK_TOOL_PALETTE (widget));
+    }
 }
 
 void
@@ -7047,13 +7082,17 @@ glade_gtk_toolbar_post_create (GladeWidgetAdaptor * adaptor,
                                GObject * object, GladeCreateReason reason)
 {
   GladeWidget *widget;
-  GladeProperty *toolbar_style_property;
+  GladeProperty *property;
 
-  widget = glade_widget_get_from_gobject (object);
-  toolbar_style_property = glade_widget_get_property (widget, "toolbar-style");
+  widget   = glade_widget_get_from_gobject (object);
 
-  g_signal_connect (toolbar_style_property, "notify::enabled",
+  property = glade_widget_get_property (widget, "toolbar-style");
+  g_signal_connect (property, "notify::enabled",
                     G_CALLBACK (property_toolbar_style_notify_enabled), object);
+
+  property = glade_widget_get_property (widget, "icon-size");
+  g_signal_connect (property, "notify::enabled",
+                    G_CALLBACK (property_icon_size_notify_enabled), object);
 }
 
 void
@@ -7221,6 +7260,10 @@ glade_gtk_toolbar_action_activate (GladeWidgetAdaptor * adaptor,
                                                          object, action_path);
 }
 
+
+/* ----------------------------- GtkToolPalette ------------------------------ */
+
+
 /* ----------------------------- GtkToolItem ------------------------------ */
 GObject *
 glade_gtk_tool_item_constructor (GType type,
diff --git a/plugins/gtk+/gtk+.xml.in b/plugins/gtk+/gtk+.xml.in
index b27a2fe..a521a7d 100644
--- a/plugins/gtk+/gtk+.xml.in
+++ b/plugins/gtk+/gtk+.xml.in
@@ -579,14 +579,14 @@ embedded in another object</_tooltip>
         <action id="launch_editor" _name="Edit&#8230;" stock="gtk-edit" important="True"/>
       </actions>
       <properties>
-      	<property id="icon-size-set" since="2.10"/>
+      	<property id="icon-size-set" since="2.10" disabled="True"/>
 	<property id="orientation">
   	  <displayable-values>
 	    <value id="GTK_ORIENTATION_HORIZONTAL" _name="Horizontal"/>
 	    <value id="GTK_ORIENTATION_VERTICAL" _name="Vertical"/>
 	  </displayable-values>
 	</property>
-      	<property id="toolbar-style" save-always="True" optional="True" optional-default="False">
+      	<property id="toolbar-style" save-always="True" optional="True" optional-default="False" weight="0.4">
   	  <displayable-values>
 	    <value id="GTK_TOOLBAR_ICONS" _name="Icons only"/>
 	    <value id="GTK_TOOLBAR_TEXT" _name="Text only"/>
@@ -594,7 +594,7 @@ embedded in another object</_tooltip>
 	    <value id="GTK_TOOLBAR_BOTH_HORIZ" _name="Text beside icons"/>
 	  </displayable-values>
 	</property>
-      	<property id="icon-size" since="2.10">
+      	<property id="icon-size" since="2.10" optional="True" optional-default="False" weight="0.5">
   	  <displayable-values>
 	    <value id="GTK_ICON_SIZE_INVALID" _name="Invalid"/>
 	    <value id="GTK_ICON_SIZE_MENU" _name="Menu"/>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]