+2008-06-10 Matthias Clasen <mclasen@redhat.com>
+
+ * gio/gio-sections.txt: Add g_themed_icon_prepend_name
+
2008-06-10 14:06:34 Tim Janik <timj@imendio.com>
* gobject/tmpl/gtype.sgml: fixed documentation regarding type checking
g_themed_icon_new
g_themed_icon_new_from_names
g_themed_icon_new_with_default_fallbacks
+g_themed_icon_prepend_name
g_themed_icon_append_name
<SUBSECTION Standard>
GThemedIconClass
2008-06-10 Matthias Clasen <mclasen@redhat.com>
- ug 537392 – Additional colon in xattr name
+ * gio.symbols:
+ * gthemedicon.[hc] (g_themed_icon_prepend_name): New function,
+ to add a name to the front of the list.
+
+2008-06-10 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 537392 – Additional colon in xattr name
* glocalfileinfo.c (set_xattr): Skip the second colon of the prefix,
too. Reported by Alessandro Morandi
g_themed_icon_new_with_default_fallbacks
g_themed_icon_new_from_names
g_themed_icon_get_names
+g_themed_icon_prepend_name
g_themed_icon_append_name
#endif
#endif
* </para></note>
*/
void
-g_themed_icon_append_name (GThemedIcon *icon, const char *iconname)
+g_themed_icon_append_name (GThemedIcon *icon,
+ const char *iconname)
{
guint num_names;
g_object_notify (G_OBJECT (icon), "names");
}
+/**
+ * g_themed_icon_prepend_name:
+ * @icon: a #GThemedIcon
+ * @iconname: name of icon to prepend to list of icons from within @icon.
+ *
+ * Prepend a name to the list of icons from within @icon.
+ *
+ * <note><para>
+ * Note that doing so invalidates the hash computed by prior calls
+ * to g_icon_hash().
+ * </para></note>
+ *
+ * Since: 2.18
+ */
+void
+g_themed_icon_prepend_name (GThemedIcon *icon,
+ const char *iconname)
+{
+ guint num_names;
+ gchar **names;
+ gint i;
+
+ g_return_if_fail (G_IS_THEMED_ICON (icon));
+ g_return_if_fail (iconname != NULL);
+
+ num_names = g_strv_length (icon->names);
+ names = g_new (char*, num_names + 2);
+ for (i = 0; icon->names[i]; i++)
+ names[i + 1] = icon->names[i];
+ names[0] = g_strdup (iconname);
+ names[num_names + 1] = NULL;
+
+ g_free (icon->names);
+ icon->names = names;
+
+ g_object_notify (G_OBJECT (icon), "names");
+}
+
static guint
g_themed_icon_hash (GIcon *icon)
{
GType g_themed_icon_get_type (void) G_GNUC_CONST;
-GIcon *g_themed_icon_new (const char *iconname);
-GIcon *g_themed_icon_new_with_default_fallbacks (const char *iconname);
-GIcon *g_themed_icon_new_from_names (char **iconnames, int len);
-void g_themed_icon_append_name (GThemedIcon *icon, const char *iconname);
+GIcon *g_themed_icon_new (const char *iconname);
+GIcon *g_themed_icon_new_with_default_fallbacks (const char *iconname);
+GIcon *g_themed_icon_new_from_names (char **iconnames,
+ int len);
+void g_themed_icon_prepend_name (GThemedIcon *icon,
+ const char *iconname);
+void g_themed_icon_append_name (GThemedIcon *icon,
+ const char *iconname);
-const char * const *g_themed_icon_get_names (GThemedIcon *icon);
+const char * const *g_themed_icon_get_names (GThemedIcon *icon);
G_END_DECLS