Commit Graph

155 Commits

Author SHA1 Message Date
278215b3cf changed to use EDateEdit.
2000-09-11  Damon Chaplin  <damon@helixcode.com>

	* gui/dialogs/task-editor.c: changed to use EDateEdit.

	* gui/dialogs/task-editor-dialog.glade: added "None" option to
	Classification option menu, and used custom widgets for the date
	entries so we can use EDateEdit widgets.

	* gui/event-editor.c: changed to use EDateEdit. Note that this needs
	to be fixed at some point to handle invalid dates, i.e. when
	e_date_edit_get_time returns -1.

	* gui/calendar-model.c (ensure_task_complete):
	(ensure_task_not_complete): new functions to set the related properties
	to make sure a task is marked as complete on not, i.e. "Date Completed"
	"Status" and "Percent" properties.

2000-09-08  Damon Chaplin  <damon@helixcode.com>

	* gui/calendar-model.c (get_is_complete): use the status field rather
	than the completed date, as it is more reliable.
	(get_is_overdue): use get_is_complete().
	(calendar_model_mark_task_complete): check if it is already complete,
	and if so don't update it.

	* cal-util/cal-component.c (cal_component_get_status):
	(cal_component_set_status): added functions to support the STATUS
	property. Also added the property to CalComponentPrivate and set it
	to NULL in free_icalcomponent(). Someone should check my code as I've
	mainly done a Cut & Paste job.

svn path=/trunk/; revision=5305
2000-09-10 23:25:16 +00:00
900a7ac710 Use cal component pilot stuff properly (find_record_in_repository): Remove
2000-09-10  JP Rosevear  <jpr@helixcode.com>

	* conduits/todo/todo-conduit.c (local_record_from_icalobject): Use
	cal component pilot stuff properly
	(find_record_in_repository): Remove cruft
	(ical_from_remote_record): Remove cruft
	(update_record): Set the vtype immediately after creation. Remove
cruft

	* conduits/todo/todo-conduit.h: Remove iCalObject stuff

	* conduits/todo/todo-conduit-config.h: Move all the config stuff
	here, I need to kill the warnings at some point

	* conduits/todo/todo-conduit-control-applet.c (doRevertSettings):
	Set all the state variables correctly on a revert
	(doSaveSettings): Update original state
	(doHelp): Rename from about_cb
	(main): Destroy configurations when done

	* conduits/todo/Makefile.am: Tidy

	* pcs/cal-backend-file.c (cbf_pilot_hash): Function for hashing
	pilot ids
	(cbf_pilot_equal): For hash table of pilot ids
	(cal_backend_file_destroy): Destroy pilot id hash
	(add_component): Insert the uid into the pilot hash
	(remove_component): Remove the uid from the pilot hash
	(cal_backend_file_load): Create the pilot hash
	(cal_backend_file_create): ditto
	(cal_backend_file_get_uid_by_pilot_id): Implement using the pilot
hash
	(cal_backend_file_update_pilot_id): ditto

	* cal-util/cal-component.h: Update prototypes

	* cal-util/cal-component.c (cal_component_get_pilot_id): Implement
	using ical X properties
	(cal_component_set_pilot_id): ditto
	(cal_component_get_pilot_status): ditto
	(cal_component_set_pilot_status): ditto
	(cal_component_free_pilot_id): Free a pilot id
	(cal_component_free_pilot_status): Free a pilot status

svn path=/trunk/; revision=5298
2000-09-10 06:52:09 +00:00
a88bdf9c4c Fixed some warnings.
2000-09-08  Christopher James Lahey  <clahey@helixcode.com>

	* cal-util/cal-recur.c, gui/e-day-view.c, gui/e-week-view.c,
	gui/event-editor.c, gui/getdate.y, gui/gncal-todo.c,
	gui/gnome-cal.c, gui/dialogs/task-editor.c: Fixed some warnings.

svn path=/trunk/; revision=5264
2000-09-08 16:45:12 +00:00
51857b1153 Use new cal_component_has_recurrences convenience function
2000-09-06  JP Rosevear  <jpr@helixcode.com>

	* gui/e-day-view-main-item.c
(e_day_view_main_item_draw_day_event):
	Use new cal_component_has_recurrences convenience function

	* gui/e-week-view.c (e_week_view_show_popup_menu): ditto

	* gui/e-week-view-event-item.c
(e_week_view_event_item_draw_icons):
	ditto

	* gui/calendar-model.c (calendar_model_value_at): ditto
	(calendar_model_value_at): ditto

	* gui/e-day-view.c (e_day_view_on_event_click): ditto
	(e_day_view_on_event_right_click): ditto
	(e_day_view_on_top_canvas_motion): ditto
	(e_day_view_on_top_canvas_motion): ditto
	(e_day_view_on_main_canvas_motion): ditto
	(e_day_view_on_main_canvas_motion): ditto
	(e_day_view_reshape_day_event): ditto

	* gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event):
	ditto

	* gui/e-day-view.c (e_day_view_on_long_event_click): ditto

svn path=/trunk/; revision=5220
2000-09-06 10:42:49 +00:00
5c27983900 Use new convenience functions and only get the recurrence stuff if needed.
2000-09-06  JP Rosevear  <jpr@helixcode.com>

	* cal-util/cal-recur.c (cal_recur_generate_instances): Use
	new convenience functions and only get the recurrence
	stuff if needed.  Free the recurrence stuff if used.

2000-09-05  JP Rosevear  <jpr@helixcode.com>

	* cal-util/cal-component.h: Add new prototypes

	* cal-util/cal-component.c (cal_component_has_exrules): Utility
	function to determine whether a cal component has any exrules
	(cal_component_has_exdates): Ditto for exdates
	(cal_component_has_exceptions): Utility function to determine
	whether a cal component has any exception rules
	(cal_component_has_recurrences):Utility function to determine
	whether a cal component has any recurrence rules

svn path=/trunk/; revision=5219
2000-09-06 09:59:17 +00:00
114f5b7f91 Kill all exdates if there are no dates in the box
2000-09-05  JP Rosevear  <jpr@helixcode.com>

	* gui/event-editor.c (dialog_to_comp_object): Kill all exdates if
	there are no dates in the box

	* cal-util/cal-recur.c (generate_instances_for_year): Add a
special
	case for when there are exceptions but no rrules or rdates.
	(cal_obj_remove_exceptions): Use date only compare func
	(cal_obj_date_only_compare_func): New compare function that
	compares the date only, not the time.

	* gui/event-editor.c (dialog_to_comp_object): Need a break for the
	yearly recurrence type
	(dialog_to_comp_object): We need to allocate icaltimetypes for the
	exdate list
	(fill_widgets): Handle a weekly recurrence with no particular day
set
	(dialog_to_comp_object): Kill all rrules if "None" is selected as
	the recurrence type by the user

svn path=/trunk/; revision=5218
2000-09-06 01:06:48 +00:00
54a6d12d79 The exdate and rdate lists are a list of icaltimetypes, not
2000-09-05  JP Rosevear  <jpr@helixcode.com>

	* cal-util/cal-recur.c (generate_instances_for_year): The exdate
	and rdate lists are a list of icaltimetypes, not
CalComponentPeriods

	*gui/e-day-view.c (e_day_view_on_delete_occurrence): The exdate
list
	is a list of icaltimetypes, not CalComponentDateTimes

svn path=/trunk/; revision=5211
2000-09-05 21:48:56 +00:00
2e91dd59bf Free the data, not the list element.
2000-09-05  JP Rosevear  <jpr@helixcode.com>

	* cal-util/cal-component.c (cal_component_free_recur_list): Free
	the data, not the list element.

svn path=/trunk/; revision=5203
2000-09-05 20:10:52 +00:00
84680074b1 Compute the event duration using the event start/end times, not the
2000-09-05  JP Rosevear  <jpr@helixcode.com>

	* cal-util/cal-recur.c (cal_recur_generate_instances): Compute
	the event duration using the event start/end times, not the
	interval times.

svn path=/trunk/; revision=5199
2000-09-05 19:21:11 +00:00
e0daf2ad0c Check to see if r->enddate is (time_t)-1 and set to 0 if so
2000-09-05  JP Rosevear  <jpr@helixcode.com>

	* cal-util/cal-recur.c (cal_recur_from_icalrecurrencetype): Check
	to see if r->enddate is (time_t)-1 and set to 0 if so

svn path=/trunk/; revision=5198
2000-09-05 18:16:26 +00:00
ba9c7d0217 We don't need AC_PROG_RANLIB and AM_PROG_LIBTOOL
2000-09-01  JP Rosevear  <jpr@helixcode.com>

	* configure.in: We don't need AC_PROG_RANLIB and
	AM_PROG_LIBTOOL

	* src/libical/icalyacc.y (clear_recur): Explicitly
	set the week_start to the Monday default in case the
	recurrence rule does not.

2000-09-01  JP Rosevear  <jpr@helixcode.com>

	* gui/event-editor.c: Make toolbar save and close button.
	We should put a similar menu option in sometime.

2000-08-31  JP Rosevear  <jpr@helixcode.com>

	* cal-util/cal-recur.c (array_to_list): Use
	ICAL_RECURRENCE_ARRAY_MAX instead of MAX_SHORT

svn path=/trunk/; revision=5164
2000-09-01 15:24:30 +00:00
48ff93b644 New function. We need this from code that dynamically updates from a
2000-08-28  Federico Mena Quintero  <federico@helixcode.com>

	* cal-client/cal-client.c (cal_client_is_loaded): New function.
	We need this from code that dynamically updates from a client and
	could not have connected to the "cal_loaded" signal right after
	the client was created.

	* gui/calendar-model.c (load_objects): Do not try to load the
	objects if the client has not been loaded yet.
	(cal_loaded_cb): Check the status value.

	* gui/calendar-model.h (CalendarModel): Declare the private
	structure here so that gdb will give me love.

	* pcs/cal-factory.h (CalFactory): Likewise.

	* pcs/cal.h (Cal): Likewise.

	* cal-client/cal-listener.h (CalListener): Likewise.

	* cal-client/cal-client.h (CalClient): Likewise.

	* pcs/cal-backend.h (CalBackend): This no longer has a private
	structure, so remove it.

	* cal-util/Makefile.am (libcal_util_la_SOURCES): Removed the
	vCalendar and old iCalendar cruft.
	(libcal_utilinclude_HEADERS): Likewise.
	Removed the obsolete iCalendar test program.

svn path=/trunk/; revision=5091
2000-08-28 23:27:51 +00:00
a4789a176c We no longer need time_from_icaltimetype as libical has the API for this
2000-08-28  JP Rosevear  <jpr@helixcode.com>

	* cal-util/timeutil.h: We no longer need time_from_icaltimetype
	as libical has the API for this

	* cal-util/timeutil.c: ditto

	* cal-util/cal-recur.c: Replace time_from_icaltimetype with
	icaltime_as_timet

	* gui/calendar-model.c: ditto

	* gui/event-editor.c: ditto

	* gui/gnome-cal.c: ditto

svn path=/trunk/; revision=5090
2000-08-28 23:17:08 +00:00
f9d5c37358 Update for libical 0.19
2000-08-24  JP Rosevear  <jpr@helixcode.com>

	* Update for libical 0.19

svn path=/trunk/; revision=5024
2000-08-24 21:34:24 +00:00
0d7ec294af Remove status bar
2000-08-23  JP Rosevear  <jpr@helixcode.com>

	* gui/event-editor-dialog.glade: Remove status bar

	* cal-util/cal-component.c (cal_component_set_rrule_list): Allow
	a null list
	(cal_component_set_rdate_list): Allow a null list

	* gui/e-day-view.c (e_day_view_on_new_appointment): Commit
	the CalComponent sequence

svn path=/trunk/; revision=4995
2000-08-24 01:20:34 +00:00
bf9f26b773 Added the cal-util library to the documentation framework - Federico
svn path=/trunk/; revision=4839
2000-08-14 23:59:13 +00:00
aa30b83241 stubs for pilot id accessors (cal_component_get_pilot_status):
* cal-util/cal-component.c (cal_component_get_pilot_id):
	(cal_component_set_pilot_id):  stubs for pilot id accessors
	(cal_component_get_pilot_status):
	(cal_component_set_pilot_status): stubs for pilot status accessors

	* conduits/calendar/calendar-conduit.c (transmit): start to
	convert to cal-component interface

	* conduits/todo/todo-conduit.c (transmit): same

svn path=/trunk/; revision=4767
2000-08-12 04:19:56 +00:00
57b5ee8ae3 Generate a prettier string for the geographical position.
2000-08-11  Federico Mena Quintero  <federico@helixcode.com>

	* gui/calendar-model.c (get_geo): Generate a prettier string for
	the geographical position.
	(get_classification): New function.
	(get_categories): New function.
	(get_completed): New function.
	(get_dtend): New function.
	(get_dtstart): New function.
	(get_due): New function.
	(get_percent): New function.
	(get_priority): New function.
	(get_summary): New function.
	(get_transparency): New function.
	(get_url): New function.
	(get_has_alarms): New function.
	(get_has_recurrences): New function.
	(get_is_complete): New function.
	(get_is_overdue): New function.

	* cal-util/cal-component.c (scan_property): Handle the GEO
	property.
	(free_icalcomponent): Likewise.
	(cal_component_get_geo): Likewise.
	(cal_component_set_geo): Likewise.
	(cal_component_free_geo): Likewise.
	(cal_component_set_exdate_list): Removed incorrect assertion.
	(cal_component_set_exrule_list): Removed incorrect assertion.
	(cal_component_get_next_alarm): Oops, this had not been
	implemented at all.
	(cal_component_has_rdates): New function.
	(cal_component_has_rrules): New function.

	* cal-util/cal-component.h (CalComponentField): Added the GEO
	property.

svn path=/trunk/; revision=4763
2000-08-12 01:50:34 +00:00
bba515a79c Handle the PERCENT-COMPLETE property. (free_icalcomponent): Likewise.
2000-08-11  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-component.c (scan_property): Handle the
	PERCENT-COMPLETE property.
	(free_icalcomponent): Likewise.
	(cal_component_get_percent): Likewise.
	(cal_component_set_percent): Likewise.
	(cal_component_free_percent): Likewise.
	(scan_property): Handle the PRIORITY property.
	(free_icalcomponent): Likewise.
	(cal_component_get_priority): Likewise.
	(cal_component_set_priority): Likewise.
	(cal_component_free_priority): Likewise.

	* cal-util/cal-component.h (CalComponentField): New enumeration
	with the list of fields we support for ETable.

svn path=/trunk/; revision=4745
2000-08-11 17:49:53 +00:00
ac94f697a5 New function. (cal_component_get_icalcomponent): Ensure that the SEQUENCE
2000-08-07  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-component.c (cal_component_clone): New function.
	(cal_component_get_icalcomponent): Ensure that the SEQUENCE
	property does not need incrementing.

	* gui/dialogs/alarm-notify-dialog.c (alarm_notify_dialog): Use
	CalComponent.  Deal with an empty summary property.

svn path=/trunk/; revision=4589
2000-08-08 02:55:29 +00:00
4de1f796a4 Big sync. Disable calendar compilation for a few hours - Federico
2000-08-07  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-component.c (cal_component_get_as_string): Doh,
	libical owns the string's memory, so do not free it.

	* cal-client/client-test.c (create_client): Connect to the destroy
	signal of the client here.

	* cal-client/test.ics: New test file, modified from Eric Busboom's
	test file from RFC 2445.

2000-08-05  Federico Mena Quintero  <federico@helixcode.com>

	* cal-client/client-test.c (dump_component): This was gone for
	some reason.
	(main): Load a new test file.

2000-08-04  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-component.c (cal_component_commit_sequence): New
	function to commit changes to the SEQUENCE property.
	(cal_component_get_as_string): Ensure that the sequence has been
	committed.

	* cal-client/cal-client.c (cal_client_get_object): Use
	CalComponent instead of the old iCalObject.
	(cal_client_update_object): Use iCalObject.  Commit the SEQUENCE
	property before stringifying the object and piping it over to the
	Wombat.

svn path=/trunk/; revision=4585
2000-08-07 21:38:28 +00:00
83cbc862e6 New files for the iCalendar file backend.
2000-08-02  Federico Mena Quintero  <federico@helixcode.com>

	* pcs/cal-backend-file.[ch]: New files for the iCalendar file
	backend.

	* pcs/Makefile.am (libpcs_a_SOURCES): Added cal-backend-file.[ch].

	* cal-util/cal-component.c (cal_component_set_icalcomponent):
	Return an operation success code for if we are passed a component
	of a type we don't support.

svn path=/trunk/; revision=4479
2000-08-02 22:15:22 +00:00
4e5b1da82e Use CalComponent and the new property types instead of the old iCalObject
2000-07-31  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-recur.c (*): Use CalComponent and the new property
	types instead of the old iCalObject stuff.
	(cal_recur_generate_instances): Renamed from
	cal_object_generate_events().  Ensure that the component has the
	DTSTART property.
	(generate_instances_for_year): Renamed from
	cal_object_generate_events_for_year().
	(cal_obj_expand_recurrence): Made static.
	(cal_recur_from_icalrecurrencetype): New function.  We should
	really convert this whole file to use struct icalrecurrencetype
	instead.
	(cal_recur_free): New function.

	* cal-util/cal-recur.h (CalRecurType): Renamed from CalObjRecurType.
	(CalRecurrence): Renamed from CalObjRecurrence.

	* cal-util/timeutil.c (time_from_icaltimetype): New function.

	* cal-util/Makefile.am: Commented out the test-recur program.

svn path=/trunk/; revision=4464
2000-08-02 01:08:52 +00:00
582e76a02e OK, it seems that we have all the interesting properties for single-user
2000-07-26  Federico Mena Quintero  <federico@helixcode.com>

	OK, it seems that we have all the interesting properties for
	single-user calendars now.  RFC 2445 can bite me.

	* cal-util/cal-component.c (scan_property): Handle the RRULE
	property.  Yay!.
	(scan_recur): Likewise, yow!
	(get_recur_list): Likewise, yeehaw!
	(get_recur_list): Likewise, honk honk!
	(set_recur_list): Likewise, booooga booooga!
	(cal_component_get_rrule_list): Likewise, squeek squeek!
	(cal_component_set_rrule_list): That's it, I ran out of sounds.
	(cal_component_free_recur_list): Likewise.
	(scan_property): Handle the EXRULE property.
	(free_icalcomponent): Likewise.
	(cal_component_get_exrule_list): Likewise.
	(cal_component_set_exrule_list): Likewise.
	(set_period_list): Oops, free the old properties as well as
	removing them.
	(set_text_list): Ditto.
	(cal_component_set_exdate_list): Ditto.

svn path=/trunk/; revision=4361
2000-07-26 19:52:50 +00:00
06415e37e2 Ahem, be consistent with parameter names - Federico
svn path=/trunk/; revision=4354
2000-07-26 18:17:33 +00:00
04122bc68e Put all the functions used to free returned values all together.
2000-07-26  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-component.c: Put all the functions used to free
	returned values all together.
	(cal_component_set_rdate_list): Oops, mark SEQUENCE property to be
	incremented since the RFC requires it.
	(scan_property): Handle the EXDATE property.
	(scan_exdate): Likewise.
	(free_icalcomponent): Likewise.
	(cal_component_get_exdate_list): Likewise.
	(cal_component_set_exdate_list): Likewise.
	(cal_component_free_exdate_list): Likewise.

svn path=/trunk/; revision=4353
2000-07-26 18:12:29 +00:00
38168a2e40 New function. (scan_property): Handle the RDATE property. (scan_period):
2000-07-25  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-component.c (cal_component_free_period_list): New function.
	(scan_property): Handle the RDATE property.
	(scan_period): Likewise.
	(free_icalcomponent): Likewise.
	(get_period_list): Likewise.
	(set_period_list): Likewise.
	(cal_component_get_rdate_list): Likewise.
	(cal_component_set_rdate_list): Likewise.
	(scan_text): Simplify a bit since we only handle the ALTREP
	parameter; there is no need to iterate over all parameters.
	(scan_datetime): Simplify; just handle the TZID parameter.
	(scan_summary): Simplify; just handle the ALTREP parameter.
	(cal_component_get_as_string): New function.

	* idl/evolution-calendar.idl (CalObjType): Removed the TYPE_OTHER;
	now we only expose the types of objects we know about.

	* cal-util/cal-util.h (CalObjType): Likewise.

	* cal-client/cal-client.c (cal_client_get_n_objects): Likewise.
	(cal_client_get_uids): Likewise.

	* conduits/calendar/calendar-conduit.c (get_calendar_objects): Likewise.
	(check_for_slow_setting): Likewise.

	* pcs/cal-backend-imc.c (count_objects): Likewise.
	(build_uids_list): Likewise.

	* pcs/cal.c (Cal_get_uids): Likewise.
	(Cal_get_n_objects): Likewise.

svn path=/trunk/; revision=4336
2000-07-25 22:01:22 +00:00
96b11a7e66 fixed it so it doesn't crash when a URL is loaded.
2000-07-23  Damon Chaplin  <damon@helixcode.com>

	* cal-util/calobj.c (ical_object_create_from_vobject): fixed it so
	it doesn't crash when a URL is loaded.

	* cal-util/calobj.h: added a few more fields.

svn path=/trunk/; revision=4280
2000-07-23 11:05:52 +00:00
cb1c400a50 Finish filling the trigger. What a pain, again.
2000-07-19  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-component.c (cal_component_alarm_set_trigger):
	Finish filling the trigger.  What a pain, again.
	(cal_component_alarm_free_trigger): Implemented.

svn path=/trunk/; revision=4232
2000-07-20 01:06:52 +00:00
0557f19467 Free the icalcomponent if this is an unattached alarm.
2000-07-18  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-component.c (cal_component_alarm_free): Free the
	icalcomponent if this is an unattached alarm.
	(scan_alarm_property): Handle the TRIGGER property.
	(cal_component_alarm_get_trigger): Ditto.  Royal pain.
	(cal_component_alarm_set_trigger): Ditto.  Less pain.

svn path=/trunk/; revision=4216
2000-07-19 00:26:37 +00:00
fa82ca2af9 New internal represntation for alarm components. We really don't map them
2000-07-14  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-component.c (CalComponentAlarm): New internal
	represntation for alarm components.  We really don't map them to a
	CalComponent because it is more convenient to handle them as
	"child" structures.
	(make_alarm): New function to create a CalComponentAlarm from an
	icalcomponent representing a VALARM.
	(scan_alarm_property): New function to scan a property from an
	alarm component.  We support ACTION.
	(cal_component_get_first_alarm): New function to start an iterator
	over the alarms in a calendar component.
	(cal_component_alarm_get_action): New function.
	(cal_component_alarm_set_action): New function.

svn path=/trunk/; revision=4173
2000-07-15 00:56:01 +00:00
ed332931e1 fixed various problems
* conduits/calendar/calendar-conduit.c: fixed various problems

	* cal-client/Makefile.am: build a static version of the library
	to link with the conduits

	* cal-util/Makefile.am: same

svn path=/trunk/; revision=4116
2000-07-12 18:26:16 +00:00
71cd8403b2 Handle the COMPLETED property. (free_icalcomponent): Ditto.
2000-07-11  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-component.c (scan_property): Handle the COMPLETED
	property.
	(free_icalcomponent): Ditto.
	(cal_component_get_completed): Ditto.
	(cal_component_set_completed): Ditto.
	(scan_property): Handle the TRANSPARENCY property.
	(free_icalcomponent): Ditto.
	(cal_component_get_transparency): Ditto.
	(cal_component_set_transparency): Ditto.
	(scan_property): Handle the URL property.
	(free_icalcomponent): Ditto.
	(cal_component_get_url): Ditto.
	(cal_component_set_url): Ditto.

svn path=/trunk/; revision=4101
2000-07-12 01:02:36 +00:00
665da2c706 Handle the SEQUENCE property. (free_icalcomponent): Ditto.
2000-07-07  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-component.c (scan_property): Handle the SEQUENCE
	property.
	(free_icalcomponent): Ditto.
	(cal_component_get_sequence): Ditto.
	(cal_component_set_sequence): Ditto.
	(cal_component_free_sequence): Ditto.
	(cal_component_set_last_modified): Removed incorrect assertion.
	(CalComponentPrivate): New need_sequence_inc flag.  The sequence
	number must be incremented when certain properties change, so we
	store a flag that says if we need to bump it when piping the
	object over the wire.
	(free_icalcomponent): Reset need_sequence_inc.
	(cal_component_set_dtstart): Set need_sequence_inc.
	(cal_component_set_dtend): Ditto.
	(cal_component_set_due): Ditto.

svn path=/trunk/; revision=3957
2000-07-07 18:42:38 +00:00
3b62a242bf Handle the LAST-MODIFIED property. (free_icalcomponent): Ditto.
2000-07-06  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-component.c (scan_property): Handle the
	LAST-MODIFIED property.
	(free_icalcomponent): Ditto.
	(cal_component_get_last_modified): Ditto.
	(cal_component_set_last_modified): Ditto.
	(get_icaltimetype): New function to get struct icaltimetype
	values.
	(cal_component_get_created): Use get_icaltimetype().
	(set_icaltimetype): New function to set struct icaltimetype
	values.
	(cal_component_set_created): Use set_icaltimetype().

svn path=/trunk/; revision=3936
2000-07-07 02:38:52 +00:00
1c3ee9654b Handle the CREATED property. (free_icalcomponent): Ditto.
2000-07-06  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-component.c (scan_property): Handle the CREATED
	property.
	(free_icalcomponent): Ditto.
	(cal_component_free_icaltimetype): Ditto.
	(cal_component_get_created): Ditto.
	(cal_component_set_created): Ditto.
	(cal_component_init): Do not create an UID here.
	(ensure_mandatory_properties): New function to ensure that the
	mandatory RFC properties are indeed in the component.  If they are
	not, we create them on the fly.
	(cal_component_set_new_vtype): Use ensure_mandatory_properties().
	(cal_component_set_icalcomponent): Ditto.
	(cal_component_get_uid): Return the UID in a parameter, not as a
	function return value, for consistency's sake.
	(scan_property): Handle the DTSTAMP property.
	(free_icalcomponent): Ditto.
	(cal_component_get_dtstamp): Ditto.
	(cal_component_set_dtstamp): Ditto.

svn path=/trunk/; revision=3934
2000-07-07 02:07:43 +00:00
4ae033dd39 Use CalComponentText instead of CalComponentPropSummary. Removed the
2000-07-03  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-component.c (cal_component_get_summary): Use
	CalComponentText instead of CalComponentPropSummary.  Removed the
	latter typedef.
	(cal_component_set_summary): Likewise.
	(scan_property): Handle the CLASSIFICATION property.
	(cal_component_get_classification): Ditto.
	(cal_component_set_classification): Ditto.

svn path=/trunk/; revision=3880
2000-07-04 00:58:22 +00:00
43f902781b Renamed from cal_component_free_description_list(). We can share this
2000-07-03  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-component.c (cal_component_free_text_list): Renamed
	from cal_component_free_description_list().  We can share this
	function since both comments and descriptions have the same form.
	(scan_text): Ditto.
	(get_text_list): New function.
	(set_text_list): New function.
	(cal_component_get_description_list): Use get_text_list().
	(cal_component_set_description_list): Use set_text_list().
	(cal_component_set_uid): Add sanity check.
	(cal_component_get_summary): Ditto.
	(cal_component_get_description_list): Ditto.
	(cal_component_get_dtstart): Ditto.
	(cal_component_get_dtend): Ditto.
	(cal_component_get_due): Ditto.
	(scan_property): Handle the COMMENT property.
	(cal_component_get_comment_list): Ditto.
	(cal_component_set_comment_list): Ditto.

svn path=/trunk/; revision=3875
2000-07-03 22:59:07 +00:00
9ec7ff026c Handle CATEGORIES. This can appear multiple times, so we maintain a list.
2000-07-02  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-component.c (scan_categories): Handle CATEGORIES.
	This can appear multiple times, so we maintain a list.  We
	compress them later to a single property with multiple values.
	(cal_component_get_categories_list): Ditto.
	(cal_component_set_categories_list): Ditto.
	(cal_component_free_categories_list): Ditto.
	(free_icalcomponent): Properly free the mappings.

svn path=/trunk/; revision=3868
2000-07-03 02:24:27 +00:00
514ae3ebe3 Handle date/time and timezone pairs. (scan_property): Handle DTSTART and
2000-07-02  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-component.c (scan_datetime): Handle date/time and
	timezone pairs.
	(scan_property): Handle DTSTART and DTEND.
	(cal_component_free_datetime): Ditto.
	(get_datetime): Ditto.
	(cal_component_get_dtstart): Ditto.
	(set_datetime): Ditto.
	(cal_component_set_dtstart): Ditto.
	(cal_component_get_dtend): Ditto.
	(cal_component_set_dtend): Ditto.
	(scan_property): Handle DUE date.
	(cal_component_get_due): Ditto.
	(cal_component_set_due): Ditto.

svn path=/trunk/; revision=3857
2000-07-02 13:25:35 +00:00
ec8bc2a47c Handle the DESCRIPTION property. There can be multiple descriptions with
2000-07-01  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-component.c (cal_component_get_description_list):
	Handle the DESCRIPTION property.  There can be multiple
	descriptions with parameters each, so we deal with a list instead
	of a single structure.
	(cal_component_set_description_list): Ditto.
	(cal_component_free_description_list): Ditto.
	(scan_property): Ditto.
	(scan_description): Ditto.

svn path=/trunk/; revision=3845
2000-07-01 08:24:43 +00:00
08d1bc1329 Get an EvolutionShellClient instead of an Evolution_Shell to match the
2000-06-29  Ettore Perazzoli  <ettore@helixcode.com>

	* notes/component-factory.c (owner_set_cb): Get an
	EvolutionShellClient instead of an Evolution_Shell to match the
	changes in libeshell.

2000-06-29  Peter Williams  <peterw@helixcode.com>

	* configure.in:  Re-enable GNOME_PILOT_CHECK.
	Change AC_MSG_CHECKING([For...]) to [for...]. It's the little
	things that matter.

2000-06-28  Ettore Perazzoli  <ettore@helixcode.com>

	* configure.in: `AM_PATH_GCONF'.

2000-06-27  Peter Williams  <peterw@curious-george.helixcode.com>

	* configure.in (ctime_r): Check for whether ctime_r takes
	two (Linux) or three (Solaris) arguments.
	(AC_OUTPUT): Don't create notes/Makefile twice.

	* acconfig.h: Add CTIME_R_THREE_ARGS to the list.

svn path=/trunk/; revision=3821
2000-06-30 07:22:43 +00:00
31e562c685 New files for the new iCalendar component object. Today's properties:
2000-06-28  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/cal-component.[ch]: New files for the new iCalendar
	component object.  Today's properties: basic component type, UID,
	SUMMARY.

	* cal-util/Makefile.am: Added cal-component.[ch] to the list of
	sources.

svn path=/trunk/; revision=3786
2000-06-29 07:16:19 +00:00
105dd5c5f6 Fix compilation with builddir != srcdir.
svn path=/trunk/; revision=3630
2000-06-19 05:56:31 +00:00
ef4fb079a4 Doh, sync - Federico
svn path=/trunk/; revision=3593
2000-06-16 07:07:02 +00:00
5ecbc259fa updated.
2000-06-16  Damon Chaplin  <damon@helixcode.com>

	* cal-util/test-recur.c: updated.

	* cal-util/cal-recur.[hc]: mostly finished, though it depends on the
	iCalObject struct being updated to support more of iCalendar.

svn path=/trunk/; revision=3591
2000-06-16 06:59:18 +00:00
b52a9eaa1c use libical.a
2000-06-15  Damon Chaplin  <damon@helixcode.com>

	* cal-util/Makefile.am (test_recur_LDADD): use libical.a

svn path=/trunk/; revision=3586
2000-06-16 00:48:44 +00:00
927da63198 merge the two separate noinst_PROGRAMS declarations into one so automake
* cal-util/Makefile.am (noinst_PROGRAMS): merge the two separate
	noinst_PROGRAMS declarations into one so automake accepts it.
	(INCLUDES): include libical src dir so we don't depend on having
	ical.h already installed

svn path=/trunk/; revision=3573
2000-06-15 15:11:42 +00:00
a304d83907 switch back to vcal for debugging
svn path=/trunk/; revision=3555
2000-06-14 03:55:31 +00:00
e7deedccda Added the array of objects and the hash table of UID->array index.
2000-06-13  Federico Mena Quintero  <federico@helixcode.com>

	* gui/calendar-model.c (CalendarModelPrivate): Added the array of
	objects and the hash table of UID->array index.
	(calendar_model_row_count): Return the length directly from the
	array instead of asking the Wombat.
	(calendar_model_value_at): Implemented.
	(calendar_model_new): Create an empty model.  We provide a new
	setter function now.
	(calendar_model_construct): Removed function.
	(calendar_model_set_cal_client): New function to set the calendar
	client and object type at any time.  This lets us reuse a calendar
	model object.

	* cal-util/calobj.h (iCalObjectField): Just report whether the
	object has alarms; not every single alarm.

svn path=/trunk/; revision=3547
2000-06-13 07:38:47 +00:00