evolution r37005 - in trunk/calendar: . gui



Author: msuman
Date: Wed Jan  7 04:07:10 2009
New Revision: 37005
URL: http://svn.gnome.org/viewvc/evolution?rev=37005&view=rev

Log:
Part of fix for bug #443544 (bugzilla.novell.com) - Handle E_MEETING_FREE_BUSY_FREE.

Modified:
   trunk/calendar/ChangeLog
   trunk/calendar/gui/e-meeting-attendee.c
   trunk/calendar/gui/e-meeting-store.c
   trunk/calendar/gui/e-meeting-time-sel.c
   trunk/calendar/gui/e-meeting-types.h

Modified: trunk/calendar/gui/e-meeting-attendee.c
==============================================================================
--- trunk/calendar/gui/e-meeting-attendee.c	(original)
+++ trunk/calendar/gui/e-meeting-attendee.c	Wed Jan  7 04:07:10 2009
@@ -845,6 +845,10 @@
 	if (compare_times (&period.start, &period.end) > 0)
 		return FALSE;
 
+	/* If the busy_type is FREE, then there is no need to render it in UI */
+	if (busy_type == E_MEETING_FREE_BUSY_FREE)
+		goto done; 
+
 	/* If the busy range is not set elsewhere, track it as best we can */
 	if (!priv->start_busy_range_set) {
 		if (!g_date_valid (&priv->busy_periods_start.date)) {
@@ -871,6 +875,7 @@
 			}
 		}
 	}
+
 	if (!priv->end_busy_range_set) {
 		if (!g_date_valid (&priv->busy_periods_end.date)) {
 			priv->busy_periods_end.date = period.end.date;
@@ -898,12 +903,14 @@
 	}
 
 	g_array_append_val (priv->busy_periods, period);
-	priv->has_calendar_info = TRUE;
-	priv->busy_periods_sorted = FALSE;
 
 	period_in_days = g_date_get_julian (&period.end.date) - g_date_get_julian (&period.start.date) + 1;
 	priv->longest_period_in_days = MAX (priv->longest_period_in_days, period_in_days);
 
+done:
+	priv->has_calendar_info = TRUE;
+	priv->busy_periods_sorted = FALSE;
+
 	return TRUE;
 }
 

Modified: trunk/calendar/gui/e-meeting-store.c
==============================================================================
--- trunk/calendar/gui/e-meeting-store.c	(original)
+++ trunk/calendar/gui/e-meeting-store.c	Wed Jan  7 04:07:10 2009
@@ -1017,6 +1017,10 @@
 			busy_type = E_MEETING_FREE_BUSY_TENTATIVE;
 			break;
 
+		case ICAL_FBTYPE_FREE:
+			busy_type = E_MEETING_FREE_BUSY_FREE;
+			break;
+
 		default:
 			break;
 		}

Modified: trunk/calendar/gui/e-meeting-time-sel.c
==============================================================================
--- trunk/calendar/gui/e-meeting-time-sel.c	(original)
+++ trunk/calendar/gui/e-meeting-time-sel.c	Wed Jan  7 04:07:10 2009
@@ -649,6 +649,7 @@
 	e_meeting_time_selector_alloc_named_color (mts, "white", &mts->attendee_list_bg_color);
 
 	e_meeting_time_selector_alloc_named_color (mts, "snow4", &mts->meeting_time_bg_color);
+	e_meeting_time_selector_alloc_named_color (mts, "snow", &mts->busy_colors[E_MEETING_FREE_BUSY_FREE]);
 	e_meeting_time_selector_alloc_named_color (mts, "yellow", &mts->busy_colors[E_MEETING_FREE_BUSY_TENTATIVE]);
 	e_meeting_time_selector_alloc_named_color (mts, "blue", &mts->busy_colors[E_MEETING_FREE_BUSY_BUSY]);
 	e_meeting_time_selector_alloc_named_color (mts, "orange4", &mts->busy_colors[E_MEETING_FREE_BUSY_OUT_OF_OFFICE]);

Modified: trunk/calendar/gui/e-meeting-types.h
==============================================================================
--- trunk/calendar/gui/e-meeting-types.h	(original)
+++ trunk/calendar/gui/e-meeting-types.h	Wed Jan  7 04:07:10 2009
@@ -48,11 +48,12 @@
    used as for loop counters, so they should start at 0 and be ordered. */
 typedef enum
 {
-	E_MEETING_FREE_BUSY_TENTATIVE       = 0,
+	E_MEETING_FREE_BUSY_TENTATIVE		= 0,
 	E_MEETING_FREE_BUSY_OUT_OF_OFFICE	= 1,
 	E_MEETING_FREE_BUSY_BUSY		= 2,
+	E_MEETING_FREE_BUSY_FREE		= 3,
 
-	E_MEETING_FREE_BUSY_LAST		= 3
+	E_MEETING_FREE_BUSY_LAST		= 4
 } EMeetingFreeBusyType;
 
 /* This is our representation of a time. We use a GDate to store the day,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]