[gtk+] Add a function to load css from a resource
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Add a function to load css from a resource
- Date: Sat, 4 Oct 2014 19:53:08 +0000 (UTC)
commit a00842fa9981a9fab90f435f81b71cdea1aa08f4
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Oct 4 15:52:02 2014 -0400
Add a function to load css from a resource
This is common enough that we should just provide an API for it
- we already had a function for this purpose anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=672946
docs/reference/gtk/gtk3-sections.txt | 1 +
gtk/gtkcssprovider.c | 25 ++++++++++++++++++++-----
gtk/gtkcssprovider.h | 4 ++++
3 files changed, 25 insertions(+), 5 deletions(-)
---
diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt
index de04e7f..c7d5375 100644
--- a/docs/reference/gtk/gtk3-sections.txt
+++ b/docs/reference/gtk/gtk3-sections.txt
@@ -6158,6 +6158,7 @@ gtk_css_provider_get_named
gtk_css_provider_load_from_data
gtk_css_provider_load_from_file
gtk_css_provider_load_from_path
+gtk_css_provider_load_from_resource
gtk_css_provider_new
gtk_css_provider_to_string
GTK_CSS_PROVIDER_ERROR
diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c
index 8d6b216..62fde1c 100644
--- a/gtk/gtkcssprovider.c
+++ b/gtk/gtkcssprovider.c
@@ -2883,12 +2883,26 @@ gtk_css_provider_load_from_path (GtkCssProvider *css_provider,
return result;
}
-static void
-gtk_css_provider_load_from_resource (GtkCssProvider *css_provider,
- const gchar *resource_path)
+/**
+ * gtk_css_provider_load_from_resource:
+ * @css_provider: a #GtkCssProvider
+ * @resource_path: a #GResource resource path
+ *
+ * Loads the data contained in the resource at @resource_path into
+ * the #GtkCssProvider, clearing any previously loaded information.
+ *
+ * If there is an error locating the resource or parsing the CSS,
+ * then the program will be aborted.
+ *
+ * Since: 3.16
+ */
+void
+gtk_css_provider_load_from_resource (GtkCssProvider *css_provider,
+ const gchar *resource_path)
{
GFile *file;
- char *uri, *escaped;
+ gchar *uri, *escaped;
+ GError *error;
g_return_if_fail (GTK_IS_CSS_PROVIDER (css_provider));
g_return_if_fail (resource_path != NULL);
@@ -2901,7 +2915,8 @@ gtk_css_provider_load_from_resource (GtkCssProvider *css_provider,
file = g_file_new_for_uri (uri);
g_free (uri);
- gtk_css_provider_load_from_file (css_provider, file, NULL);
+ if (!gtk_css_provider_load_from_file (css_provider, file, &error))
+ g_error ("Failed to load CSS: %s", error->message);
g_object_unref (file);
}
diff --git a/gtk/gtkcssprovider.h b/gtk/gtkcssprovider.h
index 4cf2f51..8181731 100644
--- a/gtk/gtkcssprovider.h
+++ b/gtk/gtkcssprovider.h
@@ -103,6 +103,10 @@ gboolean gtk_css_provider_load_from_path (GtkCssProvider *css_provider,
const gchar *path,
GError **error);
+GDK_AVAILABLE_IN_3_16
+void gtk_css_provider_load_from_resource (GtkCssProvider *provider,
+ const gchar *resource_path);
+
GDK_AVAILABLE_IN_ALL
GtkCssProvider * gtk_css_provider_get_default (void);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]