aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/pcs
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/pcs')
-rw-r--r--calendar/pcs/calobj.c18
-rw-r--r--calendar/pcs/calobj.h7
2 files changed, 25 insertions, 0 deletions
diff --git a/calendar/pcs/calobj.c b/calendar/pcs/calobj.c
index 47d8c8a97e..624a179b05 100644
--- a/calendar/pcs/calobj.c
+++ b/calendar/pcs/calobj.c
@@ -1102,3 +1102,21 @@ ical_object_compute_end (iCalObject *ico)
ico->recur->_enddate = 0;
ical_object_generate_events (ico, ico->dtstart, 0, duration_callback, &count);
}
+
+int
+alarm_compute_offset (CalendarAlarm *a)
+{
+ if (!a->enabled)
+ return -1;
+ switch (a->units){
+ case ALARM_MINUTES:
+ a->offset = a->count * 60;
+ break;
+ case ALARM_HOURS:
+ a->offset = a->count * 3600;
+ break;
+ case ALARM_DAYS:
+ a->offset = a->count * 24 * 3600;
+ }
+ return a->offset;
+}
diff --git a/calendar/pcs/calobj.h b/calendar/pcs/calobj.h
index 26b0acf35b..60483c68ad 100644
--- a/calendar/pcs/calobj.h
+++ b/calendar/pcs/calobj.h
@@ -32,6 +32,10 @@ typedef struct {
int count;
enum AlarmUnit units;
char *data;
+
+ /* Does not get saved, internally used */
+ time_t offset;
+ time_t trigger;
/* Widgets */
void *w_count; /* A GtkEntry */
@@ -180,6 +184,9 @@ void ical_object_generate_events (iCalObject *ico, time_t start, time
/* Computes the enddate field of the recurrence based on the duration */
void ical_object_compute_end (iCalObject *ico);
+/* Returns the number of seconds configured to trigger the alarm in advance to an event */
+int alarm_compute_offset (CalendarAlarm *a);
+
END_GNOME_DECLS
#endif