GThemedIcon

GThemedIcon — Icon theming support

Synopsis

#include <gio/gio.h>

                    GThemedIcon;
GIcon *             g_themed_icon_new                   (const char *iconname);
GIcon *             g_themed_icon_new_from_names        (char **iconnames,
                                                         int len);
GIcon *             g_themed_icon_new_with_default_fallbacks
                                                        (const char *iconname);
void                g_themed_icon_prepend_name          (GThemedIcon *icon,
                                                         const char *iconname);
void                g_themed_icon_append_name           (GThemedIcon *icon,
                                                         const char *iconname);
const gchar * const * g_themed_icon_get_names           (GThemedIcon *icon);

Object Hierarchy

  GObject
   +----GThemedIcon

Implemented Interfaces

GThemedIcon implements GIcon.

Properties

  "name"                     gchar*                : Write / Construct Only
  "names"                    GStrv                 : Read / Write / Construct Only
  "use-default-fallbacks"    gboolean              : Read / Write / Construct Only

Description

GThemedIcon is an implementation of GIcon that supports icon themes. GThemedIcon contains a list of all of the icons present in an icon theme, so that icons can be looked up quickly. GThemedIcon does not provide actual pixmaps for icons, just the icon names. Ideally something like gtk_icon_theme_choose_icon() should be used to resolve the list of names so that fallback icons work nicely with themes that inherit other themes.

Details

GThemedIcon

typedef struct _GThemedIcon GThemedIcon;

An implementation of GIcon for themed icons.


g_themed_icon_new ()

GIcon *             g_themed_icon_new                   (const char *iconname);

Creates a new themed icon for iconname.

iconname :

a string containing an icon name.

Returns :

a new GThemedIcon. [transfer full]

g_themed_icon_new_from_names ()

GIcon *             g_themed_icon_new_from_names        (char **iconnames,
                                                         int len);

Creates a new themed icon for iconnames.

iconnames :

an array of strings containing icon names. [array length=len]

len :

the length of the iconnames array, or -1 if iconnames is NULL-terminated

Returns :

a new GThemedIcon. [transfer full]

g_themed_icon_new_with_default_fallbacks ()

GIcon *             g_themed_icon_new_with_default_fallbacks
                                                        (const char *iconname);

Creates a new themed icon for iconname, and all the names that can be created by shortening iconname at '-' characters.

In the following example, icon1 and icon2 are equivalent:

1
2
3
4
5
6
7
8
9
const char *names[] = { 
  "gnome-dev-cdrom-audio",
  "gnome-dev-cdrom",
  "gnome-dev",
  "gnome"
};

icon1 = g_themed_icon_new_from_names (names, 4);
icon2 = g_themed_icon_new_with_default_fallbacks ("gnome-dev-cdrom-audio");

iconname :

a string containing an icon name

Returns :

a new GThemedIcon. [transfer full]

g_themed_icon_prepend_name ()

void                g_themed_icon_prepend_name          (GThemedIcon *icon,
                                                         const char *iconname);

Prepend a name to the list of icons from within icon.

Note

Note that doing so invalidates the hash computed by prior calls to g_icon_hash().

icon :

a GThemedIcon

iconname :

name of icon to prepend to list of icons from within icon.

Since 2.18


g_themed_icon_append_name ()

void                g_themed_icon_append_name           (GThemedIcon *icon,
                                                         const char *iconname);

Append a name to the list of icons from within icon.

Note

Note that doing so invalidates the hash computed by prior calls to g_icon_hash().

icon :

a GThemedIcon

iconname :

name of icon to append to list of icons from within icon.

g_themed_icon_get_names ()

const gchar * const * g_themed_icon_get_names           (GThemedIcon *icon);

Gets the names of icons from within icon.

icon :

a GThemedIcon.

Returns :

a list of icon names. [transfer none]

Property Details

The "name" property

  "name"                     gchar*                : Write / Construct Only

The icon name.

Default value: NULL


The "names" property

  "names"                    GStrv                 : Read / Write / Construct Only

A NULL-terminated array of icon names.


The "use-default-fallbacks" property

  "use-default-fallbacks"    gboolean              : Read / Write / Construct Only

Whether to use the default fallbacks found by shortening the icon name at '-' characters. If the "names" array has more than one element, ignores any past the first.

For example, if the icon name was "gnome-dev-cdrom-audio", the array would become

1
2
3
4
5
6
7
{
  "gnome-dev-cdrom-audio",
  "gnome-dev-cdrom",
  "gnome-dev",
  "gnome",
  NULL
};

Default value: FALSE

See Also

GIcon, GLoadableIcon