[gtk: 18/31] Add gtk_icon_paintable_get_resource_path()
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk: 18/31] Add gtk_icon_paintable_get_resource_path()
- Date: Mon, 10 Feb 2020 12:48:17 +0000 (UTC)
commit a772bf75178f886c324ce48dfd1e2616ec7bda82
Author: Alexander Larsson <alexl redhat com>
Date: Thu Feb 6 17:33:19 2020 +0100
Add gtk_icon_paintable_get_resource_path()
Also, return NULL from gtk_icon_paintable_get_filename() if the path
is really a resource path.
docs/reference/gtk/gtk4-sections.txt | 1 +
gtk/gtkicontheme.c | 23 ++++++++++++++++++++++-
gtk/gtkicontheme.h | 8 +++++---
3 files changed, 28 insertions(+), 4 deletions(-)
---
diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt
index 3316829a80..aa7726bb53 100644
--- a/docs/reference/gtk/gtk4-sections.txt
+++ b/docs/reference/gtk/gtk4-sections.txt
@@ -5010,6 +5010,7 @@ gtk_icon_theme_lookup_by_gicon
gtk_icon_theme_list_icons
gtk_icon_theme_get_icon_sizes
gtk_icon_paintable_get_filename
+gtk_icon_paintable_get_resource_path
gtk_icon_paintable_get_icon_name
gtk_icon_paintable_is_symbolic
<SUBSECTION Standard>
diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c
index 65459be8e3..5c4ce8160c 100644
--- a/gtk/gtkicontheme.c
+++ b/gtk/gtkicontheme.c
@@ -3130,7 +3130,28 @@ gtk_icon_paintable_get_filename (GtkIconPaintable *icon)
{
g_return_val_if_fail (icon != NULL, NULL);
- return icon->filename;
+ if (!icon->is_resource)
+ return icon->filename;
+ return NULL;
+}
+
+/**
+ * gtk_icon_paintable_get_resource_path:
+ * @self: a #GtkIcon
+ *
+ * Gets the resource path for the icon.
+ *
+ * Returns: (nullable) (type filename): the resource for the icon, or %NULL
+ * if the icon is not represented by a resource.
+ */
+const gchar *
+gtk_icon_paintable_get_resource_path (GtkIconPaintable *icon)
+{
+ g_return_val_if_fail (icon != NULL, NULL);
+
+ if (icon->is_resource)
+ return icon->filename;
+ return NULL;
}
/**
diff --git a/gtk/gtkicontheme.h b/gtk/gtkicontheme.h
index 2a3366b7d5..afc79e5a18 100644
--- a/gtk/gtkicontheme.h
+++ b/gtk/gtkicontheme.h
@@ -137,11 +137,13 @@ GDK_AVAILABLE_IN_ALL
GType gtk_icon_paintable_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
-const gchar * gtk_icon_paintable_get_filename (GtkIconPaintable *self);
+const gchar * gtk_icon_paintable_get_filename (GtkIconPaintable *self);
GDK_AVAILABLE_IN_ALL
-const gchar * gtk_icon_paintable_get_icon_name (GtkIconPaintable *self);
+const gchar * gtk_icon_paintable_get_resource_path (GtkIconPaintable *self);
GDK_AVAILABLE_IN_ALL
-gboolean gtk_icon_paintable_is_symbolic (GtkIconPaintable *self);
+const gchar * gtk_icon_paintable_get_icon_name (GtkIconPaintable *self);
+GDK_AVAILABLE_IN_ALL
+gboolean gtk_icon_paintable_is_symbolic (GtkIconPaintable *self);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]