[drwright] cc-panel: Use GResource for the builder file



commit bd23a27bc340b6d9111d3dcb4f13e039fe979922
Author: Christian Persch <chpe gnome org>
Date:   Thu Mar 29 18:52:23 2012 +0200

    cc-panel: Use GResource for the builder file

 configure.in                  |    6 ++++++
 src/Makefile.am               |   34 +++++++++++++++++++++-------------
 src/drw-cc-panel.c            |    2 +-
 src/drwright-cc.gresource.xml |   22 ++++++++++++++++++++++
 4 files changed, 50 insertions(+), 14 deletions(-)
---
diff --git a/configure.in b/configure.in
index 16daa9b..a50014c 100644
--- a/configure.in
+++ b/configure.in
@@ -115,6 +115,12 @@ if test -z "$GLIB_COMPILE_RESOURCES"; then
   AC_MSG_ERROR([glib-compile-resources not found])
 fi
 
+AC_ARG_VAR([XMLLINT],[the xmllint programme])
+AC_PATH_PROG([XMLLINT],[xmllint],[])
+if test -z "$XMLLINT"; then
+  AC_MSG_ERROR([xmllint not found])
+fi
+
 # *********
 # GSettings
 # *********
diff --git a/src/Makefile.am b/src/Makefile.am
index 1ca6a78..6ee4023 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -2,15 +2,18 @@ NULL =
 
 EXTRA_DIST =
 
-# Typing break
-
-pkglibexec_PROGRAMS = gnome-typing-monitor
-
 BUILT_SOURCES = \
 	drw-resources.c \
 	drw-resources.h \
+	drw-cc-resources.c \
+	drw-cc-resources.h \
 	$(NULL)
 
+# Typing break
+
+pkglibexec_PROGRAMS = gnome-typing-monitor
+
+
 gnome_typing_monitor_SOURCES =			\
 	main.c					\
 	drwright.c				\
@@ -25,12 +28,12 @@ gnome_typing_monitor_SOURCES =			\
 	drw-selection.h				\
 	drw-timer.c				\
 	drw-timer.h \
-	$(BUILT_SOURCES) \
+	drw-resources.c \
+	drw-resources.h \
 	$(NULL)
 
 gnome_typing_monitor_CPPFLAGS = \
 	-DGNOMELOCALEDIR="\"$(datadir)/locale\""	\
-	-DIMAGEDIR=\"$(pkgdatadir)/pixmaps\"		\
 	-DBINDIR="\"$(bindir)\""			\
 	$(AM_CPPFLAGS)
 gnome_typing_monitor_CFLAGS = \
@@ -112,10 +115,11 @@ libdrwrightccp_la_SOURCES = \
 	drw-cc-module.c	\
 	drw-cc-panel.c	\
 	drw-cc-panel.h	\
+	drw-cc-resources.c \
+	drw-cc-resources.h \
 	$(NULL)
 libdrwrightccp_la_CPPFLAGS = \
         -DLOCALEDIR="\"$(datadir)/locale\""	\
-	-DBUILDERDIR="\"$(builderdir)\""	\
 	$(AM_CPPFLAGS)
 libdrwrightccp_la_CFLAGS = \
 	$(CCPANEL_CFLAGS)	\
@@ -131,14 +135,12 @@ libdrwrightccp_la_LDFLAGS = \
 	-no-undefined \
 	$(AM_LDFLAGS)
 
-builderdir = $(pkgdatadir)
-builder_in_files = drwright-panel.glade
-builder_DATA = $(builder_in_files:.glade=.ui)
-
 desktopdir = $(datadir)/applications
 desktop_in_files = gnome-typing-break-panel.desktop.in
 desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 
+builder_in_files = drwright-panel.glade
+
 %.ui: %.glade
 	$(AM_V_GEN) $(GTK_BUILDER_CONVERT) $< $@ >/dev/null
 
@@ -149,6 +151,12 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 drw-resources.h drw-resources.c: drwright.gresource.xml Makefile $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies --sourcedir $(srcdir) $(srcdir)/drwright.gresource.xml)
 	$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target $@ --sourcedir $(srcdir) --generate --c-name drw $<
 
+# hack! https://bugzilla.gnome.org/show_bug.cgi?id=673101
+drwright-cc.gresource.xml: drwright-panel.ui
+
+drw-cc-resources.h drw-cc-resources.c: drwright-cc.gresource.xml Makefile $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies --sourcedir $(srcdir) --sourcedir . $(srcdir)/drwright-cc.gresource.xml)
+	$(AM_V_GEN) XMLLINT=$(XMLLINT) $(GLIB_COMPILE_RESOURCES) --target $@ --sourcedir $(srcdir) --sourcedir . --generate --c-name drw_cc $<
+
 # GSettings
 
 gsettings_schemas_in_files = org.gnome.settings-daemon.plugins.typing-break.gschema.xml.in
@@ -169,7 +177,7 @@ EXTRA_DIST += 			\
 	$(NULL)
 
 CLEANFILES = 			\
-	$(builder_DATA)		\
+	$(builder_in_files:.glade=.ui) \
 	$(desktop_DATA)		\
 	$(gsettings_SCHEMAS)	\
 	$(gsd_plugin_DATA)	\
@@ -177,7 +185,7 @@ CLEANFILES = 			\
 	$(NULL)
 
 DISTCLEANFILES =		\
-	$(builder_DATA)		\
+	$(builder_in_files:.glade=.ui) \
 	$(desktop_DATA)		\
 	$(gsd_plugin_DATA)	\
 	$(BUILT_SOURCES)	\
diff --git a/src/drw-cc-panel.c b/src/drw-cc-panel.c
index f728f5c..99c1e69 100644
--- a/src/drw-cc-panel.c
+++ b/src/drw-cc-panel.c
@@ -177,7 +177,7 @@ drw_cc_panel_init (DrwCcPanel *self)
   builder = gtk_builder_new ();
   gtk_builder_set_translation_domain (builder, GETTEXT_PACKAGE);
 
-  if (!gtk_builder_add_from_file (builder, BUILDERDIR "/drwright-panel.ui", &error))
+  if (!gtk_builder_add_from_resource (builder, "/org/gnome/drwright/drwright-panel.ui", &error))
     g_error ("%s", error->message);
 
   widget = (GtkWidget *) gtk_builder_get_object (builder, "typing-break-preferences-box");
diff --git a/src/drwright-cc.gresource.xml b/src/drwright-cc.gresource.xml
new file mode 100644
index 0000000..8b350fa
--- /dev/null
+++ b/src/drwright-cc.gresource.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright  2012 Christian Persch
+
+  This program is free software; you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation; either version 2, or (at your option)
+  any later version.
+
+  This program is distributed in the hope conf it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+-->
+<gresources>
+  <gresource prefix="/org/gnome/drwright">
+    <file preprocess="xml-stripblanks">drwright-panel.ui</file>
+  </gresource>
+</gresources>



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