Add g_themed_icon_prepend_name

svn path=/trunk/; revision=6991
This commit is contained in:
Matthias Clasen 2008-06-10 16:45:54 +00:00
parent e12152159f
commit 0f370f9a04
6 changed files with 62 additions and 7 deletions

View File

@ -1,3 +1,7 @@
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> 2008-06-10 14:06:34 Tim Janik <timj@imendio.com>
* gobject/tmpl/gtype.sgml: fixed documentation regarding type checking * gobject/tmpl/gtype.sgml: fixed documentation regarding type checking

View File

@ -364,6 +364,7 @@ GThemedIcon
g_themed_icon_new g_themed_icon_new
g_themed_icon_new_from_names g_themed_icon_new_from_names
g_themed_icon_new_with_default_fallbacks g_themed_icon_new_with_default_fallbacks
g_themed_icon_prepend_name
g_themed_icon_append_name g_themed_icon_append_name
<SUBSECTION Standard> <SUBSECTION Standard>
GThemedIconClass GThemedIconClass

View File

@ -1,6 +1,12 @@
2008-06-10 Matthias Clasen <mclasen@redhat.com> 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, * glocalfileinfo.c (set_xattr): Skip the second colon of the prefix,
too. Reported by Alessandro Morandi too. Reported by Alessandro Morandi

View File

@ -633,6 +633,7 @@ g_themed_icon_new
g_themed_icon_new_with_default_fallbacks g_themed_icon_new_with_default_fallbacks
g_themed_icon_new_from_names g_themed_icon_new_from_names
g_themed_icon_get_names g_themed_icon_get_names
g_themed_icon_prepend_name
g_themed_icon_append_name g_themed_icon_append_name
#endif #endif
#endif #endif

View File

@ -368,7 +368,8 @@ g_themed_icon_get_names (GThemedIcon *icon)
* </para></note> * </para></note>
*/ */
void void
g_themed_icon_append_name (GThemedIcon *icon, const char *iconname) g_themed_icon_append_name (GThemedIcon *icon,
const char *iconname)
{ {
guint num_names; guint num_names;
@ -383,6 +384,44 @@ g_themed_icon_append_name (GThemedIcon *icon, const char *iconname)
g_object_notify (G_OBJECT (icon), "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 static guint
g_themed_icon_hash (GIcon *icon) g_themed_icon_hash (GIcon *icon)
{ {

View File

@ -48,12 +48,16 @@ typedef struct _GThemedIconClass GThemedIconClass;
GType g_themed_icon_get_type (void) G_GNUC_CONST; GType g_themed_icon_get_type (void) G_GNUC_CONST;
GIcon *g_themed_icon_new (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_with_default_fallbacks (const char *iconname);
GIcon *g_themed_icon_new_from_names (char **iconnames, int len); GIcon *g_themed_icon_new_from_names (char **iconnames,
void g_themed_icon_append_name (GThemedIcon *icon, const char *iconname); 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 G_END_DECLS