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