[gupnp-tools] av-cp: Use gresource for UI files



commit cdef58c14833b56edaaed580c83509dc62daa906
Author: Jens Georg <mail jensge org>
Date:   Sun Sep 4 22:49:16 2016 +0200

    av-cp: Use gresource for UI files
    
    Signed-off-by: Jens Georg <mail jensge org>

 configure.ac                             |    2 ++
 data/org.gupnp.Tools.AV-CP.gresource.xml |    6 ++++++
 src/av-cp/Makefile.am                    |   14 ++++++++++++++
 src/av-cp/gui.c                          |    4 ++--
 4 files changed, 24 insertions(+), 2 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 00ba51a..c863aaf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -126,6 +126,8 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, ["$GETTEXT_PACKAGE"],
 
 AS_AC_EXPAND(PKGDATADIR, "${datadir}/${PACKAGE}")
 
+AC_SUBST([GLIB_COMPILE_RESOURCES], [`$PKG_CONFIG --variable glib_compile_resources gio-2.0`])
+
 AC_CONFIG_FILES([
 Makefile
 src/Makefile
diff --git a/data/org.gupnp.Tools.AV-CP.gresource.xml b/data/org.gupnp.Tools.AV-CP.gresource.xml
new file mode 100644
index 0000000..09467ee
--- /dev/null
+++ b/data/org.gupnp.Tools.AV-CP.gresource.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gresources>
+    <gresource prefix='/org/gupnp/Tools/AV-CP'>
+        <file preprocess='xml-stripblanks'>gupnp-av-cp.ui</file>
+    </gresource>
+</gresources>
diff --git a/data/search-dialog-context.ui b/data/search-dialog-context.ui
new file mode 100644
index 0000000..e69de29
diff --git a/src/av-cp/Makefile.am b/src/av-cp/Makefile.am
index b1f8db6..45578f5 100644
--- a/src/av-cp/Makefile.am
+++ b/src/av-cp/Makefile.am
@@ -15,7 +15,21 @@ AM_CFLAGS = $(LIBGUPNP_CFLAGS) \
 
 bin_PROGRAMS = gupnp-av-cp
 
+RESOURCEFILE = $(top_srcdir)/data/org.gupnp.Tools.AV-CP.gresource.xml
+
+resource_depends = \
+       $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies \
+               --sourcedir=$(top_srcdir)/data \
+               $(RESOURCEFILE))
+
+
+
+resource.c: $(RESOURCEFILE) $(resource_depends)
+       $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(top_srcdir)/data --generate 
$(RESOURCEFILE)
+
+
 gupnp_av_cp_SOURCES = main.c \
+                     resource.c \
                      gui.c \
                      playlist-treeview.c \
                      renderer-combo.c \
diff --git a/src/av-cp/gui.c b/src/av-cp/gui.c
index d1422dd..6017f60 100644
--- a/src/av-cp/gui.c
+++ b/src/av-cp/gui.c
@@ -30,7 +30,7 @@
 #include "main.h"
 #include "icons.h"
 
-#define UI_FILE DATA_DIR "/gupnp-av-cp.ui"
+#define UI_FILE "/org/gupnp/Tools/AV-CP/gupnp-av-cp.ui"
 #define ICON_FILE  "pixmaps/av-cp.png"
 
 static GtkBuilder  *builder;
@@ -97,7 +97,7 @@ init_ui (void)
         g_assert (builder != NULL);
         gtk_builder_set_translation_domain (builder, GETTEXT_PACKAGE);
 
-        if (!gtk_builder_add_from_file (builder, UI_FILE, &error)) {
+        if (!gtk_builder_add_from_resource (builder, UI_FILE, &error)) {
                 g_critical ("Unable to load the GUI file %s: %s",
                             UI_FILE,
                             error->message);


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