Commit Graph

20 Commits

Author SHA1 Message Date
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
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
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
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
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