glade3 r1796 - in trunk: . gladeui plugins/gtk+ src
- From: tvb svn gnome org
- To: svn-commits-list gnome org
- Subject: glade3 r1796 - in trunk: . gladeui plugins/gtk+ src
- Date: Sat, 12 Apr 2008 06:45:04 +0100 (BST)
Author: tvb
Date: Sat Apr 12 06:45:03 2008
New Revision: 1796
URL: http://svn.gnome.org/viewvc/glade3?rev=1796&view=rev
Log:
* gladeui/glade-editor-property.c: Fixed invisible labels in
the menu editor.
* gladeui/glade-widget.c, gladeui/glade-widget.h, gladeui/glade-xml-utils.c,
gladeui/glade-utils.c, gladeui/glade-xml-utils.h, gladeui/glade-utils.h,
gladeui/glade-property.c, gladeui/glade-property-class.c,
gladeui/glade-property-class.h, gladeui/glade-project.c, gladeui/glade-project.h:
implemented "factory-stock-id" in the catalog, this allows you to take a resource
image file property formerly hacked as a custom property in libglade, and glade
will generate a hidden icon factory in builder files so that it will be loaded
through the stock system instead, "factory-stock-id" depicts the name of the
stock property of the property-class in question.
Modified:
trunk/ChangeLog
trunk/gladeui/glade-editor-property.c
trunk/gladeui/glade-project.c
trunk/gladeui/glade-project.h
trunk/gladeui/glade-property-class.c
trunk/gladeui/glade-property-class.h
trunk/gladeui/glade-property.c
trunk/gladeui/glade-utils.c
trunk/gladeui/glade-utils.h
trunk/gladeui/glade-widget.c
trunk/gladeui/glade-widget.h
trunk/gladeui/glade-xml-utils.c
trunk/gladeui/glade-xml-utils.h
trunk/plugins/gtk+/gtk+.xml.in
trunk/src/glade-window.c
Modified: trunk/gladeui/glade-editor-property.c
==============================================================================
--- trunk/gladeui/glade-editor-property.c (original)
+++ trunk/gladeui/glade-editor-property.c Sat Apr 12 06:45:03 2008
@@ -150,9 +150,6 @@
glade_editor_property_load (eprop, eprop->property);
}
-
-
-
static void
glade_editor_property_fix_label (GladeEditorProperty *eprop)
{
@@ -333,6 +330,7 @@
gtk_box_pack_start (GTK_BOX (hbox), eprop->warning, FALSE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (hbox), eprop->label, TRUE, TRUE, 0);
gtk_container_add (GTK_CONTAINER (eprop->item_label), hbox);
+ gtk_widget_show_all (eprop->item_label);
glade_editor_property_fix_label (eprop);
Modified: trunk/gladeui/glade-project.c
==============================================================================
--- trunk/gladeui/glade-project.c (original)
+++ trunk/gladeui/glade-project.c Sat Apr 12 06:45:03 2008
@@ -126,8 +126,15 @@
GHashTable *target_versions_major; /* target versions by catalog */
GHashTable *target_versions_minor; /* target versions by catalog */
+
+ GList *loaded_factory_files;
};
+typedef struct {
+ gchar *stock;
+ gchar *filename;
+} StockFilePair;
+
static guint glade_project_signals[LAST_SIGNAL] = {0};
@@ -137,6 +144,11 @@
G_DEFINE_TYPE (GladeProject, glade_project, G_TYPE_OBJECT)
+
+#define GLADE_GENERATED_ICON_FACTORY_NAME "glade-generated-icon-factory"
+#define GLADE_ICON_FACTORY_CLASS_NAME "GtkIconFactory"
+
+
/*******************************************************************
GObjectClass
*******************************************************************/
@@ -1131,6 +1143,207 @@
*/
}
+static GList *
+glade_project_get_factory_stock_id_props (GladeProject *project)
+{
+ GladeWidget *widget;
+ GladeProperty *property;
+ GList *list, *l;
+ GList *properties = NULL;
+
+ for (list = project->priv->objects; list; list = list->next)
+ {
+ widget = glade_widget_get_from_gobject (list->data);
+
+ for (l = widget->properties; l; l = l->next)
+ {
+ property = l->data;
+ if (property->klass->factory_stock_id &&
+ property->enabled &&
+ !glade_property_default (property))
+ properties = g_list_prepend (properties, property);
+ }
+
+ for (l = widget->packing_properties; l; l = l->next)
+ {
+ property = l->data;
+ if (property->klass->factory_stock_id &&
+ property->enabled &&
+ !glade_property_default (property))
+ properties = g_list_prepend (properties, property);
+ }
+
+ }
+
+ return properties;
+}
+
+static void
+glade_project_generate_nodes (GladeProject *project,
+ GladeXmlContext *context,
+ GladeXmlNode *node)
+
+{
+ GladeProperty *property;
+ GladeXmlNode *widget_node;
+ GladeXmlNode *source_node;
+ GladeXmlNode *sources_node;
+ GList *properties, *list;
+ gchar *icon_name, *filename;
+
+ if (project->priv->format == GLADE_PROJECT_FORMAT_GTKBUILDER &&
+ (properties = glade_project_get_factory_stock_id_props (project)))
+ {
+
+ widget_node = glade_xml_node_new
+ (context, GLADE_XML_TAG_WIDGET (project->priv->format));
+ glade_xml_node_append_child (node, widget_node);
+
+ /* Set class and id */
+ glade_xml_node_set_property_string (widget_node,
+ GLADE_XML_TAG_CLASS,
+ GLADE_ICON_FACTORY_CLASS_NAME);
+ glade_xml_node_set_property_string (widget_node,
+ GLADE_XML_TAG_ID,
+ GLADE_GENERATED_ICON_FACTORY_NAME);
+
+
+ sources_node = glade_xml_node_new (context, GLADE_XML_TAG_SOURCES);
+ glade_xml_node_append_child (widget_node, sources_node);
+
+ for (list = properties; list; list = list->next)
+ {
+ property = list->data;
+
+ source_node = glade_xml_node_new (context, GLADE_XML_TAG_SOURCE);
+ glade_xml_node_append_child (sources_node, source_node);
+
+ if ((filename = glade_widget_adaptor_string_from_value
+ (GLADE_WIDGET_ADAPTOR (property->klass->handle),
+ property->klass, property->value)) != NULL)
+ {
+ icon_name = glade_util_filename_to_icon_name (filename);
+
+ /* Set stock-id and filename */
+ glade_xml_node_set_property_string
+ (source_node,
+ GLADE_XML_TAG_STOCK_ID,
+ icon_name);
+ glade_xml_node_set_property_string (source_node,
+ GLADE_XML_TAG_FILENAME,
+ filename);
+ g_free (icon_name);
+ g_free (filename);
+ }
+ }
+ g_list_free (properties);
+ }
+}
+
+gboolean
+glade_project_is_loaded_factory_file (GladeProject *project,
+ const gchar *stock_id)
+{
+ GList *list;
+ StockFilePair *pair;
+
+ for (list = project->priv->loaded_factory_files;
+ list; list = list->next)
+ {
+ pair = list->data;
+ if (!strcmp (stock_id, pair->stock))
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static void
+glade_project_free_loaded_factory_files (GladeProject *project)
+{
+ GList *list;
+ StockFilePair *pair;
+
+ for (list = project->priv->loaded_factory_files;
+ list; list = list->next)
+ {
+ pair = list->data;
+ g_free (pair->stock);
+ g_free (pair->filename);
+ g_free (pair);
+ }
+ g_list_free (project->priv->loaded_factory_files);
+ project->priv->loaded_factory_files = NULL;
+}
+
+static void
+glade_project_read_factory_files (GladeProject *project,
+ GladeXmlNode *node)
+{
+ GladeXmlNode *source;
+ StockFilePair *pair;
+
+ if ((source =
+ glade_xml_search_child_required (node, GLADE_XML_TAG_SOURCES)))
+ {
+ for (source = glade_xml_node_get_children (source);
+ source; source = glade_xml_node_next (source))
+ {
+ if (!glade_xml_node_verify (source, GLADE_XML_TAG_SOURCE))
+ continue;
+
+ pair = g_new (StockFilePair, 1);
+
+ pair->stock = glade_xml_get_property_string_required
+ (source, GLADE_XML_TAG_STOCK_ID, NULL);
+ pair->filename = glade_xml_get_property_string_required
+ (source, GLADE_XML_TAG_FILENAME, NULL);
+
+ if (!pair->stock || !pair->filename)
+ {
+ g_free (pair->stock);
+ g_free (pair->filename);
+ g_free (pair);
+ continue;
+ }
+
+ project->priv->loaded_factory_files =
+ g_list_prepend (project->priv->loaded_factory_files, pair);
+ }
+ }
+}
+
+static gboolean
+glade_project_is_generated_node (GladeProject *project,
+ GladeXmlNode *node)
+{
+ gboolean generated = FALSE;
+ gchar *klass, *id;
+
+ if (!glade_xml_node_verify
+ (node, GLADE_XML_TAG_WIDGET (project->priv->format)))
+ return FALSE;
+
+ if ((klass =
+ glade_xml_get_property_string_required
+ (node, GLADE_XML_TAG_CLASS, NULL)) != NULL)
+ {
+ if ((id =
+ glade_xml_get_property_string_required
+ (node, GLADE_XML_TAG_ID, NULL)) != NULL)
+ {
+ if (!strcmp (klass, GLADE_ICON_FACTORY_CLASS_NAME) &&
+ !strcmp (id, GLADE_GENERATED_ICON_FACTORY_NAME))
+ {
+ /* Read in the generated stock names and files */
+ glade_project_read_factory_files (project, node);
+ generated = TRUE;
+ }
+ g_free (id);
+ }
+ g_free (klass);
+ }
+ return generated;
+}
gboolean
glade_project_load_from_file (GladeProject *project, const gchar *path)
@@ -1188,6 +1401,10 @@
(node, GLADE_XML_TAG_WIDGET (project->priv->format)))
continue;
+ /* Skip toplevel glade generated nodes */
+ if (glade_project_is_generated_node (project, node))
+ continue;
+
if ((widget = glade_widget_read (project, NULL, node, NULL)) != NULL)
glade_project_add_object (project, NULL, widget->object);
}
@@ -1208,6 +1425,9 @@
/* Emit "parse-finished" signal */
g_signal_emit (project, glade_project_signals [PARSE_FINISHED], 0);
+
+ /* Free up some load time metadata */
+ glade_project_free_loaded_factory_files (project);
/* Now we have to loop over all the object properties
* and fix'em all ('cause they probably weren't found)
@@ -2257,6 +2477,9 @@
g_list_free (required);
}
+ /* Any automatically generated stuff goes here */
+ glade_project_generate_nodes (project, context, root);
+
for (list = project->priv->objects; list; list = list->next)
{
GladeWidget *widget;
Modified: trunk/gladeui/glade-project.h
==============================================================================
--- trunk/gladeui/glade-project.h (original)
+++ trunk/gladeui/glade-project.h Sat Apr 12 06:45:03 2008
@@ -186,6 +186,9 @@
GladeWidgetAdaptor *adaptor,
GladeSupportMask *mask);
+gboolean glade_project_is_loaded_factory_file (GladeProject *project,
+ const gchar *stock_id);
+
G_END_DECLS
#endif /* __GLADE_PROJECT_H__ */
Modified: trunk/gladeui/glade-property-class.c
==============================================================================
--- trunk/gladeui/glade-property-class.c (original)
+++ trunk/gladeui/glade-property-class.c Sat Apr 12 06:45:03 2008
@@ -122,6 +122,7 @@
clone->id = g_strdup (clone->id);
clone->name = g_strdup (clone->name);
clone->tooltip = g_strdup (clone->tooltip);
+ clone->factory_stock_id = g_strdup (clone->factory_stock_id);
if (G_IS_VALUE (property_class->def))
{
@@ -1489,6 +1490,26 @@
klass->transfer_on_paste = glade_xml_get_property_boolean (node, GLADE_TAG_TRANSFER_ON_PASTE, klass->transfer_on_paste);
klass->save_always = glade_xml_get_property_boolean (node, GLADE_TAG_SAVE_ALWAYS, klass->save_always);
+
+ /* Special case pixbuf here.
+ */
+ if (klass->pspec->value_type == GDK_TYPE_PIXBUF)
+ klass->resource = TRUE;
+
+ if ((buf = glade_xml_get_property_string
+ (node, GLADE_TAG_FACTORY_STOCK_ID)) != NULL)
+ {
+ if (!klass->resource) /* Assert the early in the game */
+ g_error ("%s only supported on properties that are marked as %s",
+ GLADE_TAG_FACTORY_STOCK_ID,
+ GLADE_TAG_RESOURCE);
+
+ if (klass->factory_stock_id)
+ g_free (klass->factory_stock_id);
+ klass->factory_stock_id = buf;
+ }
+
+
/* If this property's value is an enumeration or flag then we try to get the displayable values */
if ((G_IS_PARAM_SPEC_ENUM(klass->pspec) || G_IS_PARAM_SPEC_FLAGS(klass->pspec)) &&
(child = glade_xml_search_child (node, GLADE_TAG_DISPLAYABLE_VALUES)))
@@ -1499,11 +1520,6 @@
* go in the atk tab, ideally this shouldnt be needed.
*/
klass->atk = glade_xml_get_property_boolean (node, GLADE_TAG_ATK_PROPERTY, klass->atk);
-
- /* Special case pixbuf here.
- */
- if (klass->pspec->value_type == GDK_TYPE_PIXBUF)
- klass->resource = TRUE;
if (klass->optional)
klass->optional_default =
Modified: trunk/gladeui/glade-property-class.h
==============================================================================
--- trunk/gladeui/glade-property-class.h (original)
+++ trunk/gladeui/glade-property-class.h Sat Apr 12 06:45:03 2008
@@ -151,6 +151,15 @@
* the editor.
*/
+ gchar *factory_stock_id; /* Used for legacy fake libglade properties
+ * that reffer to pixbufs, glade creates
+ * an internal icon factory so that builder
+ * can load them as stock icons. The string
+ * if set reffers to the property name that
+ * will be used to lookup the theme by the
+ * implementing widget
+ */
+
};
Modified: trunk/gladeui/glade-property.c
==============================================================================
--- trunk/gladeui/glade-property.c (original)
+++ trunk/gladeui/glade-property.c Sat Apr 12 06:45:03 2008
@@ -969,23 +969,28 @@
GladeProject *project,
GladeXmlNode *node)
{
+ GladeProjectFormat fmt;
GladeXmlNode *prop;
GValue *gvalue = NULL;
gchar *id, *name, *value;
+ const gchar *search_name;
g_return_if_fail (GLADE_IS_PROPERTY (property));
g_return_if_fail (GLADE_IS_PROJECT (project));
g_return_if_fail (node != NULL);
+ fmt = glade_project_get_format (project);
+
/* This code should work the same for <packing> and <widget> */
if (!(glade_xml_node_verify_silent (node, GLADE_XML_TAG_PACKING) ||
glade_xml_node_verify_silent
- (node, GLADE_XML_TAG_WIDGET (glade_project_get_format (project)))))
+ (node, GLADE_XML_TAG_WIDGET (fmt))))
return;
for (prop = glade_xml_node_get_children (node);
prop; prop = glade_xml_node_next (prop))
{
+ search_name = property->klass->id;
if (!glade_xml_node_verify_silent (prop, GLADE_XML_TAG_PROPERTY))
continue;
@@ -994,21 +999,45 @@
(prop, GLADE_XML_TAG_NAME, NULL)))
continue;
+ if (!(value = glade_xml_get_content (prop)))
+ {
+ /* XXX should be glade_xml_get_content_required()... */
+ g_free (name);
+ g_free (value);
+ continue;
+ }
+
+ /* Switch up the values if we are using GtkIconFactory in builder
+ * to load some hacked out legacy pixbufs
+ */
+ if (fmt == GLADE_PROJECT_FORMAT_GTKBUILDER)
+ {
+ gboolean is_loaded_value =
+ glade_project_is_loaded_factory_file
+ (property->widget->project, value);
+
+ if (property->klass->factory_stock_id && is_loaded_value)
+ search_name = property->klass->factory_stock_id;
+ /* If this property was loaded via another property, skip it... */
+ else if (glade_widget_has_factory_stock_id
+ (property->widget, property->klass->id) && is_loaded_value)
+ {
+ /* really ?... */
+ g_free (value);
+ g_free (name);
+ break;
+ }
+
+ }
+
/* Make sure we are working with dashes and
* not underscores ...
*/
id = glade_util_read_prop_name (name);
g_free (name);
- if (!strcmp (id, property->klass->id))
+ if (!strcmp (id, search_name))
{
- if (!(value = glade_xml_get_content (prop)))
- {
- /* XXX should be glade_xml_get_content_required()... */
- g_free (id);
- break;
- }
-
if (property && glade_property_class_is_object (property->klass))
{
/* we must synchronize this directly after loading this project
@@ -1021,6 +1050,15 @@
}
else
{
+ if (fmt == GLADE_PROJECT_FORMAT_GTKBUILDER &&
+ search_name == property->klass->factory_stock_id)
+ {
+ gchar *filename =
+ glade_util_icon_name_to_filename (value);
+ g_free (value);
+ value = filename;
+ }
+
gvalue = glade_property_class_make_gvalue_from_string
(property->klass, value, project);
@@ -1083,6 +1121,7 @@
GladeXmlContext *context,
GladeXmlNode *node)
{
+ GladeProjectFormat fmt;
GladeXmlNode *prop_node;
GladeProject *project;
gchar *name, *value, *tmp;
@@ -1092,10 +1131,11 @@
project = property->widget->project;
+ fmt = glade_project_get_format(project);
+
/* This code should work the same for <packing> and <widget> */
if (!(glade_xml_node_verify_silent (node, GLADE_XML_TAG_PACKING) ||
- glade_xml_node_verify_silent
- (node, GLADE_XML_TAG_WIDGET (glade_project_get_format(project)))))
+ glade_xml_node_verify_silent (node, GLADE_XML_TAG_WIDGET (fmt))))
return;
if (!property->klass->save || !property->enabled)
@@ -1131,6 +1171,25 @@
g_free (tmp);
}
+ /* Switch up the values if we are using GtkIconFactory in builder
+ * to save some hacked out pixbufs
+ */
+ if (fmt == GLADE_PROJECT_FORMAT_GTKBUILDER &&
+ property->klass->factory_stock_id)
+ {
+ gchar *icon_name;
+
+ /* Create a string representation for the icon factory */
+ icon_name = glade_util_filename_to_icon_name (value);
+ g_free (value);
+ value = icon_name;
+
+ /* Use the alternate property name */
+ g_free (name);
+ name = g_strdup (property->klass->factory_stock_id);
+ glade_util_replace (name, '-', '_');
+ }
+
/* Now dump the node values... */
prop_node = glade_xml_node_new (context, GLADE_XML_TAG_PROPERTY);
glade_xml_node_append_child (node, prop_node);
Modified: trunk/gladeui/glade-utils.c
==============================================================================
--- trunk/gladeui/glade-utils.c (original)
+++ trunk/gladeui/glade-utils.c Sat Apr 12 06:45:03 2008
@@ -1906,3 +1906,34 @@
}
}
+gchar *
+glade_util_filename_to_icon_name (const gchar *value)
+{
+ gchar *icon_name, *p;
+ g_return_val_if_fail (value && value[0], NULL);
+
+ icon_name = g_strdup_printf ("glade-generated-%s", value);
+
+ if ((p = strrchr (icon_name, '.')) != NULL)
+ *p = '-';
+
+ return icon_name;
+}
+
+gchar *
+glade_util_icon_name_to_filename (const gchar *value)
+{
+ /* sscanf makes us allocate a buffer */
+ gchar filename[FILENAME_MAX], *p;
+ g_return_val_if_fail (value && value[0], NULL);
+
+ sscanf (value, "glade-generated-%s", filename);
+
+ /* XXX: Filenames without an extention will evidently
+ * break here
+ */
+ if ((p = strrchr (filename, '-')) != NULL)
+ *p = '.';
+
+ return g_strdup (filename);
+}
Modified: trunk/gladeui/glade-utils.h
==============================================================================
--- trunk/gladeui/glade-utils.h (original)
+++ trunk/gladeui/glade-utils.h Sat Apr 12 06:45:03 2008
@@ -130,6 +130,12 @@
gboolean glade_util_version_lesser_than (gdouble a, gdouble b);
+
+gchar *glade_util_filename_to_icon_name (const gchar *value);
+
+gchar *glade_util_icon_name_to_filename (const gchar *value);
+
+
G_END_DECLS
#endif /* __GLADE_UTILS_H__ */
Modified: trunk/gladeui/glade-widget.c
==============================================================================
--- trunk/gladeui/glade-widget.c (original)
+++ trunk/gladeui/glade-widget.c Sat Apr 12 06:45:03 2008
@@ -4112,3 +4112,30 @@
g_object_notify (G_OBJECT (widget), "support-warning");
}
+gboolean
+glade_widget_has_factory_stock_id (GladeWidget *widget,
+ const gchar *property_name)
+{
+ GList *l;
+ GladeProperty *property;
+
+ g_return_val_if_fail (GLADE_IS_WIDGET (widget), FALSE);
+ g_return_val_if_fail (property_name, FALSE);
+
+ for (l = widget->properties; l; l = l->next)
+ {
+ property = l->data;
+ if (property->klass->factory_stock_id &&
+ !strcmp (property->klass->factory_stock_id, property_name))
+ return TRUE;
+ }
+
+ for (l = widget->packing_properties; l; l = l->next)
+ {
+ property = l->data;
+ if (property->klass->factory_stock_id &&
+ !strcmp (property->klass->factory_stock_id, property_name))
+ return TRUE;
+ }
+ return FALSE;
+}
Modified: trunk/gladeui/glade-widget.h
==============================================================================
--- trunk/gladeui/glade-widget.h (original)
+++ trunk/gladeui/glade-widget.h Sat Apr 12 06:45:03 2008
@@ -402,6 +402,9 @@
void glade_widget_set_support_warning (GladeWidget *widget,
const gchar *warning);
+gboolean glade_widget_has_factory_stock_id (GladeWidget *widget,
+ const gchar *property_name);
+
G_END_DECLS
#endif /* __GLADE_WIDGET_H__ */
Modified: trunk/gladeui/glade-xml-utils.c
==============================================================================
--- trunk/gladeui/glade-xml-utils.c (original)
+++ trunk/gladeui/glade-xml-utils.c Sat Apr 12 06:45:03 2008
@@ -498,20 +498,20 @@
if (!value)
return FALSE;
- split = g_strsplit (value, ".", 2);
-
- if (!split[0] || !split[1])
+ if ((split = g_strsplit (value, ".", 2)))
{
- g_warning ("Malformed version property \"%s\"\n"
- "Under the \"%s\" tag (%s)", name, node->name, value);
- return FALSE;
- }
+ if (!split[0] || !split[1])
+ {
+ g_warning ("Malformed version property \"%s\"\n"
+ "Under the \"%s\" tag (%s)", name, node->name, value);
+ return FALSE;
+ }
- *major = g_ascii_strtoll (split[0], NULL, 10);
- *minor = g_ascii_strtoll (split[1], NULL, 10);
-
- g_strfreev (split);
-
+ *major = g_ascii_strtoll (split[0], NULL, 10);
+ *minor = g_ascii_strtoll (split[1], NULL, 10);
+
+ g_strfreev (split);
+ }
return TRUE;
}
Modified: trunk/gladeui/glade-xml-utils.h
==============================================================================
--- trunk/gladeui/glade-xml-utils.h (original)
+++ trunk/gladeui/glade-xml-utils.h Sat Apr 12 06:45:03 2008
@@ -65,13 +65,17 @@
#define GLADE_XML_TAG_I18N_TRUE "yes"
#define GLADE_XML_TAG_SIGNAL_TRUE "yes"
#define GLADE_XML_TAG_TYPE "type"
-
+#define GLADE_XML_TAG_SOURCES "sources"
+#define GLADE_XML_TAG_SOURCE "source"
+#define GLADE_XML_TAG_FILENAME "filename"
+#define GLADE_XML_TAG_STOCK_ID "stock-id"
#define GLADE_TAG_VERSION "version"
#define GLADE_TAG_TARGETABLE "targetable"
#define GLADE_TAG_VERSION_SINCE "since"
#define GLADE_TAG_DEPRECATED "deprecated"
#define GLADE_TAG_BUILDER_UNSUPPORTED "builder-unsupported"
+#define GLADE_TAG_FACTORY_STOCK_ID "factory-stock-id"
#define GLADE_TAG_GLADE_CATALOG "glade-catalog"
#define GLADE_TAG_GLADE_WIDGET_CLASSES "glade-widget-classes"
Modified: trunk/plugins/gtk+/gtk+.xml.in
==============================================================================
--- trunk/plugins/gtk+/gtk+.xml.in (original)
+++ trunk/plugins/gtk+/gtk+.xml.in Sat Apr 12 06:45:03 2008
@@ -535,7 +535,7 @@
<spec>glade_standard_stock_image_spec</spec>
</property>
<property id="label" translatable="True"/>
- <property id="icon" _name="File Name">
+ <property id="icon" _name="File Name" factory-stock-id="stock-id">
<spec>glade_standard_pixbuf_spec</spec>
</property>
</properties>
Modified: trunk/src/glade-window.c
==============================================================================
--- trunk/src/glade-window.c (original)
+++ trunk/src/glade-window.c Sat Apr 12 06:45:03 2008
@@ -2989,7 +2989,6 @@
GtkWidget *menubar;
GtkWidget *editor_item;
GtkWidget *palette;
- GtkWidget *editor;
GtkWidget *dockitem;
GtkWidget *widget;
GtkWidget *sep;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]