diff options
author | Federico Mena Quintero <federico@helixcode.com> | 2000-12-19 07:47:52 +0800 |
---|---|---|
committer | Federico Mena Quintero <federico@src.gnome.org> | 2000-12-19 07:47:52 +0800 |
commit | 8d96fe16f15f653d0809603ccaecd677e5708d8d (patch) | |
tree | 56d1ccf4be7dcec8a7a09524f2d312ab1da004af /calendar/gui | |
parent | a1d12a819a73754b94eeaf558aefa91e77f169f3 (diff) | |
download | gsoc2013-evolution-8d96fe16f15f653d0809603ccaecd677e5708d8d.tar.gz gsoc2013-evolution-8d96fe16f15f653d0809603ccaecd677e5708d8d.tar.zst gsoc2013-evolution-8d96fe16f15f653d0809603ccaecd677e5708d8d.zip |
Alarm instance generation support for the Wombat.
2000-12-18 Federico Mena Quintero <federico@helixcode.com>
Alarm instance generation support for the Wombat.
* idl/evolution-calendar.idl (Cal::CalAlarmInstance): Changed to
have an alarm UID, the trigger time, and the actual occurrence
time.
(Cal::CalComponentAlarms): New structure to hold a pair of a
component and its alarms that trigger in a particular range of
time.
(Cal::getAlarmsInRange): Changed to return a CalComponentAlarmsSeq.
* cal-util/cal-component.h (CalAlarmInstance): New C-side
structure to match the one on the IDL.
(CalComponentAlarms): Ditto.
(CalAlarmAction): Renamed from CalComponentAlarmAction.
(CalAlarmTriggerType): Renamed from CalComponentAlarmTriggerType.
Encoded the START and END parameters for the RELATED parameter in
this enum, too. Added a NONE value for invalid or missing trigger
specifications.
(CalComponentAlarmTriggerRelated): Removed.
(CalAlarmTrigger): Renamed from CalComponentAlarmTrigger. Renamed
the duration/time fields to rel_duration/abs_time, respectively.
* cal-util/cal-component.c (cal_component_alarm_get_trigger):
Changed to use the new trigger structure.
(cal_component_alarm_set_trigger): Likewise.
(cal_component_alarm_free_trigger): Removed function.
(cal_component_has_alarms): Count the elements in the
alarm_uid_hash instead of trying to fetch the first alarm subcomponent.
(cal_component_alarms_free): New function to free a
CalComponentAlarms structure.
(CalComponentAlarmPrivate): Added an uid property pointer.
(scan_alarm_property): Scan for the our extension UID property.
(cal_component_alarm_get_uid): New function.
* pcs/cal-backend.h (CalBackendClass): Changed the signatures of
the ::get_alarms_in_range() and ::get_alarms_for_object() methods.
* pcs/cal-backend.c (cal_backend_get_alarms_in_range): Changed
signature; use the new method.
(cal_backend_get_alarms_for_object): Likewise.
* pcs/cal-backend-file.c (compute_alarm_range): New spiffy
function to compute a range of time for alarm occurrences.
(add_alarm_occurrences_cb): New function to add alarms for a
particular occurrence of the component.
(generate_absolute_triggers): New function to add the absolute
alarm triggers.
(generate_alarms_for_comp): New function to generate all the alarm
instances for a component.
(cal_backend_file_get_alarms_in_range): Implemented.
* pcs/cal.c (Cal_get_alarms_in_range): Use the new CalBackend API.
(Cal_get_alarms_for_object): Likewise.
(build_alarm_instance_seq): Removed old function.
* cal-util/cal-util.c (cal_alarm_instance_list_free): Removed
function.
* cal-client/cal-client.c (build_component_alarms_list): New
function to demarshal the component alarms sequence.
(build_alarm_instance_list): New function to demarshal the alarm
instances sequence.
(cal_client_get_alarms_in_range): Updated for the new API.
(cal_client_get_alarms_for_object): Updated for the new API.
* gui/gnome-cal.c: Temporary #ifdef-ing out of alarm-related stuff
to make it build.
svn path=/trunk/; revision=7076
Diffstat (limited to 'calendar/gui')
-rw-r--r-- | calendar/gui/gnome-cal.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/calendar/gui/gnome-cal.c b/calendar/gui/gnome-cal.c index e64ecbe706..ac43fbe438 100644 --- a/calendar/gui/gnome-cal.c +++ b/calendar/gui/gnome-cal.c @@ -786,8 +786,6 @@ program_notification (char *command, int close_standard) sigaction (SIGQUIT, &save_quit, NULL); } -#endif - /* Queues a snooze alarm */ static void snooze (GnomeCalendar *gcal, CalComponent *comp, time_t occur, int snooze_mins, gboolean audio) @@ -1040,10 +1038,13 @@ midnight_refresh_cb (gpointer alarm_id, time_t trigger, gpointer data) load_alarms (cal); } +#endif + /* Loads and queues the alarms from the current time up to midnight. */ static void load_alarms (GnomeCalendar *gcal) { +#if 0 GnomeCalendarPrivate *priv; time_t now; time_t end_of_day; @@ -1070,6 +1071,7 @@ load_alarms (GnomeCalendar *gcal) g_message ("load_alarms(): Could not set up the midnight refresh alarm!"); /* FIXME: what to do? */ } +#endif } /* Loads the initial data into the calendar; this should be called right after @@ -1086,6 +1088,7 @@ initial_load (GnomeCalendar *gcal) tag_calendar_by_client (priv->date_navigator, priv->client); } +#if 0 /* Removes any queued alarms for the specified UID */ static void remove_alarms_for_object (GnomeCalendar *gcal, const char *uid) @@ -1142,6 +1145,7 @@ add_alarms_for_object (GnomeCalendar *gcal, const char *uid) cal_alarm_instance_list_free (alarms); } +#endif /* Displays an error to indicate that loading a calendar failed */ static void @@ -1276,8 +1280,10 @@ obj_updated_cb (CalClient *client, const char *uid, gpointer data) gcal = GNOME_CALENDAR (data); priv = gcal->priv; +#if 0 remove_alarms_for_object (gcal, uid); add_alarms_for_object (gcal, uid); +#endif tag_calendar_by_client (priv->date_navigator, priv->client); } @@ -1292,7 +1298,9 @@ obj_removed_cb (CalClient *client, const char *uid, gpointer data) gcal = GNOME_CALENDAR (data); priv = gcal->priv; +#if 0 remove_alarms_for_object (gcal, uid); +#endif tag_calendar_by_client (priv->date_navigator, priv->client); } |