diff options
author | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2010-03-25 18:55:07 -0400 |
---|---|---|
committer | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2010-03-25 18:55:07 -0400 |
commit | 6afb3f18595bac47e788509208b52ca8348dd874 (patch) | |
tree | dee10459cb60b365c26440570eae5d6e5e5f4343 | |
parent | a5ac996b30f05ffc19d7bdae2ba4a21599ae1fd1 (diff) | |
download | glade-6afb3f18595bac47e788509208b52ca8348dd874.tar.gz |
* plugins/gtk+/gtk+.xml.in, plugins/gnome/gnome.xml.in, plugins/gnome/canvas.xml.in,
plugins/gnome/gtkunixprint.xml.in: Added missing displayable values and rooted out latest
resulting startup warnings for GTK+ 2.20.
* gladeui/glade-widget-adaptor.[ch]: Save the original missing icon name if the icon was
not found.
* gladeui/glade-catalog.c: Print a summery of all missing icon names for thier classes
(cleans up start up warnings).
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | gladeui/glade-catalog.c | 32 | ||||
-rw-r--r-- | gladeui/glade-widget-adaptor.c | 43 | ||||
-rw-r--r-- | gladeui/glade-widget-adaptor.h | 3 | ||||
-rw-r--r-- | plugins/gnome/canvas.xml.in | 10 | ||||
-rw-r--r-- | plugins/gnome/gnome.xml.in | 1 | ||||
-rw-r--r-- | plugins/gtk+/gtk+.xml.in | 24 | ||||
-rw-r--r-- | plugins/gtk+/gtkunixprint.xml.in | 20 |
8 files changed, 121 insertions, 22 deletions
@@ -7,6 +7,16 @@ * plugins/gtk+/glade-gtk.c: Fix some remaining crashes from the GSEAL() stuff (GtkBoxChild invalid type dereferencing). + * plugins/gtk+/gtk+.xml.in, plugins/gnome/gnome.xml.in, plugins/gnome/canvas.xml.in, + plugins/gnome/gtkunixprint.xml.in: Added missing displayable values and rooted out latest + resulting startup warnings for GTK+ 2.20. + + * gladeui/glade-widget-adaptor.[ch]: Save the original missing icon name if the icon was + not found. + + * gladeui/glade-catalog.c: Print a summery of all missing icon names for thier classes + (cleans up start up warnings). + 2010-03-25 Federico Mena Quintero <federico@novell.com> * plugins/gtk+/gtk+.xml.in: bgo#594231 - Fix the orientation of diff --git a/gladeui/glade-catalog.c b/gladeui/glade-catalog.c index ead16fbb..60417d71 100644 --- a/gladeui/glade-catalog.c +++ b/gladeui/glade-catalog.c @@ -527,10 +527,11 @@ catalogs_from_path (GList *catalogs, const gchar *path) const GList * glade_catalog_load_all (void) { - GList *catalogs = NULL, *l; + GList *catalogs = NULL, *l, *adaptors; GladeCatalog *catalog; const gchar *search_path; gchar **split; + GString *icon_warning = NULL; gint i; /* First load catalogs from user specified directories ... */ @@ -567,7 +568,34 @@ glade_catalog_load_all (void) catalog = l->data; catalog_load (catalog); } - + + /* Print a summery of widget adaptors missing icons. + */ + adaptors = glade_widget_adaptor_list_adaptors (); + for (l = adaptors; l; l = l->next) + { + GladeWidgetAdaptor *adaptor = l->data; + + if (adaptor->missing_icon) + { + if (!icon_warning) + icon_warning = g_string_new ("Glade needs artwork; " + "a default icon will be used for " + "the following classes:"); + + g_string_append_printf (icon_warning, "\n\t%s\tneeds an icon named '%s'", + adaptor->name, adaptor->missing_icon); + } + + } + g_list_free (adaptors); + + if (icon_warning) + { + g_message ("%s", icon_warning->str); + g_string_free (icon_warning, TRUE); + } + loaded_catalogs = catalogs; return loaded_catalogs; diff --git a/gladeui/glade-widget-adaptor.c b/gladeui/glade-widget-adaptor.c index 9daa6bf5..c11f5e7a 100644 --- a/gladeui/glade-widget-adaptor.c +++ b/gladeui/glade-widget-adaptor.c @@ -701,6 +701,7 @@ glade_widget_adaptor_finalize (GObject *object) if (adaptor->generic_name) g_free (adaptor->generic_name); if (adaptor->title) g_free (adaptor->title); if (adaptor->icon_name) g_free (adaptor->icon_name); + if (adaptor->missing_icon) g_free (adaptor->missing_icon); if (adaptor->actions) { @@ -2014,17 +2015,6 @@ create_icon_name_for_object_class (const gchar *class_name, name = g_strdup_printf ("widget-%s-%s", icon_prefix, generic_name); else name = g_strdup (icon_name); - - /* check if icon is available */ - if (!gtk_icon_theme_has_icon (gtk_icon_theme_get_default (), name)) - { - GladeWidgetAdaptor *parent = glade_widget_adaptor_get_parent_adaptor_by_type (class_type); - g_warning ("No icon named '%s' was found for object class '%s'.", name, class_name); - g_free (name); - - name = g_strdup ((parent && parent->icon_name) ? - parent->icon_name : DEFAULT_ICON_NAME); - } return name; } @@ -2097,7 +2087,9 @@ glade_widget_adaptor_from_catalog (GladeCatalog *catalog, gchar *name, *generic_name, *icon_name, *adaptor_icon_name, *adaptor_name, *func_name; gchar *title, *translated_title, *parent_name; GType object_type, adaptor_type, parent_type; + gchar *missing_icon = NULL; GWADerivedClassData data; + if (!glade_xml_node_verify (class_node, GLADE_TAG_GLADE_WIDGET_CLASS)) { @@ -2176,11 +2168,28 @@ glade_widget_adaptor_from_catalog (GladeCatalog *catalog, icon_name = glade_xml_get_property_string (class_node, GLADE_TAG_ICON_NAME); /* get a suitable icon name for adaptor */ - adaptor_icon_name = create_icon_name_for_object_class (name, - object_type, - icon_name, - glade_catalog_get_icon_prefix (catalog), - generic_name); + adaptor_icon_name = + create_icon_name_for_object_class (name, + object_type, + icon_name, + glade_catalog_get_icon_prefix (catalog), + generic_name); + + + /* check if icon is available (a null icon-name is an abstract class) */ + if (adaptor_icon_name && + !gtk_icon_theme_has_icon (gtk_icon_theme_get_default (), adaptor_icon_name)) + { + GladeWidgetAdaptor *parent = + glade_widget_adaptor_get_parent_adaptor_by_type (object_type); + + /* Save the desired name */ + missing_icon = adaptor_icon_name; + + adaptor_icon_name = g_strdup ((parent && parent->icon_name) ? + parent->icon_name : DEFAULT_ICON_NAME); + + } adaptor = g_object_new (adaptor_type, "type", object_type, @@ -2189,6 +2198,8 @@ glade_widget_adaptor_from_catalog (GladeCatalog *catalog, "generic-name", generic_name, "icon-name", adaptor_icon_name, NULL); + + adaptor->missing_icon = missing_icon; g_free (generic_name); g_free (icon_name); diff --git a/gladeui/glade-widget-adaptor.h b/gladeui/glade-widget-adaptor.h index bfe5ba28..899545cf 100644 --- a/gladeui/glade-widget-adaptor.h +++ b/gladeui/glade-widget-adaptor.h @@ -574,7 +574,8 @@ struct _GladeWidgetAdaptor * button2, buttonX .. */ - gchar *icon_name; /* icon name for widget class */ + gchar *icon_name; /* icon name to use for widget class */ + gchar *missing_icon; /* the name of the missing icon if it was not found */ gchar *title; /* Translated class name used in the UI */ diff --git a/plugins/gnome/canvas.xml.in b/plugins/gnome/canvas.xml.in index 8753198c..a92a92fb 100644 --- a/plugins/gnome/canvas.xml.in +++ b/plugins/gnome/canvas.xml.in @@ -42,8 +42,16 @@ <property id="scroll-y2" disabled="True"/> <property id="pixels-per-unit" disabled="True"/> <property id="selection-mode" _name="Selection Mode"> + <parameter-spec> + <type>GParamEnum</type> + <value-type>GnomeIconListMode</value-type> + </parameter-spec> <_tooltip>The selection mode</_tooltip> - <spec>glade_gnome_icon_list_selection_mode_spec</spec> + <displayable-values> + <value id="GNOME_ICON_LIST_ICONS" _name="List Icons"/> + <value id="GNOME_ICON_LIST_TEXT_BELOW" _name="Text Below"/> + <value id="GNOME_ICON_LIST_TEXT_RIGHT" _name="Text Right"/> + </displayable-values> </property> <property id="icon-width" _name="Icon Width" default="78"> <_tooltip>The width of each icon</_tooltip> diff --git a/plugins/gnome/gnome.xml.in b/plugins/gnome/gnome.xml.in index adcc7780..aca5586b 100644 --- a/plugins/gnome/gnome.xml.in +++ b/plugins/gnome/gnome.xml.in @@ -155,6 +155,7 @@ <value id="GNOME_DATE_EDIT_SHOW_TIME" _name="Show Time"/> <value id="GNOME_DATE_EDIT_24_HR" _name="24-Hour Format"/> <value id="GNOME_DATE_EDIT_WEEK_STARTS_ON_MONDAY" _name="Monday First"/> + <value id="GNOME_DATE_EDIT_DISPLAY_SECONDS" _name="Display Seconds"/> </displayable-values> </property> </properties> diff --git a/plugins/gtk+/gtk+.xml.in b/plugins/gtk+/gtk+.xml.in index d975b086..57673e0e 100644 --- a/plugins/gtk+/gtk+.xml.in +++ b/plugins/gtk+/gtk+.xml.in @@ -1037,6 +1037,17 @@ embedded in another object</_tooltip> <glade-widget-class name="GtkScaleButton" generic-name="scalebutton" _title="Scale Button" since="2.12"> <properties> <property id="orientation" since="2.14"/> + <property id="size"> + <displayable-values> + <value id="GTK_ICON_SIZE_INVALID" _name="Invalid"/> + <value id="GTK_ICON_SIZE_MENU" _name="Menu"/> + <value id="GTK_ICON_SIZE_SMALL_TOOLBAR" _name="Small Toolbar"/> + <value id="GTK_ICON_SIZE_LARGE_TOOLBAR" _name="Large Toolbar"/> + <value id="GTK_ICON_SIZE_BUTTON" _name="Button"/> + <value id="GTK_ICON_SIZE_DND" _name="Drag & Drop"/> + <value id="GTK_ICON_SIZE_DIALOG" _name="Dialog"/> + </displayable-values> + </property> </properties> </glade-widget-class> @@ -3329,7 +3340,18 @@ embedded in another object</_tooltip> <glade-widget-class name="GtkTextTag" generic-name="texttag" _title="Text Tag" - libglade-unsupported="True" toplevel="True"/> + libglade-unsupported="True" toplevel="True"> + <properties> + <property id="direction"> + <displayable-values> + <value id="GTK_TEXT_DIR_NONE" _name="None"/> + <value id="GTK_TEXT_DIR_LTR" _name="Left to Right"/> + <value id="GTK_TEXT_DIR_RTL" _name="Right to Left"/> + </displayable-values> + </property> + </properties> + </glade-widget-class> + <glade-widget-class name="GtkTextTagTable" generic-name="texttagtable" _title="Text Tag Table" libglade-unsupported="True" toplevel="True"/> diff --git a/plugins/gtk+/gtkunixprint.xml.in b/plugins/gtk+/gtkunixprint.xml.in index 4a9be396..63006a17 100644 --- a/plugins/gtk+/gtkunixprint.xml.in +++ b/plugins/gtk+/gtkunixprint.xml.in @@ -7,7 +7,25 @@ <glade-widget-classes> <glade-widget-class name="GtkPageSetupUnixDialog" generic-name="pagesetupdialog" _title="Page Setup Dialog"/> - <glade-widget-class name="GtkPrintUnixDialog" generic-name="printdialog" _title="Print Dialog"/> + <glade-widget-class name="GtkPrintUnixDialog" generic-name="printdialog" _title="Print Dialog"> + <properties> + <property id="manual-capabilities"> + <displayable-values> + <value id="GTK_PRINT_CAPABILITY_PAGE_SET" _name="Page Set"/> + <value id="GTK_PRINT_CAPABILITY_COPIES" _name="Copies"/> + <value id="GTK_PRINT_CAPABILITY_COLLATE" _name="Collate"/> + <value id="GTK_PRINT_CAPABILITY_REVERSE" _name="Reverse"/> + <value id="GTK_PRINT_CAPABILITY_SCALE" _name="Scale"/> + <value id="GTK_PRINT_CAPABILITY_GENERATE_PDF" _name="Generate PDF"/> + <value id="GTK_PRINT_CAPABILITY_GENERATE_PS" _name="Generate PS"/> + <value id="GTK_PRINT_CAPABILITY_PREVIEW" _name="Preview"/> + <value id="GTK_PRINT_CAPABILITY_NUMBER_UP" _name="Number Up"/> + <value id="GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT" _name="Number Up Layout"/> + </displayable-values> + </property> + </properties> + </glade-widget-class> + </glade-widget-classes> <glade-widget-group name="unixprint-toplevels" _title="GTK+ Unix Print Toplevels"> |