[gnome-control-center/wip/datetime-panel: 2/7] datetime: add a GtkBuilder file to define the user interface
- From: Thomas Wood <thos src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/wip/datetime-panel: 2/7] datetime: add a GtkBuilder file to define the user interface
- Date: Wed, 9 Jun 2010 17:43:16 +0000 (UTC)
commit ab4ed0c79304ba76291288920ff68530a1e3dfb4
Author: Thomas Wood <thomas wood intel com>
Date: Tue May 25 16:31:48 2010 +0100
datetime: add a GtkBuilder file to define the user interface
panels/datetime/Makefile.am | 6 +-
panels/datetime/cc-datetime-panel.c | 37 +++++-
panels/datetime/datetime.ui | 247 +++++++++++++++++++++++++++++++++++
3 files changed, 283 insertions(+), 7 deletions(-)
---
diff --git a/panels/datetime/Makefile.am b/panels/datetime/Makefile.am
index 49af8fb..63049d9 100644
--- a/panels/datetime/Makefile.am
+++ b/panels/datetime/Makefile.am
@@ -1,5 +1,7 @@
-uidir = $(datadir)/ui
-ui_DATA = data/bg.png \
+uidir = $(datadir)/ui/datetime
+ui_DATA = \
+ datetime.ui \
+ data/bg.png \
data/cc.png \
data/timezone_0.png \
data/timezone_-10.png \
diff --git a/panels/datetime/cc-datetime-panel.c b/panels/datetime/cc-datetime-panel.c
index 74e3eb3..356a153 100644
--- a/panels/datetime/cc-datetime-panel.c
+++ b/panels/datetime/cc-datetime-panel.c
@@ -30,7 +30,7 @@ G_DEFINE_DYNAMIC_TYPE (CcDateTimePanel, cc_date_time_panel, CC_TYPE_PANEL)
struct _CcDateTimePanelPrivate
{
- gpointer dummy;
+ GtkBuilder *builder;
};
@@ -63,6 +63,13 @@ cc_date_time_panel_set_property (GObject *object,
static void
cc_date_time_panel_dispose (GObject *object)
{
+ CcDateTimePanelPrivate *priv = CC_DATE_TIME_PANEL (object)->priv;
+ if (priv->builder)
+ {
+ g_object_unref (priv->builder);
+ priv->builder = NULL;
+ }
+
G_OBJECT_CLASS (cc_date_time_panel_parent_class)->dispose (object);
}
@@ -93,13 +100,33 @@ cc_date_time_panel_class_finalize (CcDateTimePanelClass *klass)
static void
cc_date_time_panel_init (CcDateTimePanel *self)
{
- GtkWidget *label;
+ CcDateTimePanelPrivate *priv;
+ gchar *objects[] = { "datetime-panel", NULL };
+ GtkWidget *widget;
+ GError *err = NULL;
+
+ priv = self->priv = DATE_TIME_PANEL_PRIVATE (self);
+
+ priv->builder = gtk_builder_new ();
+
+ gtk_builder_add_objects_from_file (priv->builder, DATADIR"/datetime.ui",
+ objects, &err);
+
+ if (err)
+ {
+ g_warning ("Could not load ui: %s", err->message);
+ g_error_free (err);
+ return;
+ }
- self->priv = DATE_TIME_PANEL_PRIVATE (self);
+ widget = (GtkWidget *) cc_timezone_map_new ();
- label = cc_timezone_map_new ();
+ gtk_container_add (GTK_CONTAINER (gtk_builder_get_object (priv->builder,
+ "aspectmap")),
+ widget);
- gtk_container_add (GTK_CONTAINER (self), label);
+ gtk_container_add (GTK_CONTAINER (self),
+ GTK_WIDGET (gtk_builder_get_object (priv->builder, "datetime-panel")));
}
void
diff --git a/panels/datetime/datetime.ui b/panels/datetime/datetime.ui
new file mode 100644
index 0000000..444b828
--- /dev/null
+++ b/panels/datetime/datetime.ui
@@ -0,0 +1,247 @@
+<?xml version="1.0"?>
+<interface>
+ <requires lib="gtk+" version="2.16"/>
+ <!-- interface-naming-policy project-wide -->
+ <object class="GtkWindow" id="window1">
+ <child>
+ <object class="GtkVBox" id="datetime-panel">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkHBox" id="vbox">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkAspectFrame" id="aspectmap">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="vbox2">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkFrame" id="frame1">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment1">
+ <property name="visible">True</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="vbox3">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkHBox" id="hbox3">
+ <property name="visible">True</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Current Location:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes"><b>London</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolledwindow1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">automatic</property>
+ <property name="vscrollbar_policy">automatic</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkTreeView" id="treeview1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Locations</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="frame2">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment2">
+ <property name="visible">True</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="vbox4">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkCheckButton" id="checkbutton1">
+ <property name="label" translatable="yes">Keep date and time updated automatically</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCalendar" id="calendar1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="year">2010</property>
+ <property name="month">4</property>
+ <property name="day">25</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox2">
+ <property name="visible">True</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkSpinButton" id="spinbutton1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">•</property>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="spinbutton2">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">•</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="spinbutton3">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">•</property>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Date and Time</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHButtonBox" id="hbuttonbox1">
+ <property name="visible">True</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="button1">
+ <property name="label">gtk-apply</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]