diff options
author | Cosimo Cecchi <cosimoc@gnome.org> | 2013-01-04 17:05:48 +0100 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2013-01-07 10:57:17 +0100 |
commit | ce1e2eddd86761ff40c2ac6b3719104605c1046d (patch) | |
tree | 78fc3a5099d54b14bff98e7145960f81c8c38373 | |
parent | 82f8c136c0b36abccb41feb12e6c4042d031c9f9 (diff) | |
download | gnome-control-center-ce1e2eddd86761ff40c2ac6b3719104605c1046d.tar.gz |
common: use a GResource for GtkBuilder UI definition
https://bugzilla.gnome.org/show_bug.cgi?id=691132
-rw-r--r-- | panels/common/Makefile.am | 22 | ||||
-rw-r--r-- | panels/common/cc-language-chooser.c | 11 | ||||
-rw-r--r-- | panels/common/common.gresource.xml | 6 |
3 files changed, 25 insertions, 14 deletions
diff --git a/panels/common/Makefile.am b/panels/common/Makefile.am index b854428d5..5ee6b6d8a 100644 --- a/panels/common/Makefile.am +++ b/panels/common/Makefile.am @@ -7,13 +7,15 @@ noinst_PROGRAMS = list-languages AM_CPPFLAGS = \ $(PANEL_CFLAGS) \ $(LIBLANGUAGE_CFLAGS) \ - -DDATADIR=\""$(datadir)"\" \ - -DUIDIR=\""$(pkgdatadir)/ui"\" \ -DLIBLOCALEDIR=\""$(prefix)/lib/locale"\" \ - -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \ - -DUM_PIXMAP_DIR=\""$(pkgdatadir)/pixmaps"\" + -DGNOMELOCALEDIR=\""$(datadir)/locale"\" + +BUILT_SOURCES = \ + cc-common-resources.c \ + cc-common-resources.h liblanguage_la_SOURCES = \ + $(BUILT_SOURCES) \ gdm-languages.h \ gdm-languages.c \ locarchive.h \ @@ -29,14 +31,16 @@ list_languages_SOURCES = list-languages.c list_languages_LDADD = liblanguage.la list_languages_CFLAGS = $(LIBLANGUAGE_CFLAGS) -uidir = $(pkgdatadir)/ui - -dist_ui_DATA = \ - language-chooser.ui +resource_files = $(shell glib-compile-resources --generate-dependencies $(srcdir)/common.gresource.xml) +cc-common-resources.c: common.gresource.xml $(resource_files) + $(AM_V_GEN) glib-compile-resources --target=$@ --sourcedir=$(srcdir) --generate-source --c-name cc_common $< +cc-common-resources.h: common.gresource.xml $(resource_files) + $(AM_V_GEN) glib-compile-resources --target=$@ --sourcedir=$(srcdir) --generate-header --c-name cc_common $< rulesdir = $(datadir)/polkit-1/rules.d/ rules_DATA = gnome-control-center.rules -EXTRA_DIST = $(rules_DATA) +EXTRA_DIST = $(rules_DATA) $(resource_files) +CLEANFILES = $(BUILT_SOURCES) -include $(top_srcdir)/git.mk diff --git a/panels/common/cc-language-chooser.c b/panels/common/cc-language-chooser.c index 763c4cbf3..76adbe8c7 100644 --- a/panels/common/cc-language-chooser.c +++ b/panels/common/cc-language-chooser.c @@ -33,6 +33,7 @@ #include "cc-language-chooser.h" #include "cc-common-language.h" +#include "cc-common-resources.h" #include "gdm-languages.h" gchar * @@ -263,7 +264,6 @@ GtkWidget * cc_language_chooser_new (GtkWidget *parent, gboolean regions) { GtkBuilder *builder; - const char *filename; GError *error = NULL; GtkWidget *chooser; GtkWidget *list; @@ -275,11 +275,12 @@ cc_language_chooser_new (GtkWidget *parent, gboolean regions) GtkTreeModel *model; GtkTreeModel *filter_model; + g_resources_register (cc_common_get_resource ()); + builder = gtk_builder_new (); - filename = UIDIR "/language-chooser.ui"; - if (!g_file_test (filename, G_FILE_TEST_EXISTS)) - filename = "data/language-chooser.ui"; - if (!gtk_builder_add_from_file (builder, filename, &error)) { + if (!gtk_builder_add_from_resource (builder, + "/org/gnome/control-center/common/language-chooser.ui", + &error)) { g_warning ("failed to load language chooser: %s", error->message); g_error_free (error); return NULL; diff --git a/panels/common/common.gresource.xml b/panels/common/common.gresource.xml new file mode 100644 index 000000000..da6c8182d --- /dev/null +++ b/panels/common/common.gresource.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<gresources> + <gresource prefix="/org/gnome/control-center/common"> + <file preprocess="xml-stripblanks">language-chooser.ui</file> + </gresource> +</gresources> |