From 3b98a73b69c36c9cc137f0dff035816f43e6a262 Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Fri, 4 Jan 2013 15:12:45 +0100 Subject: [PATCH] keyboard: use a GResource for GtkBuilder UI definition https://bugzilla.gnome.org/show_bug.cgi?id=691132 --- panels/keyboard/Makefile.am | 25 +++++++++++++++---------- panels/keyboard/cc-keyboard-panel.c | 8 ++++++-- panels/keyboard/keyboard.gresource.xml | 6 ++++++ 3 files changed, 27 insertions(+), 12 deletions(-) create mode 100644 panels/keyboard/keyboard.gresource.xml diff --git a/panels/keyboard/Makefile.am b/panels/keyboard/Makefile.am index d863d0266..667fe98b3 100644 --- a/panels/keyboard/Makefile.am +++ b/panels/keyboard/Makefile.am @@ -3,7 +3,12 @@ cappletname = keyboard noinst_LTLIBRARIES = libkeyboard.la +BUILT_SOURCES = \ + cc-keyboard-resources.c \ + cc-keyboard-resources.h + libkeyboard_la_SOURCES = \ + $(BUILT_SOURCES) \ cc-keyboard-panel.c \ cc-keyboard-panel.h \ cc-keyboard-item.c \ @@ -20,10 +25,13 @@ libkeyboard_la_SOURCES = \ libkeyboard_la_CFLAGS = $(PANEL_CFLAGS) $(KEYBOARD_PANEL_CFLAGS) -I$(top_srcdir)/panels/common/ libkeyboard_la_LIBADD = $(PANEL_LIBS) $(KEYBOARD_PANEL_LIBS) -@INTLTOOL_DESKTOP_RULE@ +resource_files = $(shell glib-compile-resources --generate-dependencies $(srcdir)/keyboard.gresource.xml) +cc-keyboard-resources.c: keyboard.gresource.xml $(resource_files) + $(AM_V_GEN) glib-compile-resources --target=$@ --sourcedir=$(srcdir) --generate-source --c-name cc_keyboard $< +cc-keyboard-resources.h: keyboard.gresource.xml $(resource_files) + $(AM_V_GEN) glib-compile-resources --target=$@ --sourcedir=$(srcdir) --generate-header --c-name cc_keyboard $< -uidir = $(pkgdatadir)/ui -ui_DATA = gnome-keyboard-panel.ui +@INTLTOOL_DESKTOP_RULE@ desktopdir = $(datadir)/applications Desktop_in_files = gnome-keyboard-panel.desktop.in @@ -45,16 +53,13 @@ pkgconfigdir = $(datadir)/pkgconfig pkgconfig_DATA = gnome-keybindings.pc INCLUDES = \ - -DGNOMELOCALEDIR="\"$(datadir)/locale\"" \ - -DGNOMECC_DATA_DIR="\"$(pkgdatadir)\"" \ - -DGNOMECC_UI_DIR="\"$(uidir)\"" \ - -DGNOMECC_KEYBINDINGS_DIR="\"$(pkgdatadir)/keybindings\"" + -DGNOMELOCALEDIR="\"$(datadir)/locale\"" CLEANFILES = \ $(Desktop_in_files) \ $(desktop_DATA) \ - $(xml_DATA) -EXTRA_DIST = $(ui_DATA) $(xml_in_files) gnome-keybindings.pc.in - + $(xml_DATA) \ + $(BUILT_SOURCES) +EXTRA_DIST = $(xml_in_files) gnome-keybindings.pc.in $(resource_files) keyboard.gresource.xml -include $(top_srcdir)/git.mk diff --git a/panels/keyboard/cc-keyboard-panel.c b/panels/keyboard/cc-keyboard-panel.c index 4f989d04e..c2bbdc268 100644 --- a/panels/keyboard/cc-keyboard-panel.c +++ b/panels/keyboard/cc-keyboard-panel.c @@ -20,6 +20,8 @@ */ #include "cc-keyboard-panel.h" +#include "cc-keyboard-resources.h" + #include "keyboard-general.h" #include "keyboard-shortcuts.h" @@ -168,15 +170,17 @@ cc_keyboard_panel_class_init (CcKeyboardPanelClass *klass) static void cc_keyboard_panel_init (CcKeyboardPanel *self) { - const gchar *uifile = GNOMECC_UI_DIR "/gnome-keyboard-panel.ui"; CcKeyboardPanelPrivate *priv; GError *error = NULL; priv = self->priv = KEYBOARD_PANEL_PRIVATE (self); + g_resources_register (cc_keyboard_get_resource ()); priv->builder = gtk_builder_new (); - if (gtk_builder_add_from_file (priv->builder, uifile, &error) == 0) + if (gtk_builder_add_from_resource (priv->builder, + "/org/gnome/control-center/keyboard/gnome-keyboard-panel.ui", + &error) == 0) { g_warning ("Could not load UI: %s", error->message); g_clear_error (&error); diff --git a/panels/keyboard/keyboard.gresource.xml b/panels/keyboard/keyboard.gresource.xml new file mode 100644 index 000000000..c52ecc984 --- /dev/null +++ b/panels/keyboard/keyboard.gresource.xml @@ -0,0 +1,6 @@ + + + + gnome-keyboard-panel.ui + +