Commit Graph

148 Commits

Author SHA1 Message Date
c7b2533fef Fixed some warnings.
2000-08-09  Christopher James Lahey  <clahey@helixcode.com>

	* cal-client/cal-client.c, gui/e-calendar-table.c, pcs/cal.c:
	Fixed some warnings.

svn path=/trunk/; revision=4637
2000-08-09 05:47:32 +00:00
14e163207e Added a get_objects_in_range() method. Takes in a time range and the type
2000-08-08  Federico Mena Quintero  <federico@helixcode.com>

	* idl/evolution-calendar.idl (Cal): Added a get_objects_in_range()
	method.  Takes in a time range and the type of component we are
	interested in; returns a list of UIDs.  The idea is that
	ocurrences get computed in the client; we can have multiple
	recurrences in iCalendar and we cannot identify them trivially
	across the wire.
	(Cal): Removed the get_events_in_range() method.

	* pcs/cal-backend.c (cal_backend_free_uid_list): New function.
	(cal_backend_get_objects_in_range): New function.
	(cal_backend_get_events_in_range): Removed.

	* pcs/cal-backend-file.c (cal_backend_file_get_objects_in_range):
	Implemented new method.
	(cal_backend_file_get_events_in_range): Removed.

	* pcs/cal.c (Cal_get_events_in_range): Removed.
	(uncorba_obj_type): New function.
	(Cal_get_uids): Use uncorba_obj_type().
	(Cal_get_n_objects): Likewise.
	(Cal_get_objects_in_range): Implemented new method.

	* cal-client/cal-client.c (cal_client_get_events_in_range): Removed.
	(cal_client_get_objects_in_range): Implemented.
	(corba_obj_type): New function.
	(cal_client_get_n_objects): Use corba_obj_type().
	(cal_client_get_uids): Likewise.

svn path=/trunk/; revision=4613
2000-08-08 22:39:13 +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
f25cc16f18 Fixed a g_return_if_fail that had two parameters and thus wouldn't build.
2000-08-02  Joe Shaw  <joe@helixcode.com>

        * pcs/cal-backend-file.c (cal_backend_file_update_pilot_id):
        Fixed a g_return_if_fail that had two parameters and thus
        wouldn't build.

svn path=/trunk/; revision=4502
2000-08-03 02:39:49 +00:00
7dd58960fe call save (cbimc) after setting the pilot id and status.
* pcs/cal-backend-imc.c (cal_backend_imc_update_pilot_id): call
	save (cbimc) after setting the pilot id and status.

svn path=/trunk/; revision=4500
2000-08-03 02:34:01 +00:00
83dbcbadc2 Dum dum dum - Federico
svn path=/trunk/; revision=4494
2000-08-02 22:55:49 +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
68d89989b1 Ahem, these files will be back in a second - Federico
svn path=/trunk/; revision=4476
2000-08-02 18:29:53 +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
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
a389093a50 Removed unneeded check for the URI. (load_fn): Be more paranoid about the
2000-07-11  Federico Mena Quintero  <federico@helixcode.com>

	* pcs/cal-factory.c (queue_load_create_job): Removed unneeded
	check for the URI.
	(load_fn): Be more paranoid about the URI and notify the listener
	if we got passed a bad URI.  Simplify the termination code a bit.
	(create_fn): Likewise.
	(queue_load_create_job): Be more paranoid about the URI.

svn path=/trunk/; revision=4089
2000-07-11 19:11:48 +00:00
84ba8642c5 As a quasi-hack, do a gdk_flush() when the shell view is unrealized so
2000-07-10  Federico Mena Quintero  <federico@helixcode.com>

	* e-shell-view.c (unrealize): As a quasi-hack, do a gdk_flush()
	when the shell view is unrealized so that the DeleteEvent gets
	sent to the remote plugs as soon as possible before we start
	making other CORBA calls.  The problem is that our CORBA pipe is
	synchronous while our X pipe is asynch.  We have to ensure
	ordering for certain operations.  This is NOT the correct and
	complete fix, which should go in Bonobo.

svn path=/trunk/; revision=4030
2000-07-10 09:30:28 +00:00
70c974e7d9 server code to service these:
* pcs/cal.c (Cal_get_uid_by_pilot_id):
	(Cal_update_pilot_id):
	* pcs/cal-backend-imc.c (cal_backend_imc_update_pilot_id):
	(cal_backend_imc_get_uid_by_pilot_id):
	* pcs/cal-backend.c (cal_backend_get_uid_by_pilot_id):
	(cal_backend_update_pilot_id):  server code to service these:

	* gui/calendar-pilot-sync.c: updated to make use of cal-client.
	also uses dirty bits on both sides to aid in syncing.

	* cal-client/cal-client.c (cal_client_get_uid_by_pilot_id): new
	function -- ask the cal server to return uid given an object's
	pilot id.
	(cal_client_update_pilot_id): new function -- inform the
	cal server of an objects pilot id and pilot dirty-flag.

svn path=/trunk/; revision=3789
2000-06-29 13:23:44 +00:00
ff4c29fea3 use BONOBO_VFS_GNOME_CFLAGS.
2000-06-27  Michael Meeks  <michael@helixcode.com>

	* pcs/Makefile.am (INCLUDES): use BONOBO_VFS_GNOME_CFLAGS.

svn path=/trunk/; revision=3760
2000-06-27 16:02:38 +00:00
ef4fb079a4 Doh, sync - Federico
svn path=/trunk/; revision=3593
2000-06-16 07:07:02 +00:00
f1ec2c3f4d added icalendar-test.
2000-06-16  Damon Chaplin  <damon@helixcode.com>

	* pcs/.cvsignore: added icalendar-test.

svn path=/trunk/; revision=3589
2000-06-16 06:51:59 +00:00
943862dd20 Added a get_n_objects() method.
2000-06-09  Federico Mena Quintero  <federico@helixcode.com>

	* idl/evolution-calendar.idl (Cal): Added a get_n_objects()
	method.

	* pcs/cal-backend.c (cal_backend_get_n_objects): New function.

	* pcs/cal-backend-imc.c (cal_backend_imc_get_n_objects):
	Implemented.

	* pcs/cal.c (Cal_get_n_objects): Implemented.

	* cal-client/cal-client.c (cal_client_get_uids): Free the ev.
	(cal_client_get_n_objects): Implemented.

	* cal-util/calobj.h (iCalObjectField): New enumeration to identify
	the fields in an iCalObject.

svn path=/trunk/; revision=3486
2000-06-09 07:04:09 +00:00
44f99466e7 update some .cvsignores
svn path=/trunk/; revision=3464
2000-06-07 20:01:51 +00:00
a4494900d5 Moved these files to calendar/cal-util - Federico
svn path=/trunk/; revision=3457
2000-06-07 00:39:43 +00:00
c219c79496 fixed a bunch of problems use libical instead of libversit
* cal-util/icalendar.c, icalendar-save.c: fixed a bunch of problems
	* cal-util/calobj.c (ical_object_find_in_string): use libical
	instead of libversit
	(ical_object_to_string): same
	(dump_icalobject): prints the contents of an icalobject for debugging

	* gui/Makefile.am (LINK_FLAGS): link libical.a instead of libical.la
	so we don't have to modify the build system of the released libical
	* cal-client/Makefile.am (client_test_LDADD): same
	* cal-util/Makefile.am (icalendar_test_LDADD): same

svn path=/trunk/; revision=3446
2000-06-06 21:56:20 +00:00
ae33d3f67e Removed from the public header; made static. Now everyone should use
2000-06-06  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/calobj.c (ical_object_destroy): Removed from the public
	header; made static.  Now everyone should use refcounting.

	* pcs/cal-backend-imc.c (free_ical_object): Use
	ical_object_unref().
	(remove_object): Likewise.

svn path=/trunk/; revision=3439
2000-06-06 18:15:57 +00:00
268f0fa5b4 Fix more Makefile breakage.
svn path=/trunk/; revision=3012
2000-05-13 13:15:10 +00:00
47c9fef15a New function to add today's alarms for a single object.
2000-05-11  Federico Mena Quintero  <federico@helixcode.com>

	* gui/gnome-cal.c (add_alarms_for_object): New function to add
	today's alarms for a single object.
	(gnome_calendar_object_updated_cb): Update the object's alarms.

	* idl/evolution-calendar.idl (Cal): Added a
	get_alarms_for_object() method.

	* pcs/cal.c (Cal_get_alarms_for_object): Implemented method.

	* pcs/cal-backend.c (cal_backend_get_alarms_for_object): New
	function.

	* pcs/cal-backend-imc.c (cal_backend_imc_get_alarms_for_object):
	Implemented.

	* cal-client/cal-client.c (cal_client_get_alarms_for_object): New
	function.

svn path=/trunk/; revision=3003
2000-05-12 04:16:46 +00:00
ad6e274f87 remove unused timezone variable to make this compile on BSD systems (where
* pcs/icalendar-save.c (timet_to_icaltime): remove unused timezone
	variable to make this compile on BSD systems (where timezone is
	the name of a function)

svn path=/trunk/; revision=2996
2000-05-11 21:18:24 +00:00
d509f47a95 Removed unused arguments. Load the initial alarms here. (load_alarms): New
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
2000-05-11 17:31:30 +00:00
a7171faa01 Set the format when creating a new calendar.
2000-05-09  Christopher James Lahey  <clahey@helixcode.com>

	* pcs/cal-backend-imc.c: Set the format when creating a new calendar.

svn path=/trunk/; revision=2961
2000-05-09 19:47:17 +00:00
f150fa0b16 + * calendar/pcs/cal-backend.c (cal_backend_add_cal): Return nothing
+	for a 'void' function.
+	* folder-browser-factory.c (control_activate): Remove "File->mail"
+	menuitem.
+	* e-shell-view-menu.c (command_run_bugbuddy): New function; allows
+	users to submit a bug.

svn path=/trunk/; revision=2948
2000-05-09 16:46:59 +00:00
144ea8dfcf Removed double free of method_string in uri->method_string.
2000-05-09  Christopher James Lahey  <clahey@helixcode.com>

	* pcs/cal-factory.c: Removed double free of method_string in
	uri->method_string.

svn path=/trunk/; revision=2942
2000-05-09 15:23:54 +00:00
39490b23e6 Fix compilation with builddir != srcdir. Boy I love this.
svn path=/trunk/; revision=2927
2000-05-08 22:58:13 +00:00
8160d7388e CalBackendClass now is just an interface for calendar backends; this is an
2000-05-08  Federico Mena Quintero  <federico@helixcode.com>

	* pcs/cal-backend.h (CalBackendClass): CalBackendClass now is just
	an interface for calendar backends; this is an abstract class.
	Put in the vtable for the backend methods.

	* pcs/cal-backend.c (cal_backend_new): Removed function, since
	CalBackend is not just an abstract class.
	Removed implementation-specific functions and made public
	functions call the virtual methods instead.

	* pcs/cal-backend-imc.[ch]: New files with the CalBackendIMC
	implementation; this implements a backend for iCalendar and
	vCalendar files.  Moved the implementation-specific stuff from
	cal-backend.[ch] to here.

	* pcs/cal-backend-imc.c (CalendarFormat): Moved enumeration to
	here.  Added a CAL_UNKNOWN value for when the backend is not
	loaded yet.
	(cal_backend_imc_init): Initialize priv->format as CAL_UNKNOWN.
	(save_to_vcal): Use the same VCProdIdProp value as in
	cal-util/calobj.c.  Use "1.0" as the VCVersionProp as per the
	vCalendar spec.
	(ensure_uid): Return nothing, since the result value need not be
	used anymore.
	(add_object): Since we mark the calendar as dirty anyways, we do
	not need to check the result value of ensure_uid() anymore.
	(remove_object): Asssert that we know how to handle the object's
	type.  We do this in add_object() anyways.

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

	* gui/gnome-cal.c: Replaced debugging printf()s with g_message()
	so that we can see the line number where they occur.

	* gui/gnome-cal.c (gnome_calendar_load_cb): Sort of handle the
	LOAD_METHOD_NOT_SUPPORTED result code, and added a default for the
	switch.

	* cal-client/cal-listener.h (CalListenerLoadStatus): Removed
	enumeration; it is stupid to translate all values for the
	CalClient when it is going to translate them again.
	(CalListenerClass::cal_loaded): This signal now passes the
	LoadStatus directly from the CORBA side.

	* cal-client/cal-listener.c (Listener_cal_loaded): Do not
	translate the status value.

	* cal-client/cal-client.h (CalClientLoadStatus): Added the
	CAL_CLIENT_LOAD_METHOD_NOT_SUPPORTED error code.

	* cal-client/cal-client.c (cal_loaded_cb): Translate the CORBA
	version of the LoadStatus result code.

	* pcs/cal-factory.c (CalFactoryPrivate): New methods field for the
	hash table from method strings to the GtkTypes for backend class
	types.
	(cal_factory_init): Create the priv->methods hash table.
	(cal_factory_destroy): Free the priv->methods hash table.
	(cal_factory_register_method): New function to register a backend
	class for a particular URI method.
	(launch_backend_for_uri): New function to launch a backend for a
	particular URI's method.
	(load_backend): Use launch_backend_for_uri().  Move the error
	notification code from load_fn() to here.
	(create_backend): Use launch_backend_for_uri().  Move the error
	notification code form create_fn() to here; it is #ifdefed out
	since currently cal_backend_create() does not have any error
	reporting capabilities.

	* idl/evolution-calendar.idl (Listener::LoadStatus): Added a
	PROTOCOL_NOT_SUPPORTED error code.

	* pcs/cal-factory.c (cal_factory_load cal_factory_create): Removed
	functions, since they were supposed to be internal only.
	(CalFactory_load): Call queue_load_create_job() directly.
	(CalFactory_create): Likewise.

svn path=/trunk/; revision=2921
2000-05-08 16:58:27 +00:00
1b8139c995 ignore the .pure directory
* addressbook/backend/ebook/.cvsignore,
        addressbook/contact-editor/.cvsignore,
        addressbook/gui/component/.cvsignore,
        addressbook/gui/minicard/.cvsignore,
        addressbook/printing/.cvsignore,
        calendar/cal-client/.cvsignore,
        calendar/gui/.cvsignore,
        calendar/pcs/.cvsignore,
        filter/.cvsignore,
        mail/.cvsignore,
        shell/.cvsignore,
        tests/.cvsignore,
        widgets/e-table/.cvsignore,
        widgets/e-text/.cvsignore,
        widgets/meeting-time-sel/.cvsignore,
        widgets/shortcut-bar/.cvsignore,
        wombat/.cvsignore: ignore the .pure directory

svn path=/trunk/; revision=2812
2000-05-05 11:46:46 +00:00
ea787be718 for the long events pass E_DAY_VIEW_LONG_EVENT as the day. Fixes SEGV.
2000-05-04  Damon Chaplin  <damon@helixcode.com>

	* gui/e-day-view.c (e_day_view_foreach_event_with_uid): for the long
	events pass E_DAY_VIEW_LONG_EVENT as the day. Fixes SEGV.

	* gui/calendar-commands.c: when we switch views, grab the focus.

	* gui/gnome-cal.c (gnome_calendar_tag_calendar):
	(gnome_calendar_mark_gtk_calendar_day): changed this so it uses
	cal_client_get_events_in_range(), and doesn't load any objects.
	Also just return if it isn't visible.

	* gui/calendar-commands.c (calendar_get_events_in_range): call
	g_list_sort() to sort the list rather than g_list_insert_sorted() for
	each element. It is much more efficient.
	Also changed it so that the co->ev_start/end fields are copied from
	the CalObjInstance rather than the parameters to the function
	(that is right, isn't it?)
	Also freed the list elements, and finally the list.
	(calendar_iterate): changed this to use cal_client_get_events_in_range
	since that is more efficient than getting all the uids and then loading
	and parsing all the events.

	* pcs/cal-backend.c (save): output the '... saved' message before
	freeing the string!

	* gui/gncal-todo.c (gncal_todo_update):
	* gui/e-week-view.c (e_week_view_update_event):
	* gui/e-day-view.c (e_day_view_update_event):
	* gui/calendar-commands.c (calendar_get_events_in_range):
	(calendar_iterate): free obj_string after it is parsed.

svn path=/trunk/; revision=2802
2000-05-04 21:04:40 +00:00
54534fbe36 Stylistic fix - Federico
svn path=/trunk/; revision=2707
2000-05-01 04:34:35 +00:00
d256a1683d set attendee and contact address correctly.
* pcs/icalendar-save.c (icalcomponent_create_from_ical_object): set
	attendee and contact address correctly.

	* pcs/cal-backend.c (icalendar_calendar_load): init priv->object_hash
	when loading.
	(cal_get_type_from_filename): if file extension is .ical, consider
	the file an ical file.

svn path=/trunk/; revision=2702
2000-05-01 02:38:32 +00:00
9483369aa0 Made Evolution OAF-compatible.
svn path=/trunk/; revision=2673
2000-04-28 04:23:19 +00:00
ff459aa292 fix memory leak (save_to_vcal): same (save): same (cal_backend_load): same
* pcs/cal-backend.c (cal_backend_load): fix memory leak
	(save_to_vcal): same
	(save): same
	(cal_backend_load): same

svn path=/trunk/; revision=2668
2000-04-28 01:25:50 +00:00
123e9e21cd Replaced libcal-util.la with *.la
2000-04-26  Christopher James Lahey  <clahey@helixcode.com>

	* cal-util/.cvsignore: Replaced libcal-util.la with *.la

	* pcs/.cvsignore: Added *.la and *.lo.

svn path=/trunk/; revision=2628
2000-04-26 13:20:43 +00:00
555668c928 Renamed from backend_destroy_cb. Now we use it for the "last_client_gone"
2000-04-25  Federico Mena Quintero  <federico@helixcode.com>

	* pcs/cal-factory.c (backend_last_client_gone_cb): Renamed from
	backend_destroy_cb.  Now we use it for the "last_client_gone"
	signal from the backend.  Also, unref the backend to destroy it.
	(add_backend): Connect to the "last_client_gone" signal of the
	backend.
	(cal_factory_get_n_backends): New function to query the number of
	running backends.

	* pcs/cal-backend.c (cal_backend_class_init): Register the new
	"last_client_gone" signal.  It is emitted when the last Cal client
	goes away.  It is used to notify the factory when a backend may be
	safely destroyed.
	(cal_destroy_cb): Emit the "last_client_gone" signal when the last
	client disconnects from the backend.

svn path=/trunk/; revision=2619
2000-04-26 01:08:06 +00:00
16bd792528 don't save on destroy.
* pcs/cal-backend.c (cal_backend_destroy): don't save on destroy.

svn path=/trunk/; revision=2615
2000-04-25 20:04:57 +00:00
b3674f3251 The Joy of Broken Makefiles Part #3.
svn path=/trunk/; revision=2614
2000-04-25 19:54:44 +00:00
33f48d299e allow for null CN (parse_person): allow for null sent_by
* pcs/icalendar.c (parse_person): allow for null CN
	(parse_person): allow for null sent_by

	* pcs/Makefile.am: build icalendar-test

	* pcs/icalendar-test.c: a test which loads an ical file and
	converts it to our internal format, and then saves it back out.

svn path=/trunk/; revision=2588
2000-04-24 20:01:44 +00:00
30c8970cee finished first stab at iCalObject to icalcomponent conversion.
svn path=/trunk/; revision=2584
2000-04-24 16:57:48 +00:00
05a7bb9ef8 start on code to do the opposite of icalendar.c (convert from iCalObjects
* pcs/icalendar-save.c: start on code to do the opposite of
	icalendar.c (convert from iCalObjects to libical's icalcomponents).

svn path=/trunk/; revision=2550
2000-04-22 00:18:27 +00:00
feb0ee231e fixed code to populate the todo clist
* gui/gncal-todo.c (gncal_todo_update): fixed code to populate
	the todo clist

	* cal-client/cal-client.c (cal_client_get_uids): don't check
	type again CALOBJ_TYPE_ANY since it will always match.
	(cal_client_get_uids): same (re: CALOBJ_TYPE_ANY)

	* pcs/cal-backend.c (build_uids_list): same (re: CALOBJ_TYPE_ANY)

	* pcs/cal.c (Cal_get_uids): same (re: CALOBJ_TYPE_ANY)

svn path=/trunk/; revision=2509
2000-04-19 18:46:17 +00:00
c5357bc38e don't call save from here because in all cases the caller of remove_object
* pcs/cal-backend.c (remove_object): don't call save from here
	because in all cases the caller of remove_object calls save

svn path=/trunk/; revision=2507
2000-04-19 18:02:08 +00:00
d8e30fdcb3 calls gnome_calendar_open instead of checking on disk and calling load or
* gui/calendar-commands.c (calendar_set_uri): calls gnome_calendar_open
	instead of checking on disk and calling load or create.

	* gui/gnome-cal.c (gnome_calendar_open): collapsed
	gnome_calendar_load and gnome_calendar_create into this function.
	added new type GnomeCalendarOpenMode which has the value
	CALENDAR_OPEN or CALENDAR_OPEN_OR_CREATE.

svn path=/trunk/; revision=2506
2000-04-19 16:55:59 +00:00
0fb3c90934 We have a new "last_calendar_gone" signal that Wombat can use to terminate
2000-04-16  Federico Mena Quintero  <federico@helixcode.com>

	* pcs/cal-factory.h (CalFactoryClass): We have a new
	"last_calendar_gone" signal that Wombat can use to terminate
	itself properly.

	* pcs/cal-factory.c (cal_factory_class_init): Register the
	"last_calendar_gone" signal.
	(backend_destroy_cb): Emit the "last_calendar_gone" signal instead
	of killing the factory.

	* pcs/Makefile.am: Added $(CORBA_GENERATED) to BUILT_SOURCES.
	(INCLUDES): Make the log domain be "wombat-pcs".

svn path=/trunk/; revision=2475
2000-04-17 19:17:07 +00:00
8375e5da9d removed implicit save, since we don't want to save as we load from disk.
* pcs/cal-backend.c (add_object): removed implicit save, since
	we don't want to save as we load from disk.
	(cal_backend_update_object): added a call to save, since it
	isn't done by add_object now.

svn path=/trunk/; revision=2471
2000-04-17 17:26:20 +00:00
75f8b00ea0 Renamed library from libcalutil to libcal-util, to be consistent with
2000-04-16  Federico Mena Quintero  <federico@helixcode.com>

	* cal-util/Makefile.am: Renamed library from libcalutil to
	libcal-util, to be consistent with libcal-client.  Install header
	files in $(includedir)/evolution/cal-util.
	(INCLUDES): Add "cal-util" log domain for glib.
	(libcal_clientincludedir): The header files are now installed in
	$(includedir)/evolution/cal-client.

	* cal-util/cal-util.h: Fix includes.

	* cal-client/client-test.c: Fix includes.

	* pcs/Makefile.am: Create libpcs.a, not a shared library, because
	it is for internal use by Wombat only.  The header files should
	not be installed, either.  Removed all the old Tlacuache stuff.

	* gui/Makefile.am (EXTRA_DIST): We no longer distribute
	gncal.desktop.
	(evolution_calendar_INCLUDES): Add "calendar-gui" for the glib log
	domain.

	* gui/*.[ch]: Fix cal-util and cal-client includes.

	* pcs/Makefile.am (INCLUDES): Added "pcs" log domain for glib.

	* pcs/*.[ch]: Fix cal-util includes.

svn path=/trunk/; revision=2461
2000-04-16 19:25:56 +00:00
d9d1fb83aa use HAVE_TIMEZONE to switch between linux's timezone variable and *bsd's
* pcs/icalendar.c (icaltime_to_timet): use HAVE_TIMEZONE to switch
	between linux's timezone variable and *bsd's method of getting the
	gmt offset.

svn path=/trunk/; revision=2399
2000-04-11 23:40:38 +00:00