[gnome-games/sudoku-vala] Use GResource for the ui file



commit ab8ce18c17d3a545f73caf3982b782199452201a
Author: Thomas Hindoe Paaboel Andersen <phomes gmail com>
Date:   Sat May 12 02:28:33 2012 +0200

    Use GResource for the ui file

 configure.ac                                   |    5 +++++
 gnome-sudoku/data/Makefile.am                  |    3 +--
 gnome-sudoku/src/Makefile.am                   |   11 ++++++++++-
 gnome-sudoku/src/gnome-sudoku.gresource.xml.in |    7 +++++++
 gnome-sudoku/src/gnome-sudoku.vala             |    2 +-
 5 files changed, 24 insertions(+), 4 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 309cd27..fc2955b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -273,6 +273,10 @@ AM_CONDITIONAL([HAVE_GIO_2_26],[test "$have_gio_2_26" = "yes"])
 
 m4_ifdef([GLIB_GSETTINGS],[GLIB_GSETTINGS([],[:])])
 
+# GResources
+GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable glib_compile_resources gio-2.0`
+AC_SUBST(GLIB_COMPILE_RESOURCES)
+
 # Check for SQLite
 
 have_sqlite=no
@@ -528,6 +532,7 @@ glchess/help/Makefile
 glchess/src/Makefile
 gnome-sudoku/Makefile
 gnome-sudoku/src/Makefile
+gnome-sudoku/src/gnome-sudoku.gresource.xml
 gnome-sudoku/data/Makefile
 gnome-sudoku/data/icons/Makefile
 gnome-sudoku/data/gnome-sudoku.desktop.in
diff --git a/gnome-sudoku/data/Makefile.am b/gnome-sudoku/data/Makefile.am
index 6771f78..552593b 100644
--- a/gnome-sudoku/data/Makefile.am
+++ b/gnome-sudoku/data/Makefile.am
@@ -20,8 +20,7 @@ puzzle_DATA = \
 	hard \
 	very_hard
 
-uidir = $(datadir)/gnome-sudoku
-ui_DATA = \
+dist_noinst_DATA = \
 	gnome-sudoku.ui 
 
 man_MANS = gnome-sudoku.6
diff --git a/gnome-sudoku/src/Makefile.am b/gnome-sudoku/src/Makefile.am
index 5c68a71..e6fbd63 100644
--- a/gnome-sudoku/src/Makefile.am
+++ b/gnome-sudoku/src/Makefile.am
@@ -1,12 +1,15 @@
 bin_PROGRAMS = gnome-sudoku
 
+BUILT_SOURCES = gnome-sudoku-resources.c
+
 gnome_sudoku_SOURCES = \
 	config.vapi \
 	main.vala \
 	gnome-sudoku.vala \
 	sudoku-game.vala \
 	sudoku-generator.vala \
-	sudoku-view.vala
+	sudoku-view.vala \
+	$(BUILT_SOURCES)
 
 gnome_sudoku_CFLAGS = \
 	-DPKGDATADIR=\"@datadir@/gnome-sudoku\" \
@@ -27,5 +30,11 @@ gnome_sudoku_VALAFLAGS = \
     --vapidir $(top_srcdir)/libgames-support \
     --pkg GnomeGamesSupport-1.0
 
+gnome-sudoku-resources.c: gnome-sudoku.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies gnome-sudoku.gresource.xml)
+	$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --generate-source gnome-sudoku.gresource.xml
+
+EXTRA_DIST = \
+	gnome_sudoku.gresource.xml
+
 DISTCLEANFILES = \
 	Makefile.in
diff --git a/gnome-sudoku/src/gnome-sudoku.gresource.xml.in b/gnome-sudoku/src/gnome-sudoku.gresource.xml.in
new file mode 100644
index 0000000..e6d2393
--- /dev/null
+++ b/gnome-sudoku/src/gnome-sudoku.gresource.xml.in
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gresources>
+  <gresource prefix="/org/gnome/gnome-sudoku/ui">
+    <file alias="gnome-sudoku.ui" preprocess="xml-stripblanks">@top_srcdir@/gnome-sudoku/data/gnome-sudoku.ui</file>
+  </gresource>
+</gresources>
+
diff --git a/gnome-sudoku/src/gnome-sudoku.vala b/gnome-sudoku/src/gnome-sudoku.vala
index 6fb1eba..cb6bf02 100644
--- a/gnome-sudoku/src/gnome-sudoku.vala
+++ b/gnome-sudoku/src/gnome-sudoku.vala
@@ -22,7 +22,7 @@ public class Sudoku : Gtk.Application
         builder = new Gtk.Builder ();
         try
         {
-            builder.add_from_file (Path.build_filename (Config.PKGDATADIR, "gnome-sudoku.ui", null));
+            builder.add_from_resource ("/org/gnome/gnome-sudoku/ui/gnome-sudoku.ui");
         }
         catch (GLib.Error e)
         {



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