r1379 - in trunk/src/target/OM-2007/applications/openmoko-today: . src
dodji at sita.openmoko.org
dodji at sita.openmoko.org
Thu Mar 15 16:38:49 CET 2007
Author: dodji
Date: 2007-03-15 16:38:45 +0100 (Thu, 15 Mar 2007)
New Revision: 1379
Modified:
trunk/src/target/OM-2007/applications/openmoko-today/ChangeLog
trunk/src/target/OM-2007/applications/openmoko-today/src/today-events-area.c
trunk/src/target/OM-2007/applications/openmoko-today/src/today-events-area.h
Log:
Properly set widget name to get proper styling
* applications/openmoko-today/src/today-events-area.c:
today_events_area_get_nb_pages(): new function
When events get added, compute the widget name accordingly.
The widget name depends on wheter there are multiple event
pages in the widget or not. Based on that name, the widget
will use an appropriate post-it widget.
Modified: trunk/src/target/OM-2007/applications/openmoko-today/ChangeLog
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-today/ChangeLog 2007-03-15 15:14:16 UTC (rev 1378)
+++ trunk/src/target/OM-2007/applications/openmoko-today/ChangeLog 2007-03-15 15:38:45 UTC (rev 1379)
@@ -1,3 +1,12 @@
+Thu, 15 Mar 2007 15:47:58 +0100 Dodji Seketeli
+
+ * applications/openmoko-today/src/today-events-area.c:
+ today_events_area_get_nb_pages(): new function
+ When events get added, compute the widget name accordingly.
+ The widget name depends on wheter there are multiple event
+ pages in the widget or not. Based on that name, the widget
+ will use an appropriate post-it widget.
+
Thu, 15 Mar 2007 13:43:47 +0100 Dodji Seketeli
* src/today-events-area.c: don't forget to emit the signal
Modified: trunk/src/target/OM-2007/applications/openmoko-today/src/today-events-area.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-today/src/today-events-area.c 2007-03-15 15:14:16 UTC (rev 1378)
+++ trunk/src/target/OM-2007/applications/openmoko-today/src/today-events-area.c 2007-03-15 15:38:45 UTC (rev 1379)
@@ -77,6 +77,8 @@
static gchar* icaltime_to_pretty_string (const icaltimetype *timetype) ;
static void event_selected_signal (TodayEventsArea *a_this,
guint a_index) ;
+static void events_added_signal (TodayEventsArea *a_this,
+ GList *a_index) ;
G_DEFINE_TYPE (TodayEventsArea, today_events_area, GTK_TYPE_TABLE)
@@ -90,6 +92,7 @@
g_type_class_add_private (object_class, sizeof (TodayEventsAreaPrivate));
a_class->event_selected = event_selected_signal ;
+ a_class->events_added = events_added_signal ;
signals[EVENTS_ADDED_SIGNAL] =
g_signal_new ("event-added",
@@ -215,6 +218,30 @@
select_event (a_this, elem) ;
}
+static void
+events_added_signal (TodayEventsArea *a_this,
+ GList *a_events)
+{
+ if (a_events) {/*keep compiler happy*/}
+
+
+ if (today_events_area_get_nb_pages (a_this) > 1)
+ {
+ gtk_widget_set_name (a_this->priv->left_event_box,
+ "today-events-area-postit-multi");
+ }
+ else
+ {
+ gtk_widget_set_name (a_this->priv->left_event_box,
+ "today-events-area-postit-single");
+ }
+ /*
+ * reload the styles to render the left hand side correctly
+ * so that it matches the new widget name
+ */
+ gtk_widget_reset_rc_styles (GTK_WIDGET (a_this)) ;
+}
+
/**
* e_cal_component_list_free:
* @list: the list ECalComooment to free
@@ -301,11 +328,8 @@
a_this->priv->left_event_box = gtk_event_box_new ();
- if (a_this->priv->max_visible_events > 0
- && (a_this->priv->nb_events / a_this->priv->max_visible_events) > 1)
- gtk_widget_set_name (a_this->priv->left_event_box, "today-events-area-postit-multi");
- else
- gtk_widget_set_name (a_this->priv->left_event_box, "today-events-area-postit-single");
+ gtk_widget_set_name (a_this->priv->left_event_box,
+ "today-events-area-postit-single");
// FIXME: get this size from the style... somehow
gtk_widget_set_size_request (a_this->priv->left_event_box, 51, 131);
@@ -326,9 +350,9 @@
FALSE, FALSE, 0) ;
gtk_table_attach (GTK_TABLE (a_this),
- a_this->priv->left,
- 0, 1, 0, 1,
- GTK_FILL, GTK_FILL, 0, 0) ;
+ a_this->priv->left,
+ 0, 1, 0, 1,
+ GTK_FILL, GTK_FILL, 0, 0) ;
gtk_widget_show_all (a_this->priv->left) ;
}
@@ -689,6 +713,28 @@
return a_this->priv->nb_events ;
}
+int
+today_events_area_get_nb_pages (TodayEventsArea *a_this)
+{
+ int res = 0 ;
+ g_return_val_if_fail (a_this &&
+ TODAY_IS_EVENTS_AREA (a_this) &&
+ a_this->priv,
+ -1);
+
+ g_message ("page size: %d, nb events %d",
+ a_this->priv->max_visible_events,
+ a_this->priv->nb_events) ;
+
+ if (!a_this->priv->max_visible_events)
+ return 0 ;
+
+ res = a_this->priv->nb_events / a_this->priv->max_visible_events ;
+ if (a_this->priv->nb_events % a_this->priv->max_visible_events)
+ ++res ;
+ return res ;
+}
+
ECalComponent*
today_events_area_get_cur_event (TodayEventsArea *a_this)
{
Modified: trunk/src/target/OM-2007/applications/openmoko-today/src/today-events-area.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-today/src/today-events-area.h 2007-03-15 15:14:16 UTC (rev 1378)
+++ trunk/src/target/OM-2007/applications/openmoko-today/src/today-events-area.h 2007-03-15 15:38:45 UTC (rev 1379)
@@ -67,6 +67,7 @@
GList *a_events);
GList* today_events_area_get_events (TodayEventsArea *self);
int today_events_area_get_nb_events (TodayEventsArea *self);
+int today_events_area_get_nb_pages (TodayEventsArea *self);
ECalComponent* today_events_area_get_cur_event (TodayEventsArea *self);
int today_events_area_get_cur_event_index (TodayEventsArea *self);
ECalComponent* today_events_area_get_event_from_index (TodayEventsArea *self,
More information about the commitlog
mailing list