aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/pcs
diff options
context:
space:
mode:
authorFederico Mena Quintero <federico@ximian.com>2001-06-27 08:12:28 +0800
committerFederico Mena Quintero <federico@src.gnome.org>2001-06-27 08:12:28 +0800
commit03b231a20b0e2e1bdfc422ff713127b34e4cce19 (patch)
tree82b31bbaacdb1840116f7b15948113e99b7657c4 /calendar/pcs
parent0bea524b92d9909b61c572f42fadebcd2213d048 (diff)
downloadgsoc2013-evolution-03b231a20b0e2e1bdfc422ff713127b34e4cce19.tar
gsoc2013-evolution-03b231a20b0e2e1bdfc422ff713127b34e4cce19.tar.gz
gsoc2013-evolution-03b231a20b0e2e1bdfc422ff713127b34e4cce19.tar.bz2
gsoc2013-evolution-03b231a20b0e2e1bdfc422ff713127b34e4cce19.tar.lz
gsoc2013-evolution-03b231a20b0e2e1bdfc422ff713127b34e4cce19.tar.xz
gsoc2013-evolution-03b231a20b0e2e1bdfc422ff713127b34e4cce19.tar.zst
gsoc2013-evolution-03b231a20b0e2e1bdfc422ff713127b34e4cce19.zip
Renamed the occur field to occur_start; added an occur_end field. This way
2001-06-26 Federico Mena Quintero <federico@ximian.com> * idl/evolution-calendar.idl (CalAlarmInstance): Renamed the occur field to occur_start; added an occur_end field. This way we can present the complete times for the occurrence from the server. * cal-util/cal-component.h (CalAlarmInstance): Likewise. * pcs/cal-backend-file.c (add_alarm_occurrences_cb): Fill the new fields appropriately. (generate_absolute_triggers): Likewise; we use -1 in case the component has no DTSTART or DTEND because there are no meaningful occurrence dates here. (fill_alarm_instances_seq): Fill in the new fields. * cal-client/cal-client.c (build_alarm_instance_list): Likewise. * gui/alarm-notify/alarm-notify-dialog.c (alarm_notify_dialog): Take in both the occur_start and occur_end times. * gui/goto.c (goto_dialog): Free the dlg structure on the bail-out cases. * gui/dialogs/event-page.c (get_widgets): Do not assert if we cannot find the main widget; just return FALSE. * gui/dialogs/alarm-page.c (get_widgets): Likewise. * gui/dialogs/task-page.c (get_widgets): Likewise. * gui/dialogs/task-details-page.c (get_widgets): Likewise. * gui/dialogs/meeting-page.c (get_widgets): Likewise. svn path=/trunk/; revision=10517
Diffstat (limited to 'calendar/pcs')
-rw-r--r--calendar/pcs/cal-backend-file.c26
1 files changed, 23 insertions, 3 deletions
diff --git a/calendar/pcs/cal-backend-file.c b/calendar/pcs/cal-backend-file.c
index b7ba095a30..79a6018ec0 100644
--- a/calendar/pcs/cal-backend-file.c
+++ b/calendar/pcs/cal-backend-file.c
@@ -1240,7 +1240,8 @@ add_alarm_occurrences_cb (CalComponent *comp, time_t start, time_t end, gpointer
instance = g_new (CalAlarmInstance, 1);
instance->auid = auid;
instance->trigger = trigger_time;
- instance->occur = occur_time;
+ instance->occur_start = start;
+ instance->occur_end = end;
aod->triggers = g_slist_prepend (aod->triggers, instance);
aod->n_triggers++;
@@ -1254,6 +1255,10 @@ static void
generate_absolute_triggers (CalComponent *comp, struct alarm_occurrence_data *aod)
{
GList *l;
+ CalComponentDateTime dt_start, dt_end;
+
+ cal_component_get_dtstart (comp, &dt_start);
+ cal_component_get_dtend (comp, &dt_end);
for (l = aod->alarm_uids; l; l = l->next) {
const char *auid;
@@ -1280,11 +1285,25 @@ generate_absolute_triggers (CalComponent *comp, struct alarm_occurrence_data *ao
instance = g_new (CalAlarmInstance, 1);
instance->auid = auid;
instance->trigger = abs_time;
- instance->occur = abs_time; /* No particular occurrence, so just use the same time */
+
+ /* No particular occurrence, so just use the times from the component */
+
+ if (dt_start.value)
+ instance->occur_start = icaltime_as_timet (*dt_start.value);
+ else
+ instance->occur_start = -1;
+
+ if (dt_end.value)
+ instance->occur_end = icaltime_as_timet (*dt_end.value);
+ else
+ instance->occur_end = -1;
aod->triggers = g_slist_prepend (aod->triggers, instance);
aod->n_triggers++;
}
+
+ cal_component_free_datetime (&dt_start);
+ cal_component_free_datetime (&dt_end);
}
/* Compares two alarm instances; called from g_slist_sort() */
@@ -1396,7 +1415,8 @@ fill_alarm_instances_seq (GNOME_Evolution_Calendar_CalAlarmInstanceSeq *seq, GSL
corba_instance->auid = CORBA_string_dup (instance->auid);
corba_instance->trigger = (long) instance->trigger;
- corba_instance->occur = (long) instance->occur;
+ corba_instance->occur_start = (long) instance->occur_start;
+ corba_instance->occur_end = (long) instance->occur_end;
}
}