[gnome-color-manager] Compile the GtkBuilder files as a GResources to speed up startup



commit 03d52cf830d8476fd82ca1e985b91402ce72ea3c
Author: Richard Hughes <richard hughsie com>
Date:   Thu Feb 9 17:49:47 2012 +0000

    Compile the GtkBuilder files as a GResources to speed up startup

 configure.ac                        |    2 +-
 contrib/gnome-color-manager.spec.in |    1 -
 data/Makefile.am                    |    4 ++--
 src/Makefile.am                     |   25 +++++++++++++++++++++++++
 src/gcm-picker.c                    |    6 +++---
 src/gcm-viewer.c                    |    6 +++---
 6 files changed, 34 insertions(+), 10 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index a082669..e096ac4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -87,7 +87,7 @@ GLIB_GSETTINGS
 dnl ---------------------------------------------------------------------------
 dnl - Check library dependencies
 dnl ---------------------------------------------------------------------------
-PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.30.0 gobject-2.0 gthread-2.0 gio-2.0 >= 2.25.9)
+PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.31.10 gobject-2.0 gthread-2.0 gio-2.0 >= 2.25.9)
 PKG_CHECK_MODULES(XORG, xrandr)
 PKG_CHECK_MODULES(GTK, gtk+-3.0 >= 2.91.0)
 PKG_CHECK_MODULES(LCMS, lcms2 >= 2.2)
diff --git a/contrib/gnome-color-manager.spec.in b/contrib/gnome-color-manager.spec.in
index 2de89a2..92c4a88 100644
--- a/contrib/gnome-color-manager.spec.in
+++ b/contrib/gnome-color-manager.spec.in
@@ -91,7 +91,6 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
 %{_bindir}/gcm-*
 %{_libexecdir}/gcm-*
 %dir %{_datadir}/gnome-color-manager
-%{_datadir}/gnome-color-manager/gcm-*.ui
 %dir %{_datadir}/gnome-color-manager/targets
 %dir %{_datadir}/gnome-color-manager/icons
 %dir %{_datadir}/gnome-color-manager/figures
diff --git a/data/Makefile.am b/data/Makefile.am
index 5034645..68de590 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -14,7 +14,7 @@ desktop_in_files =					\
 	gcm-import.desktop.in
 desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 
-pkgdata_DATA =						\
+UI_FILES =						\
 	gcm-picker.ui					\
 	gcm-viewer.ui
 
@@ -22,7 +22,7 @@ EXTRA_DIST =						\
 	$(service_in_files)				\
 	$(autostart_in_files)				\
 	$(desktop_in_files)				\
-	$(pkgdata_DATA)
+	$(UI_FILES)
 
 clean-local :
 	rm -f *~
diff --git a/src/Makefile.am b/src/Makefile.am
index c177c32..94eb9ab 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -175,6 +175,8 @@ gcm_viewer_SOURCES =					\
 	gcm-cell-renderer-profile-text.h		\
 	gcm-cell-renderer-color.c			\
 	gcm-cell-renderer-color.h			\
+	gcm-viewer-resources.c				\
+	gcm-viewer-resources.h				\
 	gcm-viewer.c
 
 gcm_viewer_LDADD =					\
@@ -195,6 +197,8 @@ gcm_viewer_CFLAGS =					\
 	$(WARNINGFLAGS_C)
 
 gcm_picker_SOURCES =					\
+	gcm-picker-resources.c				\
+	gcm-picker-resources.h				\
 	gcm-picker.c
 
 gcm_picker_LDADD =					\
@@ -255,6 +259,27 @@ TESTS = gcm-self-test
 
 endif
 
+gcm-picker-resources.c: gcm-picker.gresource.xml ../data/gcm-picker.ui
+	glib-compile-resources --target=$@ --sourcedir=$(top_srcdir)/data --generate-source --c-name gcm $(srcdir)/gcm-picker.gresource.xml
+gcm-picker-resources.h: gcm-picker.gresource.xml
+	glib-compile-resources --target=$@ --sourcedir=$(top_srcdir)/data --generate-header --c-name gcm $(srcdir)/gcm-picker.gresource.xml
+
+gcm-viewer-resources.c: gcm-viewer.gresource.xml ../data/gcm-viewer.ui
+	glib-compile-resources --target=$@ --sourcedir=$(top_srcdir)/data --generate-source --c-name gcm $(srcdir)/gcm-viewer.gresource.xml
+gcm-viewer-resources.h: gcm-viewer.gresource.xml
+	glib-compile-resources --target=$@ --sourcedir=$(top_srcdir)/data --generate-header --c-name gcm $(srcdir)/gcm-viewer.gresource.xml
+
+BUILT_SOURCES =						\
+	gcm-picker-resources.c				\
+	gcm-picker-resources.h				\
+	gcm-viewer-resources.c				\
+	gcm-viewer-resources.h				\
+	$(NULL)
+
+EXTRA_DIST =						\
+	gcm-picker.gresource.xml			\
+	gcm-viewer.gresource.xml
+
 clean-local:
 	rm -f *~
 
diff --git a/src/gcm-picker.c b/src/gcm-picker.c
index 1f5f453..1926118 100644
--- a/src/gcm-picker.c
+++ b/src/gcm-picker.c
@@ -674,9 +674,9 @@ gcm_picker_startup_cb (GApplication *application, gpointer user_data)
 
 	/* get UI */
 	builder = gtk_builder_new ();
-	retval = gtk_builder_add_from_file (builder,
-					    GCM_DATA "/gcm-picker.ui",
-					    &error);
+	retval = gtk_builder_add_from_resource (builder,
+						"/org/gnome/color-manager/gcm-picker.ui",
+						&error);
 	if (retval == 0) {
 		g_warning ("failed to load ui: %s", error->message);
 		g_error_free (error);
diff --git a/src/gcm-viewer.c b/src/gcm-viewer.c
index e131172..5ab9353 100644
--- a/src/gcm-viewer.c
+++ b/src/gcm-viewer.c
@@ -1444,9 +1444,9 @@ gcm_viewer_startup_cb (GApplication *application, GcmViewerPrivate *viewer)
 
 	/* get UI */
 	viewer->builder = gtk_builder_new ();
-	retval = gtk_builder_add_from_file (viewer->builder,
-					    GCM_DATA "/gcm-viewer.ui",
-					    &error);
+	retval = gtk_builder_add_from_resource (viewer->builder,
+						"/org/gnome/color-manager/gcm-viewer.ui",
+						&error);
 	if (retval == 0) {
 		g_warning ("failed to load ui: %s",
 			   error->message);



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