87 lines
3.1 KiB
Diff
87 lines
3.1 KiB
Diff
Index: calendar/gui/e-meeting-store.c
|
|
===================================================================
|
|
--- calendar/gui/e-meeting-store.c (revision 36995)
|
|
+++ calendar/gui/e-meeting-store.c (working copy)
|
|
@@ -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;
|
|
}
|
|
Index: calendar/gui/e-meeting-types.h
|
|
===================================================================
|
|
--- calendar/gui/e-meeting-types.h (revision 36995)
|
|
+++ calendar/gui/e-meeting-types.h (working copy)
|
|
@@ -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,
|
|
Index: calendar/gui/e-meeting-attendee.c
|
|
===================================================================
|
|
--- calendar/gui/e-meeting-attendee.c (revision 36995)
|
|
+++ calendar/gui/e-meeting-attendee.c (working copy)
|
|
@@ -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;
|
|
}
|
|
|
|
Index: calendar/gui/e-meeting-time-sel.c
|
|
===================================================================
|
|
--- calendar/gui/e-meeting-time-sel.c (revision 36995)
|
|
+++ calendar/gui/e-meeting-time-sel.c (working copy)
|
|
@@ -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]);
|