aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/alarm-notify/alarm-queue.c
Commit message (Collapse)AuthorAgeFilesLines
* This commit was manufactured by cvs2svn to create tagRELEASE-2_8_0nobody2003-12-091-1301/+0
| | | | | | 'RELEASE-2_8_0'. svn path=/tags/RELEASE-2_8_0/; revision=23849
* Use BASE_VERSION for repo_ids and OAFIIDs Update killev to kill theRodney Dawes2003-12-021-1/+1
| | | | | | | | | | 2003-12-01 Rodney Dawes <dobey@ximian.com> * Use BASE_VERSION for repo_ids and OAFIIDs * Update killev to kill the correct versions of gnome-spell and the GtkHTML Editor svn path=/trunk/; revision=23543
* use a standard calendar status (backend_cal_opened_online): dittoJP Rosevear2003-11-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | 2003-11-11 JP Rosevear <jpr@ximian.com> * gui/calendar-offline-handler.c (backend_cal_opened_offline): use a standard calendar status (backend_cal_opened_online): ditto * gui/alarm-notify/alarm-queue.c (cal_opened_cb): ditto * gui/gnome-cal.c (client_cal_opened_cb): ditto * gui/e-tasks.c (cal_opened_cb): ditto * gui/e-itip-control.c (default_server_started_cb): ditto * gui/e-cal-model.c (cal_opened_cb): ditto * gui/comp-editor-factory.c (cal_opened_cb): ditto svn path=/trunk/; revision=23286
* Various changes to merge in evolution-data-server reliance.JP Rosevear2003-11-071-73/+74
| | | | svn path=/trunk/; revision=23206
* use bonobo_main_quit, not gtk_main_quit.Rodrigo Moya2003-10-311-0/+13
| | | | | | | | | | | | | | 2003-10-24 Rodrigo Moya <rodrigo@ximian.com> * gui/alarm-notify/notify-main.c (client_die_cb): use bonobo_main_quit, not gtk_main_quit. * gui/alarm-notify/alarm-queue.c (free_client_alarms_cb): callback for freeing ClientAlarms stored in the hash table. (alarm_queue_done): call free_client_alarms_cb() for each opened client. svn path=/trunk/; revision=23134
* Merge new-ui-branch to the trunk.Ettore Perazzoli2003-10-221-1/+1
| | | | svn path=/trunk/; revision=22965
* Use images that come with Evolution instead of unreleased stock, for now.Hans Petter Jansson2003-08-291-5/+8
| | | | | | | | | | 2003-08-28 Hans Petter Jansson <hpj@ximian.com> * gui/alarm-notify/alarm-queue.c (tray_icon_blink_cb) (display_notification): Use images that come with Evolution instead of unreleased stock, for now. svn path=/trunk/; revision=22409
* Added alarm-notify utils.Hans Petter Jansson2003-08-291-74/+205
| | | | | | | | | | | | | | | | | | | | | | | 2003-08-28 Hans Petter Jansson <hpj@ximian.com> * gui/alarm-notify/util.[ch]: Added alarm-notify utils. * gui/alarm-notify/Makefile.am: Added alarm-notify utils. * gui/alarm-notify/alarm-notify-dialog.c (timet_to_str_with_zone): Move to util.c. * gui/alarm-notify/alarm-queue.c (notify_dialog_cb) (on_dialog_removed_cb) (notify_dialog_cb) (tray_icon_destroyed_cb) (tray_icon_clicked_cb) (tray_icon_blink_cb) (display_notification): Add Rodrigo Moya's code for tray icon notification of appointments, with some fixes and blink code by me. Requires HEAD gnome-icon-theme for now. svn path=/trunk/; revision=22406
* Fix an unused variableDan Winship2003-07-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | * gui/alarm-notify/alarm-queue.c (on_dialog_obj_updated_cb): Fix an unused variable * gui/calendar-commands.c (purge_cmd): Fix warnings. * gui/calendar-config.h: s/confirm_expunge/confirm_purge/ to match the actual functions * gui/control-factory.c: add some missing #includes * gui/dialogs/delete-comp.c (delete_component_dialog): Fix a warning * gui/e-itip-control.c (write_label_piece): Remove unused variable. * gui/print.c (print_calendar): Remove unused variable (print_comp): Likewise. * gui/tasks-control.c (confirm_purge): Fix warnings. (print_tasks): Remove unused variable. svn path=/trunk/; revision=21905
* fixed memory leak introduced by previous commit.Rodrigo Moya2003-05-141-0/+4
| | | | | | | | | 2003-05-13 Rodrigo Moya <rodrigo@ximian.com> * gui/alarm-notify/alarm-queue.c (notify_dialog_cb): fixed memory leak introduced by previous commit. svn path=/trunk/; revision=21162
* Fixes #41760Rodrigo Moya2003-05-141-17/+5
| | | | | | | | | | | | | 2003-05-12 Rodrigo Moya <rodrigo@ximian.com> Fixes #41760 * gui/alarm-notify/alarm-queue.c (create_snooze): don't add a new alarm, but update the already existing one. (notify_dialog_cb): make sure we don't remove the alarm if we are snoozing. svn path=/trunk/; revision=21160
* Fixes #41661Rodrigo Moya2003-04-271-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-04-24 Rodrigo Moya <rodrigo@ximian.com> Fixes #41661 * idl/evolution-calendar.idl: added discardAlarm method to GNOME:Evolution:Calendar:Cal interface. * pcs/cal.c (cal_class_init): set new epv's method. (impl_Cal_discardAlarm): implementation of new CORBA method. * pcs/cal-backend.[ch]: added 'discard_alarm' virtual method, and CAL_BACKEND_RESULT_NOT_IMPLEMENTED to CalBackendResult enum. (cal_backend_class_init): initialize new class method. (cal_backend_discard_alarm): new method. (cal_backend_update_objects, cal_backend_remove_object): return proper CalBackendResult values. * pcs/cal-backend-file.c (cal_backend_file_class_init): initialize new class method. (cal_backend_file_discard_alarm): implementation of new method. * pcs/cal-client.[ch] (cal_client_discard_alarm): new function. * gui/alarm-notify/alarm-queue.c (remove_qeueud_alarm): don't remove the alarm directly from the component, call cal_client_discard_alarm and let the backend deal with it. svn path=/trunk/; revision=20973
* Fixed typoRodrigo Moya2003-04-241-1/+1
| | | | svn path=/trunk/; revision=20948
* Fixes #41671Rodrigo Moya2003-04-241-3/+2
| | | | | | | | | | | | | | 2003-04-23 Rodrigo Moya <rodrigo@ximian.com> Fixes #41671 * gui/alarm-notify/notify-main.c (main): added calls to gnome_sound_init and gnome_sound_shutdown. * gui/alarm-notify/alarm-queue.c (audio_notification): check that the sound file exists, and gdk_beep if not. svn path=/trunk/; revision=20946
* Fixes part of #41148, #41216 and #41235Rodrigo Moya2003-04-231-2/+5
| | | | | | | | | | | | | | | | | | | | | | 2003-04-22 Rodrigo Moya <rodrigo@ximian.com> Fixes part of #41148, #41216 and #41235 * gui/e-itip-control.c (init): * gui/e-meeting-time-sel.c (e_meeting_time_selector_construct, e_meeting_time_selector_add_key_color): * gui/e-timezone-entry.c (e_timezone_entry_init): * gui/gnome-cal.c (setup_widgets): * gui/tasks-control.c (confirm_expunge): * gui/dialogs/comp-editor.c (setup_widgets): * gui/dialogs/e-delegate-dialog.c (e_delegate_dialog_construct): * gui/dialogs/meeting-page.c (meeting_page_construct): * gui/dialogs/recurrence-page.c (make_weekly_special, make_monthly_special, make_ending_count_special): * gui/dialogs/schedule-page.c (schedule_page_construct): use HIG-suggested spacing. svn path=/trunk/; revision=20927
* Fixes #34498Rodrigo Moya2003-04-171-4/+8
| | | | | | | | | | | | | | | 2003-04-17 Rodrigo Moya <rodrigo@ximian.com> Fixes #34498 * gui/alarm-notify/alarm-queue.c: added a 'uid' field to the CompQueuedAlarms structure. (remove_queued_alarm): free the 'uid' field when freeing the structure. (add_component_alarms): g_strdup the component's UID and use that as the key for the hash table. svn path=/trunk/; revision=20879
* only remove the alarm for backends that want it (Exchange).Rodrigo Moya2003-04-101-1/+3
| | | | | | | | | 2003-04-10 Rodrigo Moya <rodrigo@ximian.com> * gui/alarm-notify/alarm-queue.c (remove_queued_alarm): only remove the alarm for backends that want it (Exchange). svn path=/trunk/; revision=20801
* Fixes #40790JP Rosevear2003-04-051-1/+1
| | | | | | | | | | | 2003-04-04 JP Rosevear <jpr@ximian.com> Fixes #40790 * gui/alarm-notify/alarm-queue.c (procedure_notification_dialog): return based on the response code (not old button stuff) svn path=/trunk/; revision=20679
* Fixes #34505Rodrigo Moya2003-03-181-7/+21
| | | | | | | | | | | | | | | | | 2003-03-18 Rodrigo Moya <rodrigo@ximian.com> Fixes #34505 * gui/alarm-notify/alarm-queue.c (remove_queued_alarm): added removal of the alarm itself in the calendar if the (new) argument says so. Also, set expecting_update flag to TRUE. (add_component_alarms): initialize expecting_update to FALSE. (remove_alarms): don't remove the component if expecting_update is TRUE. (obj_updated_cb, notify_dialog_cb, procedure_notification): adapted to changes in remove_queued_alarm. svn path=/trunk/; revision=20335
* if we already have the client loaded, don't remove it, just increment itsRodrigo Moya2003-03-101-16/+22
| | | | | | | | | | | | | | | | | | | | 2003-03-09 Rodrigo Moya <rodrigo@ximian.com> * gui/alarm-notify/alarm-notify.c (alarm_notify_add_calendar): if we already have the client loaded, don't remove it, just increment its reference count. * gui/alarm-notify/alarm-queue.c (remove_queued_alarm): added new argument to specify whether we want the component's structure removed if no more alarms exist, and only free the structure if TRUE. (remove_alarms): added same new argument and pass it over to remove_queued_alarm. (remove_comp, obj_updated_cb): passed new argument to remove_alarms. (procedure_notification): passed new argument to remove_queued_alarm. (obj_removed_cb): set all freed pointers to NULL. (notify_dialog_cb): only remove the alarm if the pointers are not NULL. svn path=/trunk/; revision=20232
* ref the CalClient. (notify_dialog_cb): unref the CalClient.Rodrigo Moya2003-03-061-0/+2
| | | | | | | | | 2003-03-06 Rodrigo Moya <rodrigo@ximian.com> * gui/alarm-queue.c (display_notification): ref the CalClient. (notify_dialog_cb): unref the CalClient. svn path=/trunk/; revision=20186
* new function. (alarm_notify_dialog): made it return a pointer to theRodrigo Moya2003-03-061-25/+106
| | | | | | | | | | | | | | | | | | | | | | 2003-03-06 Rodrigo Moya <rodrigo@ximian.com> * gui/alarm-notify/alarm-notify-dialog.[ch] (alarm_notify_dialog_disable_buttons): new function. (alarm_notify_dialog): made it return a pointer to the dialog structure. * gui/alarm-notify/alarm-queue.c (remove_alarms, remove_comp): splitted alarm removal out of remove_comp. (obj_updated_cb): remove the component only when needed. In normal updates, just update the internal structure. (edit_component): don't get a CompQueuedAlarms as argument, since it might be removed. (on_dialog_obj_updated_cb, on_dialog_obj_removed_cb): callbacks for modifications during dialog display. (notify_dialog_cb): disconnect from "obj_*ed" signals and call edit_component with the new set of arguments. (display_notification): added more data to the closure structure. svn path=/trunk/; revision=20185
* Fixes #35572Ronald Kuetemeier2003-01-311-0/+1
| | | | | | | | | | | | 2003-30-01 Ronald Kuetemeier <ronald@kuetemeier.com> Fixes #35572 * gui/alarm-notify/alarm-queue.c: set saved_notification_time to last notification time when we update the config to last notification, so alarms will not get trigged again if a new calendar window is opened. svn path=/trunk/; revision=19690
* #include <string.h>Federico Mena Quintero2002-11-131-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-12 Federico Mena Quintero <federico@ximian.com> * pcs/cal-backend-util.c: #include <string.h> * pcs/cal.c: Fixed prototypes of the CORBA method implementations. * pcs/cal-backend-file.c (cal_backend_file_dispose): Added a dispose method. (cal_backend_file_get_free_busy): Converted to use EConfigListener rather than BonoboConfigDatabase. * gui/alarm-notify/alarm-notify.c: #include <string.h>, fix use of g_hash_table_lookup_extended(). * gui/alarm-notify/alarm-notify-dialog.c: Substitute deprecated GTK+ functions for new ones. * gui/alarm-notify/alarm-queue.c: Likewise. * gui/alarm-notify/notify-main.c: #include <string.h>, <gtk/gtkmain.h>. * gui/alarm-notify/save.c: #include <string.h>. svn path=/trunk/; revision=18726
* use libxml2 headers.Rodrigo Moya2002-11-051-20/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-05 Rodrigo Moya <rodrigo@ximian.com> * pcs/cal-backend.c: use libxml2 headers. * gui/alarm-notify/Makefile.am: * gui/dialogs/Makefile.am: * gui/Makefile.am: s/XML_I18N/INTLTOOL. Fixed execution of $(ORBIT_IDL). * gui/alarm-notify/alarm-notify.[ch]: converted to BonoboObject. * gui/alarm-notify/alarm-notify-dialog.c: compilation fixes. (alarm_notify_dialog): adapted to new glade_xml_new signature. * gui/alarm-notify/alarm-queue.c: ported to BonoboActivation and GtkStock and GtkDialog. * gui/alarm-notify/notify-main.c: ported to BonoboActivation and use GObject functions instead of GtkObject ones. * gui/alarm-notify/save.h: removed BonoboConfig related functions. * gui/alarm-notify/config-data.c: use GObject functions instead of GtkObject ones. * TODO.port: added file for keeping track of disabled things while we port. svn path=/trunk/; revision=18550
* Fixes crash in #19159Rodrigo Moya2002-10-071-7/+13
| | | | | | | | | | | | | | 2002-10-07 Rodrigo Moya <rodrigo@ximian.com> Fixes crash in #19159 * gui/alarm-notify/alarm-queue.c (lookup_queued_alarm): don't crash if we don't find the queued alarm in the internal list. (alarm_trigger_cb, create_snooze, display_notification, audio_notification, procedure_notification, remove_queued_alarm): check return value from lookup_queued_alarm. svn path=/trunk/; revision=18331
* Fixes the crash in #19159Rodrigo Moya2002-08-051-0/+2
| | | | | | | | | | | 2002-08-04 Rodrigo Moya <rodrigo@ximian.com> Fixes the crash in #19159 * gui/alarm-notify/alarm-queue.c (create_snooze): check for NULL pointers before using them. svn path=/trunk/; revision=17697
* if there's an exception, continue with the next item.Rodrigo Moya2002-07-191-1/+0
| | | | | | | | | 2002-07-18 Rodrigo Moya <rodrigo@ximian.com> * importers/icalendar-importer.c (get_uri_from_folder_path): if there's an exception, continue with the next item. svn path=/trunk/; revision=17507
* add protosJP Rosevear2002-01-141-17/+54
| | | | | | | | | | | | | | | | | 2002-01-13 JP Rosevear <jpr@ximian.com> * gui/alarm-notify/save.h: add protos * gui/alarm-notify/save.c (save_blessed_program): records a program as blessed (is_blessed_program): checks to see if a program is blessed * gui/alarm-notify/alarm-queue.c (procedure_notification_dialog): popup a dialog notifying the user that is a program and let them not see the dialog about this program again (procedure_notification): use above svn path=/trunk/; revision=15313
* Fixing the license text.Ettore Perazzoli2001-10-281-4/+3
| | | | svn path=/trunk/; revision=14214
* Fixes bug #5282.Federico Mena Quintero2001-10-251-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-24 Federico Mena Quintero <federico@ximian.com> Fixes bug #5282. * cal-util/timeutil.c (icaltimetype_to_tm_with_zone): New function to avoid copying the same code all over the place. (icaltimetype_to_tm): Also set the tm.tm_wday. * gui/alarm-notify/alarm-queue.c (queue_midnight_refresh): Use time_day_end_with_zone(). (load_alarms_for_today): Likewise. And oops, we were only computing the times and not loading the alarms. (obj_updated_cb): Likewise. (load_alarms): Removed assertion that is no longer valid because we may load the alarms for a client in two stages. * gui/dialogs/alarm-page.c (get_alarm_string): Convert absolute trigger times to the local timezone. * gui/alarm-notify/alarm-notify-dialog.c (write_html_heading): Convert the times to the local timezone. (alarm_notify_dialog): Likewise, for the window title. (alarm_notify_dialog): Set the window layer to WIN_LAYER_ONTOP. * gui/e-cell-date-edit-text.c (ecd_get_text): Use icaltimetype_to_tm_with_zone(). * gui/alarm-notify/save.c (get_config_db): Made public. (discard_config_db): Made public. * gui/alarm-notify/config-data.[ch]: New files with functions to fetch the calendar configuration data used by the alarm daemon. svn path=/trunk/; revision=13986
* Do not assert if we fail to load the URI list. This would of course haveFederico Mena Quintero2001-10-201-1/+6
| | | | | | | | | | | | | | | | | 2001-10-19 Federico Mena Quintero <federico@ximian.com> * gui/alarm-notify/alarm-notify.c (add_uri_to_load): Do not assert if we fail to load the URI list. This would of course have been a bonobo-conf activation problem. (remove_uri_to_load): Likewise. * gui/alarm-notify/notify-main.c (load_calendars): Likewise. * gui/alarm-notify/alarm-queue.c (load_missed_alarms): Make the time range half-open so that we do not display the last alarm twice. svn path=/trunk/; revision=13797
* Adds session management for the alarm daemon. Also makes it store a listFederico Mena Quintero2001-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-18 Federico Mena Quintero <federico@ximian.com> Adds session management for the alarm daemon. Also makes it store a list of calendars to be monitored. Those calendars will all be loaded when the alarm daemon starts up. * idl/evolution-calendar.idl (AlarmNotify): Removed the ::die() method. The alarm daemon now handles termination via the session manager's commands. * gui/alarm-notify/notify-main.c (set_session_parameters): New function, sets some parameters so that the session manager can restart the daemon via the evolution-alarm-client program. Also, sets up the "die" signal so that the daemon can terminate when the session ends. (load_calendars): New function to load the calendars on startup. (main): Set the session parameters. Load the calendars on startup. * gui/alarm-notify/alarm-notify.c (alarm_notify_add_calendar): New function, moved over from the impl_ function. Added a load_afterwards argument to indicate whether the calendar should just be loaded or if it should also be added to the list of calendars to load on startup. (AlarmNotify_addCalendar): Use alarm_notify_add_calendar(). (AlarmNotify_removeCalendar): Remove the calendar from the list of calendars to load on startup. * gui/alarm-notify/save.c (save_calendars_to_load): New function, saves a sequence of the URIs to load. (get_calendars_to_load): New function, loads a sequence of calendars to load. * gui/alarm-notify/alarm.h: Removed stale prototype for alarm_init(). * gui/component-factory.c (remove_folder): Ask the alarm daemon to stop monitoring alarms for the folder that is being deleted. svn path=/trunk/; revision=13763
* Fixes bug #884.Federico Mena Quintero2001-10-101-14/+51
| | | | | | | | | | | | | | | | | | | | | | 2001-10-09 Federico Mena Quintero <federico@ximian.com> Fixes bug #884. * gui/alarm-notify/save.[ch]: New files with functions to save/load the last notification time. * gui/alarm-notify/alarm-queue.c (alarm_trigger_cb): Save the last notification time. (alarm_queue_init): Load the last notification time when the daemon is inited. (alarm_queue_add_client): Load the alarms that we missed while the alarm daemon was not running. (cal_opened_cb): Likewise. * gui/alarm-notify/Makefile.am (evolution_alarm_notify_SOURCES): Added save.[ch] to the list of sources. svn path=/trunk/; revision=13538
* Display a notification message always, in addition to playing the sound.Federico Mena Quintero2001-09-201-26/+50
| | | | | | | | | | | | | | | | | | | | | | | | 2001-09-19 Federico Mena Quintero <federico@ximian.com> * gui/alarm-notify/alarm-queue.c (audio_notification): Display a notification message always, in addition to playing the sound. (procedure_notification): Present a confirmation dialog before actually running the alarm's program. (procedure_notification): Use gnome_execute_shell() instead of gnome_execute_async() so that we handle multiple arguments properly. Plus, it is most likely what the user expects. (mail_notification): Display a message about unsupported email reminders instead of blindly dropping the alarm. * gui/dialogs/alarm-options.glade: Added an explanatory message about mail alarms not being supported. * gui/dialogs/alarm-page.glade: Removed the "Send an email" option. * gui/dialogs/alarm-page.c (action_map): Removed CAL_ALARM_EMAIL. svn path=/trunk/; revision=13004
* Added an use_description argument so that other alarms can fall back toFederico Mena Quintero2001-09-121-17/+141
| | | | | | | | | | | | | | | | | | | | 2001-09-11 Federico Mena Quintero <federico@ximian.com> * gui/alarm-notify/alarm-queue.c (display_notification): Added an use_description argument so that other alarms can fall back to this type. (audio_notification): Implemented. (remove_comp): Call remove_queued_alarm() here; there is no longer a destroy notification function for alarms so must we do this manually. (alarm_trigger_cb): Do not pass the alarm to the notification functions so that we can free it ourselves before all the alarms in the component get freed. (display_notification): Get the alarm here instead of getting it as an argument. (procedure_notification): Implemented. svn path=/trunk/; revision=12772
* Handle the new icalattach type instead of struct icalattachtype.Federico Mena Quintero2001-09-111-406/+0
| | | | | | | | | | | | | | | 2001-09-10 Federico Mena Quintero <federico@ximian.com> * cal-util/cal-component.c (cal_component_alarm_get_attach): Handle the new icalattach type instead of struct icalattachtype. (cal_component_alarm_set_attach): Likewise. * gui/dialogs/alarm-options.c (alarm_to_aalarm_widgets): Likewise. (alarm_to_palarm_widgets): Likewise. (aalarm_widgets_to_alarm): Likewise. (palarm_widgets_to_alarm): Likewise. svn path=/trunk/; revision=12749
* Implemented.Federico Mena Quintero2001-09-051-1/+51
| | | | | | | | | | | | | | | | | | | | 2001-09-04 Federico Mena Quintero <federico@ximian.com> * gui/component-factory.c (sc_user_create_new_item_cb): Implemented. * gui/main.c (component_editor_factory_init): New function to create the factory for the comp_editor_factory. * gui/comp-editor-factory.c: Finished implementation. * gui/alarm-notify/alarm-queue.c (edit_component): Implemented the Edit command. * gui/Makefile.am (evolution_calendar_SOURCES): Added comp-editor-factory.[ch] to the list of sources. svn path=/trunk/; revision=12619
* Added a snooze flag to differentiate snoozed alarms from real occurrences.Federico Mena Quintero2001-08-231-68/+143
| | | | | | | | | | | | | | | 2001-08-22 Federico Mena Quintero <federico@ximian.com> * gui/alarm-notify/alarm-queue.c (QueuedAlarm): Added a snooze flag to differentiate snoozed alarms from real occurrences. (add_component_alarms): Do not specify a destroy function for the alarm trigger. We handle this in the callbacks now. (alarm_trigger_cb): Just remove the alarms for the unimplemented notification types. (create_snooze): Implemented snooze. (notify_dialog_cb): Snooze as appropriate. svn path=/trunk/; revision=12412
* Handle the different alarm actions. (display_notification): Do the alarmFederico Mena Quintero2001-07-111-24/+101
| | | | | | | | | | | | | | | 2001-07-10 Federico Mena Quintero <federico@ximian.com> * gui/alarm-notify/alarm-queue.c (alarm_trigger_cb): Handle the different alarm actions. (display_notification): Do the alarm notification dialog here. * gui/alarm-notify/alarm-notify-dialog.c (make_heading): Take in a CalComponentVType, not a whole component. (alarm_notify_dialog): Take in a CalComponentVType and the final message instead of generating it ourselves. svn path=/trunk/; revision=10978
* Renamed the occur field to occur_start; added an occur_end field. This wayFederico Mena Quintero2001-06-271-11/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Converted to use BonoboXObject.Federico Mena Quintero2001-06-251-2/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-06-24 Federico Mena Quintero <federico@ximian.com> * gui/alarm-notify/alarm-notify.c: Converted to use BonoboXObject. * gui/gnome-cal.c (gnome_calendar_open): Ask the alarm notification service to add the calendar and tasks URIs. (add_alarms): New function. * gui/alarm-notify/notify-main.c (main): Doh, fixed typo in the OAFIID. (main): Initialize and shut down gnome-vfs. * gui/Makefile.am (IDLS): Added evolution-calendar.idl, sigh. (evolution_calendar_SOURCES): Added the files generated from the IDL. * gui/alarm-notify/alarm-queue.c (alarm_trigger_cb): New function used when an alarm is triggered. * gui/dialogs/Makefile.am: Removed the alarm-notify-dialog files; they are now in gui/alarm-notify. * gui/alarm-notify/Makefile.am: Added the alarm-notify-dialog files. * pcs/cal.c (cal_forget_password): This was incorrectly named cal_client_forget_password(); renamed it. * gui/main.c (main): Initialize and shut down gnome-vfs. svn path=/trunk/; revision=10453
* Update the copyrights, replacing Helix Code with Ximian andEttore Perazzoli2001-06-231-1/+1
| | | | | | helixcode.com with ximian.com all over the place. svn path=/trunk/; revision=10440
* Switched to using our own refcounted structure for loaded clients.Federico Mena Quintero2001-02-241-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-23 Federico Mena Quintero <federico@ximian.com> * gui/alarm-notify/alarm-notify.c (AlarmNotify_addCalendar): Switched to using our own refcounted structure for loaded clients. (AlarmNotify_removeCalendar): Ditto. Also, do the full destruction of the client. (alarm_notify_destroy): Destroy each element in the hash table. * cal-client/cal-client.c (cal_client_construct): Test for exceptions from OAF when activating the Wombat calendar factory. * gui/alarm-notify/GNOME_Evolution_Calendar_AlarmNotify.oaf.in: New .oaf.in file. * gui/alarm-notify/Makefile.am (oaf_in_files): Updated. * gui/GNOME_Evolution_Calendar.oaf.in: Put all the servers here instead of in a million files. * gui/GNOME_Evolution_Calendar_Control.oaf.in: Removed file. * gui/GNOME_Evolution_Calendar_gnomecal.oaf.in: Removed *REALLY* obsolete file. * gui/Makefile.am (oaf_in_files): Updated. svn path=/trunk/; revision=8375
* Ximianified email addresses and copyrights.Federico Mena Quintero2001-01-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-17 Federico Mena Quintero <federico@ximian.com> * */*: Ximianified email addresses and copyrights. * idl/evolution-calendar.idl (CalFactory::open): Renamed from ::load(), and added an only_if_exists argument. (CalFactory::create): Removed method. (Listener::OpenStatus): Removed the IN_USE error and replaced it with a NOT_FOUND one; renamed the enum from LoadStatus. (Listener::notifyCalOpened): Renamed from notifyCalLoaded(). * pcs/cal-backend.h (CalBackend): Removed the uri field. (CalBackendOpenStatus): Renamed from CalBackendLoadStatus and added a NOT_FOUND value. (CalBackendClass::open): Put in a slot for the open method. * pcs/cal-backend.c (cal_backend_create): Removed function. * pcs/cal-backend-file.c (cal_backend_file_open): Return the appropriate value when only_if_exists is TRUE. (create_cal): We are Ximian now, so set the PRODID property to the appropriate foo. * pcs/cal-factory.c (CalFactory_open): implemented, replacing CalFactory_load() and CalFactory_create(). (CalFactory_open): Moved the queue_load_create_job() stuff to here, since we now only need to contemplate the open case instead of load/create ones. (open_backend): Do everything here; replaces load_backend() and create_backend(). * cal-client/cal-listener.h (CalListenerClass::cal_opened): Renamed from cal_loaded. (CalListenerClass): Replaced the silly signals, which are gratuitous abstraction, by a set of function pointers in the instance structure. * cal-client/cal-listener.c (cal_listener_get_calendar): Removed unused function. (cal_listener_construct): Added the listener notification functions. (cal_listener_new): Ditto. (Listener_notifyCalOpened): Renamed to our new naming convention for servant implementations. (Listener_notifyObjUpdated): Ditto. (Listener_notifyObjRemoved): Ditto. * cal-client/cal-client.h (CalClientOpenStatus): Renamed from CalClientLoadStatus. (CalClientClass::cal_opened): Renamed from ::cal_loaded(). (CalClientLoadState): New enum; basically make LoadState public so that users of this code do not have to maintain their own states. * cal-client/cal-client.c (cal_client_create_calendar): Removed function. (cal_client_open_calendar): Moved the functionality over from load_or_create(); now we do everything here. (*): Use the CalClientLoadState enum values instead of the old LoadState values. (cal_client_get_load_state): Renamed from cal_client_is_loaded(), and return the appropriate value. (CalClientPrivate): Added an uri field. (cal_client_init): Initialize priv->uri. (cal_client_destroy): Free the priv->uri. (cal_opened_cb): Maintain the priv->uri. (cal_client_open_calendar): Fill in the priv->uri. (cal_client_get_uri): New function. * gui/calendar-model.c (calendar_model_set_new_comp_vtype): New function to configure the type of calendar components to create when doing click-to-add. This makes the model usable for something other than task lists. (calendar_model_get_new_comp_vtype): New function. * gui/e-calendar-table.c (e_calendar_table_get_model): New function. (e_calendar_table_destroy): Unref the subset_model. * gui/gnome-cal.h (GnomeCalendarOpenMode): Removed enum. * gui/gnome-cal.c (LoadState): Removed enum; we now use the CalClientLoadState from the client objects. (GnomeCalendarPrivate): Removed the loading_uri and task_pad_loading_uri fields as well as the load_state and task_pad_load_state fields, as we can now query them directly from the CalClient. (open_error): Renamed from load_error(). (create_error): Removed function. (gnome_calendar_open): Do not take in the mode parameter. (cal_opened_cb): Get rid of our beautifully-crafted state machine and replace it with simple code; all the loading smarts are in the Wombat now. (setup_widgets): Set the new component vtype of the table model to CAL_COMPONENT_TODO. * gui/Makefile.am (evolution_calendar_SOURCES): Removed gnome-month-item.[ch] from the list of sources. * gui/calendar-summary.c (CalSummary): Removed unused cal_loaded field. (create_summary_view): Do not check if the file exists; this is the job of the Wombat. (generate_html_summary): Fixed prototype. (alarm_fn): Fixed prototype. (property_dialog): Fixed prototype. Wonder if/how this ever worked. (create_summary_view): Cast the component and view as appropriate. Removed unused html variable. [Iain dude, are you compiling with -Wall?] * gui/e-itip-control.c (cal_opened_cb): Sigh, this function signature was *very* wrong. It was using CalClientGetStatus instead of CalClientOpenStatus. * gui/e-tasks.h (ETasksOpenMode): Removed enum. * gui/e-tasks.c (setup_widgets): Set the new component vtype of the table model to CAL_COMPONENT_TODO. (LoadState): Removed the state machine foo. (e_tasks_open): Removed the mode parameter. (initial_load): Removed function. (create_error): Removed function. (ETasksPrivate): Removed folder_uri field. (cal_opened_cb): Remove the state machine. * gui/component-factory.c: #include "tasks-control.h" * conduits/calendar/calendar-conduit.h (ECalConduitContext): Removed calendar_load_tried field. * conduits/calendar/calendar-conduit.c (start_calendar_server_cb): Sigh, fixed function prototype. * conduits/todo/todo-conduit.h (EToDoConduitContext): Removed calendar_load_tried field. * conduits/todo/todo-conduit.c (start_calendar_server_cb): Fixed function prototype. svn path=/trunk/; revision=7571
* New interface for the alarm notification system.Federico Mena Quintero2001-01-101-27/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-09 Federico Mena Quintero <federico@helixcode.com> * idl/evolution-calendar.idl (AlarmNotify): New interface for the alarm notification system. * gui/alarm-notify: New directory for the alarm notification daemon and its auxiliary stuff. * gui/alarm-notify/alarm.[ch]: Moved over from gui/alarm.[ch]. * gui/alarm-notify/alarm-queue.[ch]: Moved over from gui/alarm-notify.[ch]. Renamed functions from alarm_notify_*() to alarm_queue_*(). * gui/alarm-notify/alarm-notify.[ch]: Implementation of the GNOME::Evolution::Calendar::AlarmNotify interface. * gui/Makefile.am (evolution_calendar_LDADD): Removed the LINK_FLAGS variable and reordered the libraries to remove some duplicated ones. (SUBDIRS): Added the alarm-notify directory. svn path=/trunk/; revision=7338
* If the component has no alarms, do not try to queue them.Federico Mena Quintero2001-01-031-1/+47
| | | | | | | | | | | | 2001-01-02 Federico Mena Quintero <federico@helixcode.com> * gui/alarm-notify.c (add_component_alarms): If the component has no alarms, do not try to queue them. (remove_client_alarms): New function to remove all the queued alarms for a calendar client. (alarm_notify_remove_client): Remove the client's alarms. svn path=/trunk/; revision=7218
* Unconditionally remove the client from the alarm notification system.Federico Mena Quintero2001-01-031-0/+406
| | | | | | | | | | | | | | | | | | | | | | | | 2001-01-01 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (gnome_calendar_destroy): Unconditionally remove the client from the alarm notification system. Removed all the obsolete alarm code. * gui/event-editor.c: Removed some crufty externs left over from Gnomecal. * gui/calendar-commands.c: #include "goto.h" Removed crufty variables left over from Gnomecal. (new_calendar): Do not take a full_name parameter. (init_username): Removed function. (init_calendar): Wheeeeeeee! Removed crufty function. (quit_cmd): Removed function. * gui/print.c (WEEK_STARTS_ON_MONDAY): Made it unconditionally FALSE because we do not use the configuration setting anyways. Sigh, all the printing code needs to be revamped. svn path=/trunk/; revision=7209
* Alarm trigger queueing for the GUI part.Federico Mena Quintero2000-12-231-0/+511
2000-12-21 Federico Mena Quintero <federico@helixcode.com> Alarm trigger queueing for the GUI part. * gui/alarm-notify.[ch]: New files with the high-level alarm notification system; mostly moved over from gnome-cal.c. The low-level timer stuff is still in alarm.[ch]. * gui/alarm-notify.c (alarm_notify_init): New function to initialize the alarm notification system. (alarm_notify_done): New function to shut down the alarm notification system. (alarm_notify_add_client): New function to start monitoring a calendar client for alarm notification. (alarm_notify_remove_client): New function to stop monitoring a client. * gui/alarm.h (AlarmDestroyNotify): Also pass in the alarm ID so the callback may know which ID is being destroyed. * gui/alarm.c (clear_itimer): New function. (pop_alarm): Use clear_itimer(). (alarm_done): New function to shut down the timer system. (alarm_add): Add some preconditions. Do not call the destroy notification function if we could not create the alarm. (alarm_ready): Pass the alarm ID to the destroy notify function. (alarm_remove): Likewise. Also, add some preconditions. * gui/gnome-cal.c: Removed the alarm notification functions from here since they are now in alarm-notify.c. (gnome_calendar_construct): Register the client with alarm_notify_add_client(). (gnome_calendar_destroy): Use alarm_notify_remove_client() to unregister the client. (obj_updated_cb): Do not do any alarm-related stuff. (obj_removed_cb): Likewise. * gui/main.c (main): Shut down the alarm timer system. (main): Initialize and shut down the alarm notification system. * gui/Makefile.am (evolution_calendar_SOURCES): Added alarm-notify.[ch] to the list of sources. * gui/calendar-model.c (calendar_model_set_cal_client): Only connect to the "cal_loaded" signal if the client is not already loaded. * gui/e-day-view.c (e_day_view_set_cal_client): Likewise. * gui/e-week-view.c (e_week_view_set_cal_client): Likewise. * gui/e-itip-control.c (update_calendar): Connect to "cal_loaded" before issuing the load request. svn path=/trunk/; revision=7130