[sushi] Use a GResource for auxiliary data



commit ff3150b4f3b9640c57db69c068ce554beb93fc92
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Fri Jun 26 15:53:41 2015 -0700

    Use a GResource for auxiliary data

 configure.ac                                |    4 +++-
 data/Makefile.am                            |    2 --
 src/Makefile.am                             |   17 ++++++++++++++++-
 src/js/ui/application.js                    |    5 +----
 src/js/util/path.js.in                      |    2 --
 src/org.gnome.Sushi.gresource.xml           |    6 ++++++
 {data/style => src/resources}/gtk-style.css |    0
 7 files changed, 26 insertions(+), 10 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 1262ed5..58f7068 100644
--- a/configure.ac
+++ b/configure.ac
@@ -74,6 +74,9 @@ PKG_CHECK_MODULES(SUSHI,
                   gtksourceview-3.0
                   webkit2gtk-4.0)
 
+GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable glib_compile_resources gio-2.0`
+AC_SUBST(GLIB_COMPILE_RESOURCES)
+
 GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
 AC_SUBST(GLIB_MKENUMS)
 
@@ -81,7 +84,6 @@ AC_CONFIG_FILES([
 Makefile
 src/Makefile
 data/Makefile
-data/style/Makefile
 po/Makefile.in
 ])
 
diff --git a/data/Makefile.am b/data/Makefile.am
index 8a12f10..728097c 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1,5 +1,3 @@
-SUBDIRS = style
-
 servicedir = $(datadir)/dbus-1/services
 service_in_files = org.gnome.Sushi.service.in
 service_DATA = $(service_in_files:.service.in=.service)
diff --git a/src/Makefile.am b/src/Makefile.am
index 98a519c..652614e 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -36,6 +36,17 @@ include $(INTROSPECTION_MAKEFILE)
 include Makefile-js.am
 include Makefile-sushi.am
 
+resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies 
$(srcdir)/org.gnome.Sushi.gresource.xml)
+sushi-resources.c: org.gnome.Sushi.gresource.xml $(resource_files)
+       $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --generate-source --c-name sushi 
$(srcdir)/org.gnome.Sushi.gresource.xml
+sushi-resources.h: org.gnome.Sushi.gresource.xml $(resource_files)
+       $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --generate-header --c-name sushi 
$(srcdir)/org.gnome.Sushi.gresource.xml
+EXTRA_DIST += org.gnome.Sushi.gresource.xml $(resource_files)
+BUILT_SOURCES += \
+       sushi-resources.h \
+       sushi-resources.c \
+       $(NULL)
+
 gir_DATA += $(INTROSPECTION_GIRS)
 typelib_DATA += $(gir_DATA:.gir=.typelib)
 
@@ -43,7 +54,11 @@ CLEANFILES += $(gir_DATA) $(typelib_DATA)
 
 libexec_PROGRAMS = sushi-start
 
-sushi_start_SOURCES = main.c
+sushi_start_SOURCES = \
+       main.c \
+       sushi-resources.h \
+       sushi-resources.c \
+       $(NULL)
 
 sushi_start_LDADD = \
     libsushi-1.0.la \
diff --git a/src/js/ui/application.js b/src/js/ui/application.js
index 6cfd6d7..037c798 100644
--- a/src/js/ui/application.js
+++ b/src/js/ui/application.js
@@ -25,9 +25,6 @@
 
 const Lang = imports.lang;
 
-// util imports
-const Path = imports.util.path;
-
 // gi imports
 const GLib = imports.gi.GLib;
 const Gtk = imports.gi.Gtk;
@@ -83,7 +80,7 @@ const Application = new Lang.Class({
 
     _defineStyleAndThemes : function() {
         let provider = new Gtk.CssProvider();
-        provider.load_from_path(Path.STYLE_DIR + 'gtk-style.css');
+       provider.load_from_resource('/org/gnome/Sushi/gtk-style.css');
         Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(),
                                                  provider,
                                                  600);
diff --git a/src/js/util/path.js.in b/src/js/util/path.js.in
index 3584052..12aa933 100644
--- a/src/js/util/path.js.in
+++ b/src/js/util/path.js.in
@@ -24,5 +24,3 @@
  */
 
 let LOCALE_DIR = '@localedir@';
-let ICONS_DIR = '@pkgdatadir@/icons/';
-let STYLE_DIR = '@pkgdatadir@/style/';
\ No newline at end of file
diff --git a/src/org.gnome.Sushi.gresource.xml b/src/org.gnome.Sushi.gresource.xml
new file mode 100644
index 0000000..e0e67c4
--- /dev/null
+++ b/src/org.gnome.Sushi.gresource.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gresources>
+  <gresource prefix="/org/gnome/Sushi">
+    <file alias="gtk-style.css">resources/gtk-style.css</file>
+  </gresource>
+</gresources>
diff --git a/data/style/gtk-style.css b/src/resources/gtk-style.css
similarity index 100%
rename from data/style/gtk-style.css
rename to src/resources/gtk-style.css


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]