aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/comp-util.h
Commit message (Collapse)AuthorAgeFilesLines
* cal_comp_event_new_with_current_time: Remove 'zone' parameter.Matthew Barnes2013-03-061-1/+0
| | | | Get the icaltimezone from the passed in ECalClient.
* Consolidate base utility libraries into libeutil.Matthew Barnes2012-12-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Evolution consists of entirely too many small utility libraries, which increases linking and loading time, places a burden on higher layers of the application (e.g. modules) which has to remember to link to all the small in-tree utility libraries, and makes it difficult to generate API documentation for these utility libraries in one Gtk-Doc module. Merge the following utility libraries under the umbrella of libeutil, and enforce a single-include policy on libeutil so we can reorganize the files as desired without disrupting its pseudo-public API. libemail-utils/libemail-utils.la libevolution-utils/libevolution-utils.la filter/libfilter.la widgets/e-timezone-dialog/libetimezonedialog.la widgets/menus/libmenus.la widgets/misc/libemiscwidgets.la widgets/table/libetable.la widgets/text/libetext.la This also merges libedataserverui from the Evolution-Data-Server module, since Evolution is its only consumer nowadays, and I'd like to make some improvements to those APIs without concern for backward-compatibility. And finally, start a Gtk-Doc module for libeutil. It's going to be a project just getting all the symbols _listed_ much less _documented_. But the skeletal structure is in place and I'm off to a good start.
* Adapt to single-include E-D-S libraries.Matthew Barnes2012-06-041-2/+2
|
* Coding style and whitespace cleanup.Matthew Barnes2011-09-041-2/+2
|
* Do not use deprecated EBook/ECal APIMilan Crha2011-06-141-11/+11
|
* Remove unused cal_comp_process_source_list_drop().Matthew Barnes2011-03-021-1/+0
|
* Move calendar preferences to the calendar module.Matthew Barnes2010-11-051-2/+14
| | | | | Continue replacing the use of calendar-config functions with GObject property bindings to EShellSettings properties.
* Bug #611165 - Use memo start date from a calendar view, if activeMilan Crha2010-06-241-0/+4
|
* Bug #499322 - Use extension for "Save as" suggested file nameMilan Crha2009-12-101-0/+2
|
* Bug #300567 - Calendar drawing optimizationsMilan Crha2009-07-301-1/+1
|
* Fix excessive whitespace.Matthew Barnes2009-07-131-1/+0
|
* Bug #252296 - Do not preset alarm for all day eventsMilan Crha2009-07-031-1/+1
|
* Prefer GLib basic types over C types.Matthew Barnes2009-05-291-1/+1
|
* Remove trailing whitespace, again.Matthew Barnes2009-05-291-1/+1
|
* Fixes #561312Chenthill Palanisamy2009-04-131-0/+1
| | | | | | | | | | | | | | | | | 2009-04-13 Chenthill Palanisamy <pchenthill@novell.com> Fixes #561312 * calendar/gui/comp-util.c: * calendar/gui/comp-util.h: Added a new function to sanitize master recurrence event before modifying all instances. * calendar/gui/dialogs/comp-editor.c: * calendar/gui/e-day-view.c: * calendar/gui/e-week-view.c: Used the new util api. Do not invoke recurrence dialog while modifying detached instances. svn path=/trunk/; revision=37518
* ** Fix for bug #318003Milan Crha2009-01-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 2009-01-27 Milan Crha <mcrha@redhat.com> ** Fix for bug #318003 * gui/memos-component.c: (selector_tree_data_dropped): * gui/tasks-component.c: (selector_tree_data_dropped): * gui/calendar-component.c: (selector_tree_data_dropped), (create_component_view): * gui/comp-util.h: (cal_comp_process_source_list_drop): * gui/comp-util.c: (update_single_object), (update_objects), (cal_comp_process_source_list_drop): Support move of the event in day view when dropped over the source list. Use the same function for events/tasks/memos. * gui/e-day-view.c: (e_day_view_on_drag_data_get): Encode string data same as memos and tasks do, with a source UID. * gui/e-calendar-table.c: (e_calendar_table_copy_clipboard): * gui/e-memo-table.c: (e_memo_table_copy_clipboard): Removed inappropriate comments. svn path=/trunk/; revision=37140
* ** Fix for bug #245156Milan Crha2009-01-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | 2009-01-15 Milan Crha <mcrha@redhat.com> ** Fix for bug #245156 * gui/e-day-view.c: (e_day_view_finish_long_event_resize), (e_day_view_finish_resize), (e_day_view_change_event_time), (e_day_view_on_top_canvas_drag_data_received), (e_day_view_on_main_canvas_drag_data_received): * gui/e-week-view.c: (e_week_view_change_event_time): * gui/e-calendar-view.c: (on_unrecur_appointment): Keep old timezone for dtstart/dtend when changing it. * gui/comp-util.h: (cal_comp_set_dtstart_with_oldzone), (cal_comp_set_dtend_with_oldzone): * gui/comp-util.c: (cal_comp_set_dtstart_with_oldzone), (cal_comp_set_dtend_with_oldzone), (datetime_to_zone): Helper functions to make it easier. svn path=/trunk/; revision=37079
* Change License from GPL to LGPLSankarasivasubramanian Pasupathilingam2008-09-241-13/+16
| | | | svn path=/trunk/; revision=36443
* updated novell copyright notices (left others alone)Jeffrey Stedfast2008-06-211-2/+2
| | | | svn path=/trunk/; revision=35665
* ** Fix for bug #536813Milan Crha2008-06-091-0/+1
| | | | | | | | | | | | | | | | | | 2008-06-09 Milan Crha <mcrha@redhat.com> ** Fix for bug #536813 * gui/comp-util.h: (is_icalcomp_on_the_server): * gui/comp-util.c: (is_icalcomp_on_the_server): Similar helper function as cal_comp_is_on_server only the parameter is icalcomponent. * gui/e-week-view-event-item.c: (e_week_view_event_item_double_click): * gui/e-week-view.c: (e_week_view_on_text_item_event): Do not start to edit the event on the double click if the event is not on the server yet. Storing the event can cause the renumbering events so the result can be that the edited event would be different. svn path=/trunk/; revision=35618
* ** Allow evolution to build with G_DISABLE_SINGLE_INCLUDES andMatthew Barnes2008-06-061-3/+1
| | | | | | | | | | 2008-06-06 Matthew Barnes <mbarnes@redhat.com> ** Allow evolution to build with G_DISABLE_SINGLE_INCLUDES and GTK_DISABLE_SINGLE_INCLUDES defined. (#536637) svn path=/trunk/; revision=35606
* ** Fix for bug #315101Milan Crha2007-11-051-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-11-05 Milan Crha <mcrha@redhat.com> ** Fix for bug #315101 * drag and drop to other source for multiselect * gui/comp-util.h: * gui/comp-util.c: (cal_comp_selection_set_string_list), (cal_comp_selection_get_string_list): Two new helper functions to set and get list of strings into GtkSelectionData. * gui/e-tasks.c: (get_selected_components_cb), (do_for_selected_components), (obtain_list_of_components), (table_drag_data_get): * gui/e-memos.c: (get_selected_components_cb), (do_for_selected_components), (obtain_list_of_components), (table_drag_data_get): Pass list of selected components as data for drag and drop instead of focused component from the list. * gui/e-tasks.c: (table_drag_data_delete): * gui/e-memos.c: (table_drag_data_delete): Obsolete now. * gui/tasks-component.c: (selector_tree_drag_data_received): * gui/memos-component.c: (selector_tree_drag_data_received): Receiving list of components, so made changes here to reflect it. svn path=/trunk/; revision=34496
* ** Fix for bug #455862 Plugged memory leaks.Hiroyuki Ikezoe2007-10-071-0/+3
| | | | | | | | | | | | | | | | | | | 2007-10-07 Hiroyuki Ikezoe <poincare@ikezoe.net> ** Fix for bug #455862 Plugged memory leaks. * gui/comp-util.c: * gui/comp-util.h:(cal_comp_util_get_n_icons): A new function to get the number of icons owned by ECalComponent. * gui/e-day-view-main-item.c: * gui/e-day-view.c: * gui/e-week-view-event-item.c: * gui/e-week-view.c: Use cal_comp_util_get_n_icons. svn path=/trunk/; revision=34359
* Update FSF address in header comments (#469886). Patch from TobiasMatthew Barnes2007-09-021-1/+1
| | | | | | | | | | 2007-09-02 Matthew Barnes <mbarnes@redhat.com> * Update FSF address in header comments (#469886). Patch from Tobias Mueller. svn path=/trunk/; revision=34151
* Memo Component - submitted by Nathan Owens <pianocomp81@yahoo.com>Harish Krishnaswamy2005-10-191-0/+1
| | | | | | | | 2005-10-19 Harish Krishnaswamy <kharish@novell.com> Memo Component - submitted by Nathan Owens <pianocomp81@yahoo.com> svn path=/trunk/; revision=30537
* fixes #23281, some refactoring and list view get_selected_time_rangeRadek Doulik2004-01-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implementation 2004-01-15 Radek Doulik <rodo@ximian.com> * gui/calendar-component.c (impl_requestCreateItem): merge with JP's changes 2004-01-14 Radek Doulik <rodo@ximian.com> * gui/e-cal-list-view.c (e_cal_list_view_get_selected_time_range): new implementation, use time range from selected event * gui/e-cal-view.c (e_calendar_view_get_selected_time_range): return gboolean, TRUE if requested time was set, FALSE otherwise (e_calendar_view_new_appointment_full): use current time if time range is unavailable * gui/calendar-component.c (impl_requestCreateItem): use e_calendar_view_new_appointment_full instead of cal_comp_event_new_with_current_time * gui/e-cal-view.c (e_calendar_view_new_appointment_full): new helper function * gui/comp-editor-factory.c (edit_new): use cal_comp_event_new_with_current_time * gui/calendar-component.c (impl_requestCreateItem): use cal_comp_event_new_with_current_time * gui/comp-util.c (cal_comp_event_new_with_current_time): new function, cut'n'pasted from get_default_event (calendar-component.c and comp-editor-factory.c) svn path=/trunk/; revision=24238
* Various changes to merge in evolution-data-server reliance.JP Rosevear2003-11-071-10/+10
| | | | svn path=/trunk/; revision=23206
* If only the pipe wouldn't break.JP Rosevear2003-03-051-1/+2
| | | | svn path=/trunk/; revision=20143
* check to see if the component is already on the server or notJP Rosevear2002-09-211-9/+2
| | | | | | | | | | | | | | | | | | | 2002-09-20 JP Rosevear <jpr@ximian.com> * gui/comp-util.c (cal_comp_is_on_server): check to see if the component is already on the server or not * gui/comp-util.h: change proto * gui/e-week-view.c (e_week_view_on_editing_stopped): only delete the event if the summary is empty and the component is not already on the server * gui/e-day-view.c (e_day_view_on_editing_stopped): same Fixes #14111 svn path=/trunk/; revision=18138
* Use an EMessageBox instead of a gnome_dialog_question so that the labelFederico Mena Quintero2001-10-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-30 Federico Mena Quintero <federico@ximian.com> * gui/dialogs/delete-comp.c (delete_component_dialog): Use an EMessageBox instead of a gnome_dialog_question so that the label gets line breaking. Fixes bug #11260. 2001-10-29 Federico Mena Quintero <federico@ximian.com> Fix bug #13649. * gui/calendar-config.c (calendar_config_get_use_default_reminder): New function. (calendar_config_set_use_default_reminder): New function. (calendar_config_get_default_reminder_interval): New function. (calendar_config_set_default_reminder_interval): New function. (calendar_config_get_default_reminder_units): New function. (calendar_config_set_default_reminder_units): New function. (config_read): Get the options for default reminders. (calendar_config_write): Set the options for default reminders. * gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_show_config): Set the default reminder widgets from the config values. (cal_prefs_dialog_update_config): Set the config values from the widgets. * gui/comp-util.c (cal_comp_event_new_with_defaults): New function; creates a VEVENT component with the default alarm. * gui/e-day-view.c (e_day_view_key_press): Use cal_comp_event_new_with_defaults (); * gui/e-week-view.c (e_week_view_key_press): Likewise. * gui/calendar-model.c (calendar_model_append_row): Likewise. * gui/comp-editor-factory.c (get_default_component): Likewise. * gui/gnome-cal.c (gnome_calendar_new_appointment_for): Likewise. * cal-util/cal-component.c (ensure_alarm_properties_cb): Ensure we have a DESCRIPTION property. (cal_component_commit_sequence): Ensure we have the mandatory alarm properties. svn path=/trunk/; revision=14446
* Delete appointments with empty summaries. Fixes Ximian bug #780.Federico Mena Quintero2001-10-281-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-27 Federico Mena Quintero <federico@ximian.com> * gui/e-day-view.c (e_day_view_on_editing_stopped): Delete appointments with empty summaries. Fixes Ximian bug #780. * gui/e-week-view.c (e_week_view_on_editing_stopped): Likewise. * gui/dialogs/delete-comp.c (delete_component_dialog): Added an argument to specify whether we unconditionally want single components to be considered as not having a summary. * gui/comp-util.c (cal_comp_confirm_delete_empty_comp): New function. * gui/misc.[ch]: New files with miscellaneous utility functions; moved string_is_empty() over from calendar-model.c. * gui/calendar-model.c: Use the string_is_empty() function from misc.c. * gui/Makefile.am (evolution_calendar_SOURCES): Added misc.[ch] to the list of sources. svn path=/trunk/; revision=14233
* Fixing the license text.Ettore Perazzoli2001-10-281-4/+3
| | | | svn path=/trunk/; revision=14214
* added 'different_timezone' fields to EDayViewEvent and EWeekViewEvent, toDamon Chaplin2001-08-071-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-06 Damon Chaplin <damon@ximian.com> * gui/e-week-view.h: * gui/e-day-view.h: added 'different_timezone' fields to EDayViewEvent and EWeekViewEvent, to note that the event is in a different timezone. We now compute this once when we add the event to the array, rather than each time we draw the event. If it is set, we will draw the timezone icon next to the event. * gui/e-day-view-main-item.c: take transparency into account when drawing the blue vertical bars to represent busy time. * gui/tag-calendar.c: take transparency into account when tagging the mini calendar. * gui/e-calendar-table.c (e_calendar_table_init): removed the "None" options for transparency and classification, since these properties have defaults anyway, so we may as well use those to keep it simple. Also use "Free" and "Busy" for transparency, rather than "Transparent" and "Opaque". * gui/calendar-model.c: updated classification & transparency code as above. * gui/e-calendar-table.etspec: changed "Transparency" to "Show Time As" since people have a chance of understanding that. * gui/e-week-view.c: * gui/e-day-view.c: * gui/gnome-cal.c: added functions to get the visible time range. * gui/calendar-commands.c: finished stuff to set the folder bar label to the dates currently displayed. * gui/control-factory.c (control_factory_new_control): connected signal to update the folder title bar label when the dates shown are changed. I had to connect it here since we need the BonoboControl in the callback, and I don't know how to get the control from the widget. * gui/tasks-control.c (tasks_control_activate): clear the folder bar label. We could display something here at some point. * gui/dialogs/recurrence-page.glade: changed "_Add" to "A_dd", since we have an "_Actions" menu. (These also use Alt+key, right?) * gui/dialogs/event-page.glade: * gui/dialogs/event-page.c: added 'Show Time As' field, which is really the TRANSP property but with a better name! Also changed one of the "_Confidential" to "Con_fidential" since we already have "_Contacts" using the same 'C' key. * pcs/cal-backend-file.c (cal_backend_file_get_free_busy): skip events that are TRANSPARENT. Also added comment as this code looks inefficient. * cal-util/cal-component.c: removed stuff for comparing timezones. * gui/comp-util.c (cal_comp_util_compare_event_timezones): moved the above function here, and updated it to compare the UTC offsets of the times as well as the TZIDs. svn path=/trunk/; revision=11717
* cal-client/cal-client.[hc] cal-util/cal-component.cDamon Chaplin2001-07-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-03 Damon Chaplin <damon@ximian.com> * cal-client/cal-client.[hc] * cal-util/cal-component.c * cal-util/cal-recur.[hc] * cal-util/test-recur.c * cal-util/timeutil.c * gui/calendar-config.c * gui/calendar-model.[hc] * gui/comp-util.[hc] * gui/e-calendar-table.c * gui/e-day-view-main-item.c * gui/e-day-view-top-item.c * gui/e-day-view.[hc] * gui/e-itip-control.c * gui/e-timezone-entry.[hc] * gui/e-week-view.[hc] * gui/gnome-cal.[hc] * gui/goto.c * gui/tag-calendar.[hc] * gui/dialogs/cal-prefs-dialog.c * gui/dialogs/comp-editor-page.[hc] * gui/dialogs/comp-editor-util.[hc] * gui/dialogs/comp-editor.c * gui/dialogs/e-timezone-dialog.[hc] * gui/dialogs/event-page.c * gui/dialogs/meeting-page.c * gui/dialogs/recurrence-page.c * gui/dialogs/task-details-page.c * gui/dialogs/task-details-page.glade * gui/dialogs/task-page.c * idl/evolution-calendar.idl * pcs/cal-backend-file.c * pcs/cal-backend.c * pcs/cal-backend.h * pcs/cal.c * pcs/query.c: timezone changes everywhere. There's still quite a few things to update, and its not working well at present. svn path=/trunk/; revision=10729
* 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
* 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
* These changes fix bugzilla bugs #874 and #875.Federico Mena Quintero2000-11-091-0/+29
2000-11-08 Federico Mena Quintero <federico@helixcode.com> These changes fix bugzilla bugs #874 and #875. * cal-util/cal-component.c (cal_component_get_exdate_list): Return a list of CalComponentDateTime instead of simple struct icaltimetype objects. Exception date properties *can* contain a timezone parameter, so we need to include those if they are present. (cal_component_set_exdate_list): On the input, handle a list of CalComponentDateTime structures. On the internals, handle a list of struct datetime instead of plain properties. (cal_component_free_exdate_list): Handle a list of CalComponentDateTime structures. (scan_exdate): Create a list of struct datetime structures. (free_icalcomponent): Free the exdate_list properly. * cal-util/cal-recur.c (generate_instances_for_chunk): Use the proper types for exception dates. * gui/comp-util.h: * gui/comp-util.c: New files with utilities for manipulating calendar component objects. (cal_comp_util_add_exdate): New function. * gui/Makefile.am (evolution_calendar_SOURCES): Added comp-util.[ch] to the list of sources. * gui/e-day-view.c (add_exdate): New convenience function to add an exception date to a calendar component. (e_day_view_on_unrecur_appointment): Use cal_comp_util_add_exdate(). (e_day_view_on_delete_occurrence): Likewise. * gui/e-week-view.c (e_week_view_on_delete_occurrence): Likewise. (e_week_view_on_unrecur_appointment): Likewise. * gui/event-editor.c (nth_weekday): Be paranoid about valid position values. (fill_widgets): Use the proper types for exdates. (dialog_to_comp_object): Likewise. svn path=/trunk/; revision=6517