[gnome-control-center] datetime: use a GResource for GtkBuilder UI definition and icons
- From: Bastien Nocera <hadess src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] datetime: use a GResource for GtkBuilder UI definition and icons
- Date: Mon, 7 Jan 2013 10:04:59 +0000 (UTC)
commit d2ce735f12f572a78f5eb7f4ae915e591b8c1819
Author: Cosimo Cecchi <cosimoc gnome org>
Date: Fri Jan 4 13:45:05 2013 +0100
datetime: use a GResource for GtkBuilder UI definition and icons
https://bugzilla.gnome.org/show_bug.cgi?id=691132
panels/datetime/Makefile.am | 111 +++++---------------------------
panels/datetime/cc-datetime-panel.c | 8 ++-
panels/datetime/cc-timezone-map.c | 21 +++---
panels/datetime/datetime.gresource.xml | 90 ++++++++++++++++++++++++++
4 files changed, 123 insertions(+), 107 deletions(-)
---
diff --git a/panels/datetime/Makefile.am b/panels/datetime/Makefile.am
index 19fed7c..d9b9821 100644
--- a/panels/datetime/Makefile.am
+++ b/panels/datetime/Makefile.am
@@ -16,94 +16,6 @@ dist_icons256_DATA = icons/256x256/preferences-system-time.png
iconsscalabledir = $(datadir)/icons/hicolor/scalable/apps
dist_iconsscalable_DATA = icons/scalable/preferences-system-time.svg
-uidir = $(pkgdatadir)/ui/datetime
-dist_ui_DATA = \
- datetime.ui \
- data/bg.png \
- data/bg_dim.png \
- data/cc.png \
- data/pin.png \
- data/timezone_0.png \
- data/timezone_0_dim.png \
- data/timezone_-10.png \
- data/timezone_-10_dim.png \
- data/timezone_10.png \
- data/timezone_10_dim.png \
- data/timezone_10.5.png \
- data/timezone_10.5_dim.png \
- data/timezone_-1.png \
- data/timezone_-1_dim.png \
- data/timezone_1.png \
- data/timezone_1_dim.png \
- data/timezone_-11.png \
- data/timezone_-11_dim.png \
- data/timezone_11.png \
- data/timezone_11_dim.png \
- data/timezone_11.5.png \
- data/timezone_11.5_dim.png \
- data/timezone_12.png \
- data/timezone_12_dim.png \
- data/timezone_12.75.png \
- data/timezone_12.75_dim.png \
- data/timezone_13.png \
- data/timezone_13_dim.png \
- data/timezone_14.png \
- data/timezone_14_dim.png \
- data/timezone_-2.png \
- data/timezone_-2_dim.png \
- data/timezone_2.png \
- data/timezone_2_dim.png \
- data/timezone_-3.png \
- data/timezone_-3_dim.png \
- data/timezone_3.png \
- data/timezone_3_dim.png \
- data/timezone_-3.5.png \
- data/timezone_-3.5_dim.png \
- data/timezone_3.5.png \
- data/timezone_3.5_dim.png \
- data/timezone_-4.png \
- data/timezone_-4_dim.png \
- data/timezone_4.png \
- data/timezone_4_dim.png \
- data/timezone_-4.5.png \
- data/timezone_-4.5_dim.png \
- data/timezone_4.5.png \
- data/timezone_4.5_dim.png \
- data/timezone_-5.png \
- data/timezone_-5_dim.png \
- data/timezone_5.png \
- data/timezone_5_dim.png \
- data/timezone_-5.5.png \
- data/timezone_-5.5_dim.png \
- data/timezone_5.5.png \
- data/timezone_5.5_dim.png \
- data/timezone_5.75.png \
- data/timezone_5.75_dim.png \
- data/timezone_-6.png \
- data/timezone_-6_dim.png \
- data/timezone_6.png \
- data/timezone_6_dim.png \
- data/timezone_6.5.png \
- data/timezone_6.5_dim.png \
- data/timezone_-7.png \
- data/timezone_-7_dim.png \
- data/timezone_7.png \
- data/timezone_7_dim.png \
- data/timezone_-8.png \
- data/timezone_-8_dim.png \
- data/timezone_8.png \
- data/timezone_8_dim.png \
- data/timezone_8.75.png \
- data/timezone_8.75_dim.png \
- data/timezone_-9.png \
- data/timezone_-9_dim.png \
- data/timezone_9.png \
- data/timezone_9_dim.png \
- data/timezone_-9.5.png \
- data/timezone_-9.5_dim.png \
- data/timezone_9.5.png \
- data/timezone_9.5_dim.png
-
tzdatadir = $(pkgdatadir)/datetime
dist_tzdata_DATA = backward
@@ -112,7 +24,6 @@ AM_CPPFLAGS = \
$(DATETIME_PANEL_CFLAGS) \
-DGNOMELOCALEDIR="\"$(datadir)/locale\"" \
-DGNOMECC_DATA_DIR="\"$(pkgdatadir)\"" \
- -DDATADIR="\"$(uidir)\"" \
$(NULL)
noinst_PROGRAMS = test-timezone-gfx test-endianess test-timezone
@@ -157,7 +68,20 @@ timedated.h: Makefile.am timedated1-interface.xml
--generate-c-code timedated \
$(srcdir)/timedated1-interface.xml
+
+resource_files = $(shell glib-compile-resources --generate-dependencies $(srcdir)/datetime.gresource.xml)
+cc-datetime-resources.c: datetime.gresource.xml $(resource_files)
+ $(AM_V_GEN) glib-compile-resources --target=$@ --sourcedir=$(srcdir) --generate-source --c-name cc_datetime $<
+cc-datetime-resources.h: datetime.gresource.xml $(resource_files)
+ $(AM_V_GEN) glib-compile-resources --target=$@ --sourcedir=$(srcdir) --generate-header --c-name cc_datetime $<
+
+BUILT_SOURCES = \
+ $(dbus_built_sources) \
+ cc-datetime-resources.h \
+ cc-datetime-resources.c
+
libdate_time_la_SOURCES = \
+ $(BUILT_SOURCES) \
cc-datetime-panel.c \
cc-datetime-panel.h \
cc-timezone-map.c \
@@ -165,7 +89,6 @@ libdate_time_la_SOURCES = \
date-endian.c \
date-endian.h \
tz.c tz.h \
- $(dbus_built_sources) \
$(NULL)
libdate_time_la_LIBADD = $(PANEL_LIBS) $(DATETIME_PANEL_LIBS)
@@ -186,13 +109,13 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
CLEANFILES = \
$(desktop_in_files) \
$(desktop_DATA) \
- $(dbus_built_sources) \
+ $(BUILT_SOURCES) \
org.gnome.controlcenter.datetime.policy
EXTRA_DIST = \
timedated1-interface.xml \
- $(polkit_in_files)
-
-BUILT_SOURCES = $(dbus_built_sources)
+ $(polkit_in_files) \
+ $(resource_files) \
+ datetime.gresource.xml
-include $(top_srcdir)/git.mk
diff --git a/panels/datetime/cc-datetime-panel.c b/panels/datetime/cc-datetime-panel.c
index 6f8ef09..84fe007 100644
--- a/panels/datetime/cc-datetime-panel.c
+++ b/panels/datetime/cc-datetime-panel.c
@@ -21,6 +21,7 @@
#include "config.h"
#include "cc-datetime-panel.h"
+#include "cc-datetime-resources.h"
#include <langinfo.h>
#include <sys/time.h>
@@ -959,6 +960,7 @@ cc_date_time_panel_init (CcDateTimePanel *self)
GError *error;
priv = self->priv = DATE_TIME_PANEL_PRIVATE (self);
+ g_resources_register (cc_datetime_get_resource ());
priv->cancellable = g_cancellable_new ();
error = NULL;
@@ -974,9 +976,9 @@ cc_date_time_panel_init (CcDateTimePanel *self)
}
priv->builder = gtk_builder_new ();
-
- ret = gtk_builder_add_objects_from_file (priv->builder, DATADIR"/datetime.ui",
- objects, &err);
+ ret = gtk_builder_add_objects_from_resource (priv->builder,
+ "/org/gnome/control-center/datetime/datetime.ui",
+ objects, &err);
if (ret == 0)
{
diff --git a/panels/datetime/cc-timezone-map.c b/panels/datetime/cc-timezone-map.c
index 7ed830e..3e127b0 100644
--- a/panels/datetime/cc-timezone-map.c
+++ b/panels/datetime/cc-timezone-map.c
@@ -35,6 +35,7 @@ G_DEFINE_TYPE (CcTimezoneMap, cc_timezone_map, GTK_TYPE_WIDGET)
#define PIN_HOT_POINT_X 8
#define PIN_HOT_POINT_Y 14
+#define DATETIME_RESOURCE_PATH "/org/gnome/control-center/datetime"
typedef struct
{
@@ -343,14 +344,14 @@ cc_timezone_map_draw (GtkWidget *widget,
/* paint hilight */
if (gtk_widget_is_sensitive (widget))
- fmt = DATADIR "/timezone_%s.png";
+ fmt = DATETIME_RESOURCE_PATH "/timezone_%s.png";
else
- fmt = DATADIR "/timezone_%s_dim.png";
+ fmt = DATETIME_RESOURCE_PATH "/timezone_%s_dim.png";
file = g_strdup_printf (fmt,
g_ascii_formatd (buf, sizeof (buf),
"%g", priv->selected_offset));
- orig_hilight = gdk_pixbuf_new_from_file (file, &err);
+ orig_hilight = gdk_pixbuf_new_from_resource (file, &err);
g_free (file);
file = NULL;
@@ -374,7 +375,7 @@ cc_timezone_map_draw (GtkWidget *widget,
}
/* load pin icon */
- pin = gdk_pixbuf_new_from_file (DATADIR "/pin.png", &err);
+ pin = gdk_pixbuf_new_from_resource (DATETIME_RESOURCE_PATH "/pin.png", &err);
if (err)
{
@@ -584,8 +585,8 @@ cc_timezone_map_init (CcTimezoneMap *self)
priv = self->priv = TIMEZONE_MAP_PRIVATE (self);
- priv->orig_background = gdk_pixbuf_new_from_file (DATADIR "/bg.png",
- &err);
+ priv->orig_background = gdk_pixbuf_new_from_resource (DATETIME_RESOURCE_PATH "/bg.png",
+ &err);
if (!priv->orig_background)
{
@@ -594,8 +595,8 @@ cc_timezone_map_init (CcTimezoneMap *self)
g_clear_error (&err);
}
- priv->orig_background_dim = gdk_pixbuf_new_from_file (DATADIR "/bg_dim.png",
- &err);
+ priv->orig_background_dim = gdk_pixbuf_new_from_resource (DATETIME_RESOURCE_PATH "/bg_dim.png",
+ &err);
if (!priv->orig_background_dim)
{
@@ -604,8 +605,8 @@ cc_timezone_map_init (CcTimezoneMap *self)
g_clear_error (&err);
}
- priv->orig_color_map = gdk_pixbuf_new_from_file (DATADIR "/cc.png",
- &err);
+ priv->orig_color_map = gdk_pixbuf_new_from_resource (DATETIME_RESOURCE_PATH "/cc.png",
+ &err);
if (!priv->orig_color_map)
{
g_warning ("Could not load background image: %s",
diff --git a/panels/datetime/datetime.gresource.xml b/panels/datetime/datetime.gresource.xml
new file mode 100644
index 0000000..9b55358
--- /dev/null
+++ b/panels/datetime/datetime.gresource.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gresources>
+ <gresource prefix="/org/gnome/control-center/datetime">
+ <file preprocess="xml-stripblanks">datetime.ui</file>
+ <file alias="bg.png">data/bg.png</file>
+ <file alias="bg_dim.png">data/bg_dim.png</file>
+ <file alias="cc.png">data/cc.png</file>
+ <file alias="pin.png">data/pin.png</file>
+ <file alias="timezone_0.png">data/timezone_0.png</file>
+ <file alias="timezone_0_dim.png">data/timezone_0_dim.png</file>
+ <file alias="timezone_-10.png">data/timezone_-10.png</file>
+ <file alias="timezone_-10_dim.png">data/timezone_-10_dim.png</file>
+ <file alias="timezone_10.png">data/timezone_10.png</file>
+ <file alias="timezone_10_dim.png">data/timezone_10_dim.png</file>
+ <file alias="timezone_10.5.png">data/timezone_10.5.png</file>
+ <file alias="timezone_10.5_dim.png">data/timezone_10.5_dim.png</file>
+ <file alias="timezone_-1.png">data/timezone_-1.png</file>
+ <file alias="timezone_-1_dim.png">data/timezone_-1_dim.png</file>
+ <file alias="timezone_1.png">data/timezone_1.png</file>
+ <file alias="timezone_1_dim.png">data/timezone_1_dim.png</file>
+ <file alias="timezone_-11.png">data/timezone_-11.png</file>
+ <file alias="timezone_-11_dim.png">data/timezone_-11_dim.png</file>
+ <file alias="timezone_11.png">data/timezone_11.png</file>
+ <file alias="timezone_11_dim.png">data/timezone_11_dim.png</file>
+ <file alias="timezone_11.5.png">data/timezone_11.5.png</file>
+ <file alias="timezone_11.5_dim.png">data/timezone_11.5_dim.png</file>
+ <file alias="timezone_12.png">data/timezone_12.png</file>
+ <file alias="timezone_12_dim.png">data/timezone_12_dim.png</file>
+ <file alias="timezone_12.75.png">data/timezone_12.75.png</file>
+ <file alias="timezone_12.75_dim.png">data/timezone_12.75_dim.png</file>
+ <file alias="timezone_13.png">data/timezone_13.png</file>
+ <file alias="timezone_13_dim.png">data/timezone_13_dim.png</file>
+ <file alias="timezone_14.png">data/timezone_14.png</file>
+ <file alias="timezone_14_dim.png">data/timezone_14_dim.png</file>
+ <file alias="timezone_-2.png">data/timezone_-2.png</file>
+ <file alias="timezone_-2_dim.png">data/timezone_-2_dim.png</file>
+ <file alias="timezone_2.png">data/timezone_2.png</file>
+ <file alias="timezone_2_dim.png">data/timezone_2_dim.png</file>
+ <file alias="timezone_-3.png">data/timezone_-3.png</file>
+ <file alias="timezone_-3_dim.png">data/timezone_-3_dim.png</file>
+ <file alias="timezone_3.png">data/timezone_3.png</file>
+ <file alias="timezone_3_dim.png">data/timezone_3_dim.png</file>
+ <file alias="timezone_-3.5.png">data/timezone_-3.5.png</file>
+ <file alias="timezone_-3.5_dim.png">data/timezone_-3.5_dim.png</file>
+ <file alias="timezone_3.5.png">data/timezone_3.5.png</file>
+ <file alias="timezone_3.5_dim.png">data/timezone_3.5_dim.png</file>
+ <file alias="timezone_-4.png">data/timezone_-4.png</file>
+ <file alias="timezone_-4_dim.png">data/timezone_-4_dim.png</file>
+ <file alias="timezone_4.png">data/timezone_4.png</file>
+ <file alias="timezone_4_dim.png">data/timezone_4_dim.png</file>
+ <file alias="timezone_-4.5.png">data/timezone_-4.5.png</file>
+ <file alias="timezone_-4.5_dim.png">data/timezone_-4.5_dim.png</file>
+ <file alias="timezone_4.5.png">data/timezone_4.5.png</file>
+ <file alias="timezone_4.5_dim.png">data/timezone_4.5_dim.png</file>
+ <file alias="timezone_-5.png">data/timezone_-5.png</file>
+ <file alias="timezone_-5_dim.png">data/timezone_-5_dim.png</file>
+ <file alias="timezone_5.png">data/timezone_5.png</file>
+ <file alias="timezone_5_dim.png">data/timezone_5_dim.png</file>
+ <file alias="timezone_-5.5.png">data/timezone_-5.5.png</file>
+ <file alias="timezone_-5.5_dim.png">data/timezone_-5.5_dim.png</file>
+ <file alias="timezone_5.5.png">data/timezone_5.5.png</file>
+ <file alias="timezone_5.5_dim.png">data/timezone_5.5_dim.png</file>
+ <file alias="timezone_5.75.png">data/timezone_5.75.png</file>
+ <file alias="timezone_5.75_dim.png">data/timezone_5.75_dim.png</file>
+ <file alias="timezone_-6.png">data/timezone_-6.png</file>
+ <file alias="timezone_-6_dim.png">data/timezone_-6_dim.png</file>
+ <file alias="timezone_6.png">data/timezone_6.png</file>
+ <file alias="timezone_6_dim.png">data/timezone_6_dim.png</file>
+ <file alias="timezone_6.5.png">data/timezone_6.5.png</file>
+ <file alias="timezone_6.5_dim.png">data/timezone_6.5_dim.png</file>
+ <file alias="timezone_-7.png">data/timezone_-7.png</file>
+ <file alias="timezone_-7_dim.png">data/timezone_-7_dim.png</file>
+ <file alias="timezone_7.png">data/timezone_7.png</file>
+ <file alias="timezone_7_dim.png">data/timezone_7_dim.png</file>
+ <file alias="timezone_-8.png">data/timezone_-8.png</file>
+ <file alias="timezone_-8_dim.png">data/timezone_-8_dim.png</file>
+ <file alias="timezone_8.png">data/timezone_8.png</file>
+ <file alias="timezone_8_dim.png">data/timezone_8_dim.png</file>
+ <file alias="timezone_8.75.png">data/timezone_8.75.png</file>
+ <file alias="timezone_8.75_dim.png">data/timezone_8.75_dim.png</file>
+ <file alias="timezone_-9.png">data/timezone_-9.png</file>
+ <file alias="timezone_-9_dim.png">data/timezone_-9_dim.png</file>
+ <file alias="timezone_9.png">data/timezone_9.png</file>
+ <file alias="timezone_9_dim.png">data/timezone_9_dim.png</file>
+ <file alias="timezone_-9.5.png">data/timezone_-9.5.png</file>
+ <file alias="timezone_-9.5_dim.png">data/timezone_-9.5_dim.png</file>
+ <file alias="timezone_9.5.png">data/timezone_9.5.png</file>
+ <file alias="timezone_9.5_dim.png">data/timezone_9.5_dim.png</file>
+ </gresource>
+</gresources>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]