aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/evolution-calendar-control.c
Commit message (Collapse)AuthorAgeFilesLines
* Added a hash table to map calendar objects to their respective eventFederico Mena Quintero2000-06-011-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-31 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.h (GnomeCalendar): Added a hash table to map calendar objects to their respective event editors. * gui/gnome-cal.c (gnome_calendar_init): Create the object_editor_hash. (gnome_calendar_destroy): Free the object_editor_hash. (gnome_calendar_edit_object): New function to centralize the launching of event editors; if one already exists for a particular calendar object, we just raise its window. (edit): Use gnome_calendar_edit_object(). * gui/calendar-commands.c (display_objedit): Use gnome_calendar_edit_object(). (display_objedit_today): Likewise. * gui/e-day-view.c (e_day_view_on_new_appointment): Likewise. (e_day_view_on_edit_appointment): Likewise. * gui/e-week-view.c (e_week_view_on_new_appointment): Likewise. (e_week_view_on_edit_appointment): Likewise. * gui/event-editor.c (event_editor_new): Do not take in an iCalObject; rather provide an event_editor_set_ical_object() function. We need this because a single editor may be switched between different calendar objects. Also, do not show the event editor; leave it up to the client code. (event_editor_construct): Likewise. (clear_widgets): New function to clear the widgets to default values. (fill_widgets): New function to fill in the widgets from the iCalObject. We don't do this in init_widgets() anymore. (free_exception_clist_data): New function to free the exceptions clist data. We were leaking the row data. (init_widgets): Hook to the destroy signal of the exceptions clist. (event_editor_set_ical_object): New function. Now it also makes a copy of the calendar object for the event editor; clients do not need to copy it anymore. (event_editor_destroy): Unref the UI handler as well. (event_editor_class_init): New "ical_object_released" signal to notify the parent that we are no longer editing the calendar object. (make_title_from_ico): Handle NULL objects. * gui/event-editor.h (EventEditor): Removed fields that are no longer used. svn path=/trunk/; revision=3317
* Reorganized the shell to allow dynamic registration of storages andEttore Perazzoli2000-05-251-13/+11
| | | | | | | folder types, and changed all the components to work with the new setup. svn path=/trunk/; revision=3199
* Alarm stuff I had not cvs added, sigh - FedericoFederico Mena Quintero2000-05-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-14 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (display_notification): Use the alarm notification dialog. (display_notification_cb): New callback for the result of the alarm notification dialog. * gui/dialogs/alarm-notify.glade: New file with the alarm notification dialog. * gui/dialogs/alarm-notify-dialog.[ch]: New file. * gui/dialogs/Makefile.am: New file. * gui/Makefile.am (SUBDIRS): Added the dialogs directory. 2000-05-13 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (trigger_alarm_cb): Better error checking, and plug leaks of str_ico and ico. * gui/evolution-calendar-control.c (main): Initialize libglade. svn path=/trunk/; revision=3072
* gladeified replacement for eventedit.cSeth Alves2000-05-161-1/+7
| | | | | | | | | | * gui/event-editor.[ch]: gladeified replacement for eventedit.c * gui/event-editor-utils.[ch]: utilities used by event-editor.c * gui/event-editor-dialog.glade: glade file used by event-editor.c svn path=/trunk/; revision=3046
* Removed unused arguments. Load the initial alarms here. (load_alarms): NewFederico Mena Quintero2000-05-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-11 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (gnome_calendar_update_all): Removed unused arguments. Load the initial alarms here. (load_alarms): New function to load a day's worth of alarms. (gnome_calendar_class_init): Eeeek! This was taking in an incorrect argument type. (gnome_calendar_init): Now the calendar keeps a hash table of UIDs->queued alarms. Create the hash table here. (gnome_calendar_destroy): Destroy the alarms hash table. (gnome_calendar_object_updated_cb): Remove the alarms for the object and regenerate them. (gnome_calendar_object_removed_cb): Remove the alarms for the object. * gui/alarm.c (alarm_add): Do not take in a CalendarAlarm, just the trigger time, the callback and the closure data. Return an opaque identifier for the alarm so that it can be removed by the client code if needed. Use the queue_alarm() helper function. (queue_alarm): Helper function to actually queue the alarm and set up the itimer. Deal with a nonzero return value from setitimer(). (alarm_remove): New function to remove an alarm based on its ID. (pop_alarm): New helper function; pops the first alarm of the queue and resets the timer as appropriate. (alarm_ready): Simplified a lot by using pop_alarm(). * idl/evolution-calendar.idl (Cal): Added get_alarms_in_range(). * pcs/cal.c (build_instance_seq): New function to build a CORBA sequence from the internal list of instances. (Cal_get_events_in_range): Use build_instance_seq(). (Cal_get_alarms_in_range): Implemented new method. * pcs/cal-backend.c (cal_backend_get_alarms_in_range): New function with the get_alarms_in_range() engine. * pcs/cal-backend-imc.c (cal_backend_imc_get_alarms_in_range): Implemented the get_alarms_in_range() method. * cal-client/cal-client.c (cal_client_get_alarms_in_range): New client-side function for getting the alarms. (build_instance_list): New helper function to build the CalObjInstance list from the CORBA sequence. (cal_client_get_events_in_range): Use build_instance_list(). * gui/calendar-commands.h: #include <cal-util/calobj.h>. #include "gnome-cal.h". * gui/e-week-view.c: #include "calendar-commands.h" instead of main.h; the latter is an obsolete file and will be killed. * gui/evolution-calendar-control.c (main): Call init_bonobo() before anything else. We need the GTK+ object system initialized. * gui/Makefile.am (evolution_calendar_SOURCES): Do not use main.h. * cal-util/cal-util.c (cal_alarm_instance_list_free): New function. svn path=/trunk/; revision=2987
* + * gui/evolution-calendar-control.c (PROPERTY_CALENDAR_URI):Matthew Loper2000-05-071-2/+6
| | | | | | | | + Changed to "folder_uri" from "calendar_uri". + (set_prop): The uri given to us is a directory, so we append a + filename onto the end before we use it. svn path=/trunk/; revision=2852
* Made Evolution OAF-compatible.Ettore Perazzoli2000-04-281-8/+25
| | | | svn path=/trunk/; revision=2673
* allow for null icoSeth Alves2000-04-261-1/+1
| | | | | | | | * gui/e-day-view.c (e_day_view_update_event): allow for null ico * gui/e-week-view.c (e_week_view_update_event): allow for null ico svn path=/trunk/; revision=2605
* set calendar's uri with a property bagSeth Alves2000-04-191-19/+91
| | | | | | | | | | | | | | | * e-shell-view.c (get_view): set calendar's uri with a property bag * gui/evolution-calendar-control.c (calendar_properties_init): create a property bag for this control (set_prop): callback for property sets (get_prop): callback for proprety gets * gui/calendar-commands.c (calendar_set_uri): new function, called when the "calendar_uri" property is set on the calendar- control's property bag. svn path=/trunk/; revision=2501
* new function: friendly wrapper for cal_client_create_calendarSeth Alves2000-04-091-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | * gui/gnome-cal.c (gnome_calendar_create): new function: friendly wrapper for cal_client_create_calendar * gui/calendar-commands.c (new_calendar): call gnome_calendar_create if no filename is provided * gui/prop.c (properties): calendar is a frame * gui/calendar-commands.c (calendar_control_activate): sort out the menus a bit, more of them show up now. * gui/Makefile.am: don't build library or test, just the bonobo control * gui/gncal-todo.c (simple_todo_editor): calendar is a frame instead of a window, now. * gui/gnome-cal.c (gnome_calendar_new): same * gui/goto.c (goto_dialog): same svn path=/trunk/; revision=2339
* removed uih from the argument list, added cal. use cal as user_data inSeth Alves2000-04-071-11/+4
| | | | | | | | | * gui/calendar-commands.c (calendar_control_activate): removed uih from the argument list, added cal. use cal as user_data in callbacks rather than the control. (calendar_control_deactivate): removed uih from argument list svn path=/trunk/; revision=2311
* removed (setup_appbar): removed (calendar_control_activate): new functionSeth Alves2000-04-061-0/+20
| | | | | | | | | | | * gui/calendar-commands.c (setup_menu): removed (setup_appbar): removed (calendar_control_activate): new function -- does the work that setup_appbar and setup_menu used to do. (calendar_control_deactivate): undoes what calendar_control_activate does by removing the toolbar items and menu items. svn path=/trunk/; revision=2299
* build test-calendar-widget and evolution-calendar, common stuff is in aSeth Alves2000-04-061-0/+85
* gui/Makefile.am: build test-calendar-widget and evolution-calendar, common stuff is in a library * gui/gnome-cal.c (gnome_calendar_get_type): made the calendar widget based on a gtk_frame rather than a gnome_app * gui/calendar-commands.c: split out some of main.c * gui/evolution-calendar-control.c: bonobo bung so evolution can use the calendar widget svn path=/trunk/; revision=2294