From e9ac1bb4767b7139658fc2f5548c65a7baabb46b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 20 Jun 2014 00:46:09 -0400 Subject: [PATCH] Make gtk_icon_theme_add_resource_path public API This makes it possible to look up icons in resources using the icon theme api, and should be used as a replacement for installing icons below $pkgdatadir/icons and adding that location to the search path. --- docs/reference/gtk/gtk3-sections.txt | 1 + gtk/gtkicontheme.c | 19 +++++++++++++++++++ gtk/gtkicontheme.h | 4 ++++ 3 files changed, 24 insertions(+) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index f32a782c06..02a48afc09 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -6696,6 +6696,7 @@ gtk_icon_theme_set_search_path gtk_icon_theme_get_search_path gtk_icon_theme_append_search_path gtk_icon_theme_prepend_search_path +gtk_icon_theme_add_resource_path gtk_icon_theme_set_custom_theme gtk_icon_theme_has_icon gtk_icon_theme_lookup_icon diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index acd6ff36ed..f715af8acb 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -1001,6 +1001,25 @@ gtk_icon_theme_prepend_search_path (GtkIconTheme *icon_theme, do_theme_change (icon_theme); } +/** + * gtk_icon_theme_add_resource_path: + * @icon_theme: a #GtkIconTheme + * @path: a resource path + * + * Adds a resource path that will be looked at when looking + * for icons, similar to search paths. + * + * This function should be used to make application-specific icons + * available as part of the icon theme. + * + * The resources are considered as part of the hicolor icon theme + * and must be located in subdirectories that are defined in the + * hicolor icon theme, such as `@path/16x16/actions/run.png`. + * Icons that are directly placed in the resource path instead + * of a subdirectory are also considered as ultimate fallback. + * + * Since: 3.14 + */ void gtk_icon_theme_add_resource_path (GtkIconTheme *icon_theme, const gchar *path) diff --git a/gtk/gtkicontheme.h b/gtk/gtkicontheme.h index 6d7fab2537..e37a52dd9d 100644 --- a/gtk/gtkicontheme.h +++ b/gtk/gtkicontheme.h @@ -187,6 +187,10 @@ GDK_AVAILABLE_IN_ALL void gtk_icon_theme_prepend_search_path (GtkIconTheme *icon_theme, const gchar *path); +GDK_AVAILABLE_IN_3_14 +void gtk_icon_theme_add_resource_path (GtkIconTheme *icon_theme, + const gchar *path); + GDK_AVAILABLE_IN_ALL void gtk_icon_theme_set_custom_theme (GtkIconTheme *icon_theme, const gchar *theme_name);