Commit Graph

2038 Commits

Author SHA1 Message Date
46f7b6a608 Fixes #32248
2003-03-21  JP Rosevear  <jpr@ximian.com>

	Fixes #32248

	* conduits/todo/todo-conduit.c (comp_from_remote_record): make
	sure the due date is actually a date

svn path=/trunk/; revision=20459
2003-03-21 20:47:29 +00:00
f1cfc02875 Fixes #31660
2003-03-21  JP Rosevear  <jpr@ximian.com>

	Fixes #31660

	* conduits/calendar/calendar-conduit.c (rrules_mostly_equal):
	check if the rrules are equal other than until/count
	(find_last_cb): update the data with the start timet
	(local_record_from_comp): handle the case where the recurrence
	rule ends after a certain number occurrences
	(comp_from_remote_record): same

svn path=/trunk/; revision=20458
2003-03-21 20:29:55 +00:00
618f872798 calcomponents are gobjects now (calconduit_load_configuration): ref and
2003-03-20  JP Rosevear  <jpr@ximian.com>

	* conduits/calendar/calendar-conduit.c
	(e_calendar_context_destroy): calcomponents are gobjects now
	(calconduit_load_configuration): ref and sink to avoid warnings

	* conduits/todo/todo-conduit.c (todoconduit_load_configuration):
	ref and sink to avoid warnings
	(e_todo_context_destroy): calcomponents are gobjects now

svn path=/trunk/; revision=20437
2003-03-20 19:36:31 +00:00
aa30af4897 use a GtkMessageDialog and deal correctly with the dialog's reponses.
2003-03-20  Rodrigo Moya <rodrigo@ximian.com>

	* gui/dialogs/cancel-comp.c (cancel_component_dialog): use a
	GtkMessageDialog and deal correctly with the dialog's reponses.

svn path=/trunk/; revision=20434
2003-03-20 17:47:54 +00:00
80375dd715 Fixes #39770
2003-03-20  Rodrigo Moya <rodrigo@ximian.com>

	Fixes #39770

	* gui/itip-utils.c (itip_Send_comp): check the CORBA exception instead
	of the g_return_val_if_fail. Also, use a CORBA_Object for the value
	returned from bonobo_activation_activate_from_id.

svn path=/trunk/; revision=20382
2003-03-20 13:02:08 +00:00
49357f4f41 removed activation of shell_client. (importer_destroy_cb): no need to
2003-03-20  Rodrigo Moya <rodrigo@ximian.com>

	* importers/ical-importer.c: removed activation of shell_client.
	(importer_destroy_cb): no need to unref shell_client.
	(connect_to_shell): removed.
	(ical_importer_new, vcal_importer_new): don't call connect_to_shell.

svn path=/trunk/; revision=20381
2003-03-20 11:50:56 +00:00
4b5968561d removed. (load_file_fn, vcal_load_file_fn): use physical_uri instead of
2003-03-20  Rodrigo Moya <rodrigo@ximian.com>

	* importers/ical-importer.c (get_uri_from_folder_path): removed.
	(load_file_fn, vcal_load_file_fn): use physical_uri instead of
	folderpath.

svn path=/trunk/; revision=20380
2003-03-20 11:44:26 +00:00
eb06d69d35 Replace "evolution:menu-name" prop with "evolution:menu_name". [#39692]
Replace "evolution:menu-name" prop with "evolution:menu_name".
[#39692]

svn path=/trunk/; revision=20368
2003-03-19 20:29:06 +00:00
a7c97f5d6b use GtkMessageDialog instead of gnome_question_dialog, and deal correctly
2003-03-18  Rodrigo Moya <rodrigo@ximian.com>

	* gui/dialogs/send-comp.c (send_component_dialog): use GtkMessageDialog
	instead of gnome_question_dialog, and deal correctly with the dialog's
	response.

svn path=/trunk/; revision=20342
2003-03-18 19:43:46 +00:00
b2da9f93ed Fixes #34505
2003-03-18  Rodrigo Moya <rodrigo@ximian.com>

	Fixes #34505

	* gui/alarm-notify/alarm-queue.c (remove_queued_alarm): added removal
	of the alarm itself in the calendar if the (new) argument says so.
	Also, set expecting_update flag to TRUE.
	(add_component_alarms): initialize expecting_update to FALSE.
	(remove_alarms): don't remove the component if expecting_update is
	TRUE.
	(obj_updated_cb, notify_dialog_cb, procedure_notification): adapted
	to changes in remove_queued_alarm.

svn path=/trunk/; revision=20335
2003-03-18 14:17:16 +00:00
76d5d48097 Fixes #34095
2003-03-17  Hans Petter Jansson  <hpj@ximian.com>

	Fixes #34095

	* gui/e-meeting-model.c (append_row): Don't leak meeting attendees;
	unref the attendee after it's assigned to model.

	* gui/dialogs/meeting-page.c (meeting_page_destroy): Free the actual
	array of deleted attendees.

	* gui/dialogs/event-editor.c (event_editor_destroy): Free the private
	structure.

	* gui/itip-utils.c (comp_description): Rework free/busy information
	composer so we can free date/time information after use. Then free it.
	(itip_send_comp): Free the allocated CORBA buffer for attachment data.

	* gui/dialogs/comp-editor-util.c (comp_editor_contacts_to_component):
	Free the destination contacts string once we're done with it.

	* gui/e-calendar-table.c (invisible_destroyed): Unref the invisible.

	* gui/e-day-view.c (invisible_destroyed): Ditto.

	* gui/e-week-view.c (invisible_destroyed): Ditto.

svn path=/trunk/; revision=20329
2003-03-18 01:46:26 +00:00
e4c6f61966 Fixes #39757
2003-03-17  Hans Petter Jansson  <hpj@ximian.com>

	Fixes #39757

	* gui/dialogs/alarm-page.c (sensitize_buttons): Somehow this code
	reverted to thinking it was dealing with a GtkCList, when in reality
	it's a GtkTreeView. Fix that, so the buttons are sensitized correctly.

svn path=/trunk/; revision=20328
2003-03-18 00:58:04 +00:00
112e49e10d Fixes #39736
2003-03-17  Hans Petter Jansson  <hpj@ximian.com>

	Fixes #39736

	* gui/e-day-view.c: Reduce the size of the large-digits font so it's
	en par with the one in 1.2.

svn path=/trunk/; revision=20327
2003-03-18 00:21:47 +00:00
238c20117f Fixes #39740
2003-03-14  Rodrigo Moya <rodrigo@ximian.com>

	Fixes #39740

	* gui/e-meeting-model.c (is_cell_editable): check row number is valid
	before using it as index for the GPtrArray.

2003-03-14  Rodrigo Moya <rodrigo@ximian.com>

	Fixes #39356

	* gui/Makefile.am:
	* gui/tasks-migrate.[ch]: removed tasks migration obsolete stuff.

	* gui/calendar-component.c (owner_set_cb): don't call tasks_migrate.

svn path=/trunk/; revision=20301
2003-03-14 19:42:28 +00:00
e91297a35d set_release on the sequence we create.
2003-03-14  Rodrigo Moya <rodrigo@ximian.com>

	* pcs/cal-factory.c (impl_CalFactory_uriList): set_release
	on the sequence we create.

svn path=/trunk/; revision=20288
2003-03-14 16:54:03 +00:00
6beace8856 don't leak the string sequence returned by CalFactory_uriList.
2003-03-14  Rodrigo Moya <rodrigo@ximian.com>

	* cal-client/cal-client.c (cal_client_uri_list): don't leak the
	string sequence returned by CalFactory_uriList.

svn path=/trunk/; revision=20285
2003-03-14 15:20:45 +00:00
8a1a0ba450 use a weak ref instead of connecting to backend's "destroy" signal.
2003-03-13  Rodrigo Moya <rodrigo@ximian.com>

	* pcs/query-backend.c (query_backend_new): use a weak ref instead
	of connecting to backend's "destroy" signal.
	(backend_destroyed_cb, query_destroyed_cb): changed to be weak
	reference callbacks.

svn path=/trunk/; revision=20271
2003-03-13 14:26:04 +00:00
c32307b1c8 don't use GNOME_STOCK_* defines, but GTK_STOCK_*.
2003-03-12  Rodrigo Moya <rodrigo@ximian.com>

	* gui/dialogs/save-comp.c (save_component_dialog): don't use
	GNOME_STOCK_* defines, but GTK_STOCK_*.

svn path=/trunk/; revision=20262
2003-03-12 16:10:30 +00:00
460a3fb010 corrected button ordering and changed the return type to be a
2003-03-12  Rodrigo Moya <rodrigo@ximian.com>

	* gui/dialogs/save-comp.[ch] (save_component_dialog): corrected
	button ordering and changed the return type to be a GtkResponseType.

	* gui/dialogs/comp-editor.c (prompt_to_save_changes): adapted to
	changes in save_component_dialog.

svn path=/trunk/; revision=20261
2003-03-12 16:04:50 +00:00
b0984bd0af Update for timezone dialog API changes.
* gui/calendar-config.c (on_timezone_set): Update for timezone
	dialog API changes.

	* gui/e-timezone-entry.c: Likewise

svn path=/trunk/; revision=20256
2003-03-11 22:23:44 +00:00
2e204d829b issue more descriptive warnings.
2003-03-11  Rodrigo Moya <rodrigo@ximian.com>

	* gui/gnome-cal.c (gnome_calendar_open): issue more descriptive
	warnings.

svn path=/trunk/; revision=20250
2003-03-11 16:29:24 +00:00
6c2bba29f7 if we already have the client loaded, don't remove it, just increment its
2003-03-09  Rodrigo Moya <rodrigo@ximian.com>

	* gui/alarm-notify/alarm-notify.c (alarm_notify_add_calendar): if we
	already have the client loaded, don't remove it, just increment its
	reference count.

	* gui/alarm-notify/alarm-queue.c (remove_queued_alarm): added new
	argument to specify whether we want the component's structure removed
	if no more alarms exist, and only free the structure if TRUE.
	(remove_alarms): added same new argument and pass it over to
	remove_queued_alarm.
	(remove_comp, obj_updated_cb): passed new argument to remove_alarms.
	(procedure_notification): passed new argument to remove_queued_alarm.
	(obj_removed_cb): set all freed pointers to NULL.
	(notify_dialog_cb): only remove the alarm if the pointers are not NULL.

svn path=/trunk/; revision=20232
2003-03-10 11:53:36 +00:00
43d1185654 create the array to be returned only once.
2003-03-07  Rodrigo Moya <rodrigo@ximian.com>

	* gui/alarm-notify/save.c (get_calendars_to_load): create the array
	to be returned only once.

svn path=/trunk/; revision=20217
2003-03-07 12:53:19 +00:00
9b665c1a82 ref the CalClient. (notify_dialog_cb): unref the CalClient.
2003-03-06  Rodrigo Moya <rodrigo@ximian.com>

	* gui/alarm-queue.c (display_notification): ref the CalClient.
	(notify_dialog_cb): unref the CalClient.

svn path=/trunk/; revision=20186
2003-03-06 12:44:37 +00:00
245d1c200e new function. (alarm_notify_dialog): made it return a pointer to the
2003-03-06  Rodrigo Moya <rodrigo@ximian.com>

	* gui/alarm-notify/alarm-notify-dialog.[ch]
	(alarm_notify_dialog_disable_buttons): new function.
	(alarm_notify_dialog): made it return a pointer to the dialog structure.

	* gui/alarm-notify/alarm-queue.c (remove_alarms, remove_comp): splitted
	alarm removal out of remove_comp.
	(obj_updated_cb): remove the component only when needed. In normal
	updates, just update the internal structure.
	(edit_component): don't get a CompQueuedAlarms as argument, since it
	might be removed.
	(on_dialog_obj_updated_cb, on_dialog_obj_removed_cb): callbacks for
	modifications during dialog display.
	(notify_dialog_cb): disconnect from "obj_*ed" signals and call
	edit_component with the new set of arguments.
	(display_notification): added more data to the closure structure.

svn path=/trunk/; revision=20185
2003-03-06 12:21:49 +00:00
f7589488e0 Fixes #31382
2003-03-05  Rodrigo Moya <rodrigo@ximian.com>

	Fixes #31382

	* gui/e-meeting-model.c (async_read): don't assume the buffer is
	always full, but use GNOME_VFS_ERROR_EOF instead for knowing when
	the read has finished.

svn path=/trunk/; revision=20183
2003-03-05 22:27:30 +00:00
f56716d0d3 fix defaults and descriptions to match what calendar-config wants them to
2003-03-05  JP Rosevear  <jpr@ximian.com>

	* gui/apps_evolution_calendar.schemas: fix defaults and
	descriptions to match what calendar-config wants them to be

svn path=/trunk/; revision=20173
2003-03-05 16:35:49 +00:00
7f8c51d30d g_objectify ref/unref
2003-03-05  JP Rosevear  <jpr@ximian.com>

	* gui/e-itip-control.c (show_current): g_objectify ref/unref

	* gui/itip-bonobo-control.c (set_data_idle_cb): as above
	(pstream_load): ditto

	* gui/dialogs/alarm-options.c (alarm_to_malarm_widgets): as above

svn path=/trunk/; revision=20172
2003-03-05 15:50:34 +00:00
1fe2e871ab override finalize, not destroy (start_calendar_server): take itip as a
2003-03-05  JP Rosevear  <jpr@ximian.com>

 	* gui/e-itip-control.c (class_init): override finalize, not
 	destroy
 	(start_calendar_server): take itip as a param and gtk_main_quit if
 	it gets destroyed while we are waiting for the cal client to load
 	(start_default_server): ditto
 	(get_servers): take itip as a param and don't load if we've been
 	destroyed, check for an except when retrieving the folder list
 	(init): ref the html control
	(destroy): mark ourselves as destroyed
 	(finalize): clean up, unref html control
 	(write_html): if the html widget has been destroyed, don't write
 	anything out
 	(show_current_todo): pass extra param
 	(show_current): ref/unref the itip control to avoid finalization
while
 	we are working, pass extra param
 	(button_selected_cb): pass extra param
 	(object_requested_cb): ditto

svn path=/trunk/; revision=20171
2003-03-05 15:41:33 +00:00
fcaaa48d5f cast CalClient's to GObject, not GtkObject.
2003-03-05  Rodrigo Moya <rodrigo@ximian.com>

	* gui/calendar-offline-handler.c (backend_go_offline,
	backend_go_online): cast CalClient's to GObject, not GtkObject.

svn path=/trunk/; revision=20166
2003-03-05 13:03:16 +00:00
f776394961 don't let the user change to an email organizer if the back end is not an
2003-03-04  JP Rosevear  <jpr@ximian.com>

 	* gui/dialogs/meeting-page.c (meeting_page_fill_widgets): don't
 	let the user change to an email organizer if the back end is not
 	an email addres

svn path=/trunk/; revision=20162
2003-03-04 22:28:56 +00:00
3911413b09 Fixes #37881
2003-02-11  JP Rosevear  <jpr@ximian.com>

 	Fixes #37881

 	* gui/e-meeting-model.c (process_section): if the attendee is the
 	empty string, try to get the email

svn path=/trunk/; revision=20161
2003-03-04 22:27:52 +00:00
ee4b08496d Fixes #37881
2003-02-11  JP Rosevear  <jpr@ximian.com>

 	Fixes #37881

 	* gui/e-meeting-model.c (process_section): if the attendee is the
 	empty string, try to get the email

svn path=/trunk/; revision=20160
2003-03-04 22:22:16 +00:00
b7129ad461 Fixes #37883
2003-03-04  JP Rosevear  <jpr@ximian.com>

 	Fixes #37883

 	* idl/evolution-calendar.idl: getLdapAttribute can raise NotFound

svn path=/trunk/; revision=20158
2003-03-04 22:19:31 +00:00
fbf56b4c56 Fixes #37806, #37697
2003-03-04  JP Rosevear  <jpr@ximian.com>

 	Fixes #37806, #37697

 	* gui/e-itip-control.c (e_itip_control_set_data): if the text is
 	null or the empty string, just clear the widget
 	(init): set the html widget to initially be blank

svn path=/trunk/; revision=20155
2003-03-04 22:03:22 +00:00
af8947c7c4 implement
2003-03-04  JP Rosevear  <jpr@ximian.com>

 	* pcs/cal.c (impl_Cal_get_ldap_attribute): implement

 	* pcs/cal-backend.h: add virtual method

 	* pcs/cal-backend.c (cal_backend_get_ldap_attribute): call
 	get_ldap_attribute_method

 	* pcs/cal-backend-file.c (cal_backend_file_class_init): overrid
 	get_ldap_attribute method

 	* idl/evolution-calendar.idl: add getLdapAttribute method

 	* gui/e-meeting-model.c (process_section): take simple card list
 	as arg and try to use the ldap attribute (if any) as the attendee,
 	else use the email address
 	(select_names_ok_cb): get the simple card list

 	* cal-client/cal-client.h: add proto

 	* cal-client/cal-client.c (cal_client_init): init ldap_attribute
 	to NULL
 	(cal_client_destroy): free ldap_attribute

svn path=/trunk/; revision=20154
2003-03-04 22:02:01 +00:00
6c95c6da0e call cal_client_get_cal_address instead of cal_client_get_email_address
2003-03-04  JP Rosevear  <jpr@ximian.com>

       * gui/itip-utils.c (itip_organizer_is_user): call
       cal_client_get_cal_address instead of cal_client_get_email_address

       * gui/dialogs/meeting-page.c (meeting_page_construct): ditto

       * pcs/cal.c (impl_Cal_get_cal_address): implement updated method
       name
       (cal_class_init): set method implementation

       * pcs/cal-backend.c (cal_backend_class_init): init get_cal_address
       virtual function
       (cal_backend_get_cal_address): call proper function

       * pcs/cal-backend.h: update proto, rename get_email_address
       virtual function to get_cal_address virtual function

       * pcs/cal-backend-file.c (cal_backend_file_class_init): match
       get_cal_address call
       (cal_backend_file_get_cal_address): rename from
       cal_backend_file_get_email_address

       * cal-client/cal-client.c: rename email_address private member to
       cal_address
       (cal_client_init): init cal_address
       (cal_client_destroy): free cal_address and properly free
       alarm_email_address
       (cal_client_get_cal_address): rename from
       cal_client_get_email_address and call proper corba function

svn path=/trunk/; revision=20151
2003-03-04 20:59:13 +00:00
16590660ae fix comment
2003-02-05  JP Rosevear  <jpr@ximian.com>

  	* idl/evolution-calendar.idl: fix comment

svn path=/trunk/; revision=20149
2003-03-04 20:32:09 +00:00
8f2be4ed89 update FIXME note
2003-02-05  JP Rosevear  <jpr@ximian.com>

 	* gui/calendar-model.c (calendar_model_append_row): update FIXME
 	note

svn path=/trunk/; revision=20148
2003-03-04 20:05:21 +00:00
c35c8eb37d fix copyright
2003-03-04  JP Rosevear  <jpr@ximian.com>

 	* gui/dialogs/recur-comp.h: fix copyright

 	* gui/dialogs/recur-comp.c: fix copyright
 	(recur_component_dialog): say "recurring journal entry" instead of
 	just "recurring journal"

svn path=/trunk/; revision=20147
2003-03-04 20:03:21 +00:00
df4595a2b8 Partially Fixes #23606 (from Jack Jia <jack.jia@sun.com>)
2003-03-04  JP Rosevear  <jpr@ximian.com>

        Partially  Fixes #23606 (from Jack Jia <jack.jia@sun.com>)

 	* gui/dialogs/schedule-page.c (update_time): handle no end date if
 	the start is date only

 	* gui/dialogs/event-page.c (update_time): ditto

svn path=/trunk/; revision=20146
2003-03-04 19:59:21 +00:00
ae7622009e Shush.
svn path=/trunk/; revision=20145
2003-03-04 19:53:59 +00:00
6c2bfc807c Commit missed files.
svn path=/trunk/; revision=20144
2003-03-04 19:53:28 +00:00
6b4c3984d5 If only the pipe wouldn't break.
svn path=/trunk/; revision=20143
2003-03-04 19:52:37 +00:00
cd4477930e Merging in 1.2 stuff
2003-03-04  JP Rosevear  <jpr@ximian.com>

	Merging in 1.2 stuff

	Fixes #35598

	* gui/dialogs/task-details-page.c
	(task_details_page_fill_widgets): count a status of needs action
	as a status of none (not started)
	(date_changed_cb): set the option menu to a status of none
	(status_changed): no need to handle needs action status now

	* gui/dialogs/task-details-page.glade: remove needs-action menu
	item

	Fixes #36763

	* gui/dialogs/alarm-page.c (add_clicked_cb): if no address was set
	for an email alarm, set the default
	(button_options_clicked_cb): pass the default email address

	* gui/dialogs/alarm-options.h (alarm_options_dialog_run): update
proto

	* gui/dialogs/alarm-options.c (alarm_to_malarm_widgets): if there
	are no email attendees, default to the passed in value
	(alarm_options_dialog_run): take and track an email param

	* pcs/cal.c (impl_Cal_get_alarm_email_address): implement by
	calling backend method
	(cal_class_init): set alarm email address method implementation

	* pcs/cal-backend.h: add new virtual proto

	* pcs/cal-backend.c (cal_backend_class_init): set alarm email
	address virtual method to NULL
	(cal_backend_get_alarm_email_address): call backend method

	* pcs/cal-backend-file.c (cal_backend_file_class_init): set alarm
	email address method
	(cal_backend_file_get_alarm_email_address): implement by returning
	NULL

	* idl/evolution-calendar.idl: add getAlarmEmailAddress method

	Fixes #37102

	* gui/dialogs/task-editor.c (set_menu_sens): don't allow task
	assignment if the backend says not to

	* gui/dialogs/recurrence-page.c (fill_component): kill warning
	(preview_recur): display the recurrences in the dtstart timezone
	if possible

	* gui/gnome-cal.c (dn_query_obj_updated_cb): pass NULL to use
	default tag zone

	* gui/tag-calendar.c (tag_calendar_by_comp): allow display zone
	for the tagged calendar to be passed in
	(prepare_tag): use the passed in timezone for display if non-null

	* gui/tag-calendar.h (tag_calendar_by_comp): update proto

	* gui/dialogs/recurrence-page.c (recurrence_page_set_dates): make
	sure we always update the preview

	* conduits/todo/todo-conduit.c (add_record): make sure to create a
	unique uid for the record

	* conduits/calendar/calendar-conduit.c (add_record): ditto

	* conduits/todo/todo-conduit.c (e_todo_context_new): init default
	comp and timezone to NULL
	(e_todo_context_destroy): unref default comp
	(pre_sync): et the default comp via the client and set the default
	timezone
	(add_record): pass the default comp as the base comp

	* conduits/calendar/calendar-conduit.c (e_calendar_context_new):
	init default comp to NULL
	(e_calendar_context_destroy): unref default comp
	(pre_sync): get the default comp via the client
	(add_record): pass the default comp as the base comp

	* conduits/calendar/calendar-conduit.c (local_record_from_comp):
	only add the recurrence rule if its not an instance

	* gui/itip-control-factory.c (set_data_idle_cb): idle call back to
	set control data
	(pstream_load): set the data in an idle callback to avoid deadlock
	(get_prop): handle view_only
	(set_prop): ditto
	(itip_control_factory): add view_only

	* gui/e-itip-control.h: add protos

	* gui/e-itip-control.c (write_html): only write out the options if
	we aren't in view_only mode
	(e_itip_control_set_view_only): accessor
	(e_itip_control_get_view_only): ditto

	Fixes #36909

	* gui/dialogs/alarm-page.c (button_options_clicked_cb): indicate
	whether the options dialog should allow repeating

	* gui/dialogs/alarm-options.h: update proto

	* gui/dialogs/alarm-options.c (alarm_to_repeat_widgets): if
	repeating is not allowed, sensitize the widgets appropriately
	(alarm_options_dialog_run): store the repeat param

	* gui/calendar-model.c (calendar_model_append_row): guard against
	saving before the calendar is open

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

	* gui/dialogs/comp-editor.c (page_changed_cb): change warning
	dialog to not mention email
	(page_summary_changed_cb): ditto
	(page_dates_changed_cb): ditto

	* gui/itip-utils.c (itip_organizer_is_user): make the compare case
	insensitive

	* gui/dialogs/meeting-page.c (meeting_page_fill_widgets): don't
	allow the organizer to be changed if its not an email address

	* gui/e-day-view.c, calendar-model.c, e-week-view.c,
	task-editor.c, event-editor.c, comp-editor.c, meeting-page.c: pass
	additional param

	* gui/itip-utils.c (itip_organizer_is_user): take client as param,
	and if organizer-not-email-address and email address and organizer
	match, assume the user is the organizer

	* gui/itip-utils.h: update proto

	* pcs/cal.c (build_fb_seq): set the max

	* gui/e-meeting-model.c
	(e_meeting_model_add_attendee_with_defaults): correct typo and set
	rsvp appropriately

	* gui/dialogs/send-comp.c (send_component_dialog): if save
	schedules, return FALSE for now

	* gui/dialogs/recurrence-page.c (sensitize_recur_widgets):
	de-sensitize the preview widget if we are viewing an instance
	(preview_recur): return if the comp is an instance

	* gui/dialogs/event-page.glade: name the show time frame

	* gui/dialogs/event-page.c (event_page_fill_widgets)
	(event_page_init): init show time frame
	(event_page_fill_widgets): hide/show frame as needed
	(get_widgets): get the frame

	* gui/alarm-notify/alarm-queue.c (mail_notification): kill mail
	notification code

	* cal-client/cal-client.c (load_static_capabilities): grab static
	capabilities string
	(check_capability): see if a capability is in the string
	(cal_client_get_one_alarm_only): accessor
	(cal_client_get_organizer_must_attend): use check_capability
	(cal_client_get_static_capability): ditto

	* cal-client/cal-client.h: new, changed protos

	* idl/evolution-calendar.idl: change over getSchedulingInformation
	to a more general getStaticCapabilities call

	* pcs/cal-backend-file.c
	(cal_backend_file_get_static_capabilities): return
	"no-email-alarms"

	* pcs/cal-backend.c (cal_backend_get_static_capabilities): ditto

	* pcs/cal-backend.h: ditto

	* pcs/cal.c (impl_Cal_get_static_capabilities): ditto

	* gui/alarm-notify/alarm-queue.c (get_default_address): utility
	routine to snag address info

	* gui/alarm-notify/Makefile.am: build composer idl

	* *.c: pass client param for send an cancel params

	* gui/dialogs/send-comp.c (send_component_dialog): take client as
	a parm and if save schedules return true right away

	* gui/dialogs/send-comp.h: update proto

	* gui/dialogs/cancel-comp.c (cancel_component_dialog): take client
	as a param and if we are deleting and schedule saves, return true
	right away

	* gui/dialogs/cancel-comp.h (cancel_component_dialog): update
proto

	* gui/dialogs/alarm-options.glade: add Send To: button

	* gui/dialogs/alarm-options.c (addressbook_clicked_cb): display
	dialog
	(setup_select_names): attach above to Send To: button clicked
	signal

	* gui/dialogs/alarm-options.c (get_widgets): get mail alarm
	widgets
	(setup_select_names): add the select names widget
	(alarm_to_malarm_widgets): show the attendees and description
	(alarm_to_dialog): set the title for mail alarms properly
	(malarm_widgets_to_alarm): save attendees and descriptions in
	alarm
	(alarm_options_dialog_run): call setup_select_names

	* gui/dialogs/alarm-page.c: add email to alarm types

	* gui/dialogs/alarm-options.glade: add mail alarm widgets

	* gui/dialogs/alarm-page.glade: add email to alarm types

	* cal-util/cal-component.c (scan_attendee): kill unnecessary
	CalComponent param
	(scan_property): don't pass same
	(set_attendee_list): take an icalcomp instead of a CalComponent
	(cal_component_set_attendee_list): pass same
	(scan_alarm_property): if its an attendee, scan it
	(make_alarm): set attendee_list member to null
	(cal_component_alarm_new): ditto
	(cal_component_alarm_free): free attendee list
	(cal_component_alarm_get_attendee_list): return attendee list
	(cal_component_alarm_set_attendee_list): set attendee list
	(cal_component_alarm_has_attendees): return true if alarm has
attendees

	* cal-util/cal-component.h: new protos

	* gui/calendar-model.c (calendar_model_append_row): use
	cal_comp_task_new_with_defaults

	* gui/comp-editor-factory.c (get_default_task): ditto

	* gui/e-tasks.c (e_tasks_new_task): ditto

	* gui/gnome-cal.c (gnome_calendar_new_task): ditto

	* gui/comp-util.h (cal_comp_task_new_with_defaults): new proto

	* gui/comp-util.c (cal_comp_task_new_with_defaults): new utility
	routine

	* cal-util/cal-util.c (generate_absolute_triggers): skip omitted
	alarm types
	(add_alarm_occurrences_cb): ditto
	(cal_util_generate_alarms_for_list): take/pass omit param
	(cal_util_generate_alarms_for_comp): ditto

	* cal-util/cal-util.h: update protos

	* pcs/cal-backend-file.c (cal_backend_file_get_alarms_for_object):
	add omit param
	(cal_backend_file_get_alarms_in_range): ditto

	* pcs/cal-backend.c (cal_backend_get_scheduling_information):
	remove dead param

	* gui/dialogs/meeting-page.h: delete proto

	* gui/dialogs/meeting-page.c: remove dead routine

	* gui/dialogs/event-editor.c (event_editor_edit_comp): we don't
	need to add the organizer as an attendee ourselves, just set the
	edit level properly

	* gui/dialogs/task-editor.c (task_editor_edit_comp): ditto

	* gui/comp-util.c (cal_comp_event_new_with_defaults): take client
	as arg so we can obtain the default from the backend

	* gui/comp-editor-factory.c (get_default_event): pass
	cal_comp_event_new_with_defaults the new param

	* gui/gnome-cal.c (gnome_calendar_new_appointment_for): ditto

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

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

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

	* gui/comp-util.h (cal_comp_event_new_with_defaults): update proto

	* pcs/cal-backend-file.c (cal_backend_file_get_default_object):
	return appropriate default object

	* pcs/cal-backend.c (cal_backend_get_default_object): call
	get_default_backend class method

	* pcs/cal-backend.h: add proto

	* pcs/cal.c (impl_Cal_get_default_object): implement
	(cal_class_init): set handler for getDefaultObject call

	* idl/evolution-calendar.idl: remove always schedule from
	SchedulingInformation and add getDefaultObject call

	* cal-client/cal-client.c (cal_client_get_default_object): gets a
	default object from the server
	(cal_client_init): remove always_schedule
	(load_scheduling_info): ditto

	* cal-client/cal-client.h: add a proto, delete a proto

	* gui/dialogs/meeting-page.c (right_click_cb): if the attendee is
	not fully editable, don't allow deletion
	(meeting_page_construct): keep the default organizer as an itip
	address
	(meeting_page_get_default_organizer): return the default organizer

	* gui/dialogs/meeting-page.h: new proto

	* gui/dialogs/event-editor.c (event_editor_edit_comp): we set
	appropriate edit levels now for users and if the backend always
	schedules we always show the meeting pages and add the organizer
	as an attendee

	* gui/dialogs/task-editor.c (task_editor_edit_comp): same

	* gui/e-meeting-model.c (is_cell_editable): use the edit level of
	the attendee to determine if cell is editable
	(init): we no longer keep the attendee list of restricted

	* gui/e-meeting-attendee.c (e_meeting_attendee_get_edit_level):
accessor
	(e_meeting_attendee_set_edit_level): ditto

	* gui/e-meeting-attendee.h: new protos and edit level enum

	* cal-client/cal-client.c (load_scheduling_info): load the
	scheduling info
	(cal_client_get_always_schedule): accessor
	(cal_client_get_organizer_must_attend): ditto
	(cal_client_get_save_schedules): ditto
	(cal_client_init): init scheduling data members

	* cal-client/cal-client.h: accessors for scheduling information

	* pcs/cal-backend-file.c
	(cal_backend_file_get_scheduling_information): implement the new
	virtual method

	* pcs/cal-backend.c (cal_backend_get_scheduling_information): call
	the class specific method

	* pcs/cal-backend.h: add virtual method

	* idl/evolution-calendar.idl: add a getSchedulingInformation call
	which describes how the backend does its scheduling

	* pcs/cal.c (impl_Cal_get_scheduling_information): implement above

	* gui/e-day-view.c: pass NULL as parent to recur dialog

	* gui/e-week-view.c: ditto

	* gui/dialogs/comp-editor.c (prompt_to_save_changes): show recur
	dialog after prompting, not before
	(save_cmd): ditto
	(save_close_cmd): ditto
	(real_edit_comp): don't show recur dialog before opening

	* gui/dialogs/recur-comp.h (recur_component_dialog): update proto

	* gui/dialogs/recur-comp.c (recur_component_dialog): take a parent
	argument and set the dialog parent if non-null

 	* gui/e-week-view.c (e_day_view_on_editing_stopped): Don't update
 	appointment if both the old and the new summary texts are empty.

	* gui/e-week-view.c (e_week_view_show_popup_menu): mask out "make
	moveable" if its an instance

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

	* gui/e-week-view.c (e_week_view_on_editing_stopped): if its
	an instance, show the recur comp dialog and modify it based on the
	response (or not if cancel is hit)

	* gui/e-day-view.c (e_day_view_finish_long_event_resize): if its
	an instance, show the recur comp dialog and modify it based on the
	response (or not if cancel is hit)
	(e_day_view_finish_resize): ditto
	(e_day_view_on_editing_stopped): ditto
	(e_day_view_on_top_canvas_drag_data_received): ditto
	(e_day_view_on_main_canvas_drag_data_received): ditto

	* gui/dialogs/comp-editor.c (real_edit_comp): reflect changes in
	proto of recur_component_dialog

	* gui/dialogs/recur-comp.c (recur_component_dialog): use ok/cancel
	instead and radio buttons for the mod type

	* gui/dialogs/recur-comp.h: update proto

	* gui/e-day-view.c (e_day_view_on_long_event_click): allow
	dragging if its an instance
	(e_day_view_on_event_click): ditto
	(e_day_view_on_top_canvas_motion): ditto
	(e_day_view_on_main_canvas_motion): ditto

	* gui/dialogs/comp-editor.c (save_comp): if its an instance,
	update with the mod type
	(real_edit_comp): ask the user what instances they want to change

	* gui/dialogs/recur-comp.[hc]: new dialog to ask user what
	recurrences to modify

	* gui/dialogs/Makefile.am: Compile new files

	* gui/e-day-view.c (e_day_view_on_delete_occurrence): if its an
	instance, just remove with THIS mod

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

	* cal-client/cal-client.c (cal_client_remove_object_with_mod):
	send the mod parameter to the backend
	(cal_client_remove_object): implement with above
	(cal_client_update_object_with_mod): send the mod parameter to the
	backend
	(cal_client_update_object): implement with above

	* cal-client/cal-client.h: new protos

	* cal-client/cal-client.c (cal_client_is_read_only): return
	booleans in the pre conditions
	(cal_client_update_object): pass mod param
	(cal_client_update_objects): ditto
	(cal_client_remove_object): ditto
	(cal_client_ensure_timezone_on_server): ditto

	* pcs/cal.c (impl_Cal_update_objects): take mod param
	(impl_Cal_remove_object): ditto

	* pcs/cal-backend.h: fix protos

	* pcs/cal-backend.c (cal_backend_update_objects): take mod param
	(cal_backend_remove_object): ditto

	* pcs/cal-backend-file.c (cal_backend_file_update_objects): take
	mod param
	(cal_backend_file_remove_object): ditto

	* cal-util/cal-util.h: add mod enum

	* cal-util/cal-recur.c (cal_recur_generate_instances_of_rule): if
	its an instance, just report the instance

	* cal-util/cal-component.h: new protos

	* cal-util/cal-component.c (cal_component_is_instance): indicate
	whether the component is an instance or not
	(cal_component_free_range): free a range

	* idl/evolution-calendar.idl: get remove and update to take mod
	type

svn path=/trunk/; revision=20142
2003-03-04 19:51:20 +00:00
1ca4ebaaeb Fixes #35598
2003-03-04  JP Rosevear  <jpr@ximian.com>

	Fixes #35598

	* gui/dialogs/task-details-page.c
	(task_details_page_fill_widgets): count a status of needs action
	as a status of none (not started)
	(date_changed_cb): set the option menu to a status of none
	(status_changed): no need to handle needs action status now

	* gui/dialogs/task-details-page.glade: remove needs-action menu
	item

	Fixes #36763

	* gui/dialogs/alarm-page.c (add_clicked_cb): if no address was set
	for an email alarm, set the default
	(button_options_clicked_cb): pass the default email address

	* gui/dialogs/alarm-options.h (alarm_options_dialog_run): update
proto

	* gui/dialogs/alarm-options.c (alarm_to_malarm_widgets): if there
	are no email attendees, default to the passed in value
	(alarm_options_dialog_run): take and track an email param

	* pcs/cal.c (impl_Cal_get_alarm_email_address): implement by
	calling backend method
	(cal_class_init): set alarm email address method implementation

	* pcs/cal-backend.h: add new virtual proto

	* pcs/cal-backend.c (cal_backend_class_init): set alarm email
	address virtual method to NULL
	(cal_backend_get_alarm_email_address): call backend method

	* pcs/cal-backend-file.c (cal_backend_file_class_init): set alarm
	email address method
	(cal_backend_file_get_alarm_email_address): implement by returning
	NULL

	* idl/evolution-calendar.idl: add getAlarmEmailAddress method

	Fixes #37102

	* gui/dialogs/task-editor.c (set_menu_sens): don't allow task
	assignment if the backend says not to

	* gui/dialogs/recurrence-page.c (fill_component): kill warning
	(preview_recur): display the recurrences in the dtstart timezone
	if possible

	* gui/gnome-cal.c (dn_query_obj_updated_cb): pass NULL to use
	default tag zone

	* gui/tag-calendar.c (tag_calendar_by_comp): allow display zone
	for the tagged calendar to be passed in
	(prepare_tag): use the passed in timezone for display if non-null

	* gui/tag-calendar.h (tag_calendar_by_comp): update proto

	* gui/dialogs/recurrence-page.c (recurrence_page_set_dates): make
	sure we always update the preview

	* conduits/todo/todo-conduit.c (add_record): make sure to create a
	unique uid for the record

	* conduits/calendar/calendar-conduit.c (add_record): ditto

	* conduits/todo/todo-conduit.c (e_todo_context_new): init default
	comp and timezone to NULL
	(e_todo_context_destroy): unref default comp
	(pre_sync): et the default comp via the client and set the default
	timezone
	(add_record): pass the default comp as the base comp

	* conduits/calendar/calendar-conduit.c (e_calendar_context_new):
	init default comp to NULL
	(e_calendar_context_destroy): unref default comp
	(pre_sync): get the default comp via the client
	(add_record): pass the default comp as the base comp

	* conduits/calendar/calendar-conduit.c (local_record_from_comp):
	only add the recurrence rule if its not an instance

	* gui/itip-control-factory.c (set_data_idle_cb): idle call back to
	set control data
	(pstream_load): set the data in an idle callback to avoid deadlock
	(get_prop): handle view_only
	(set_prop): ditto
	(itip_control_factory): add view_only

	* gui/e-itip-control.h: add protos

	* gui/e-itip-control.c (write_html): only write out the options if
	we aren't in view_only mode
	(e_itip_control_set_view_only): accessor
	(e_itip_control_get_view_only): ditto

	Fixes #36909

	* gui/dialogs/alarm-page.c (button_options_clicked_cb): indicate
	whether the options dialog should allow repeating

	* gui/dialogs/alarm-options.h: update proto

	* gui/dialogs/alarm-options.c (alarm_to_repeat_widgets): if
	repeating is not allowed, sensitize the widgets appropriately
	(alarm_options_dialog_run): store the repeat param

	* gui/calendar-model.c (calendar_model_append_row): guard against
	saving before the calendar is open

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

	* gui/dialogs/comp-editor.c (page_changed_cb): change warning
	dialog to not mention email
	(page_summary_changed_cb): ditto
	(page_dates_changed_cb): ditto

	* gui/itip-utils.c (itip_organizer_is_user): make the compare case
	insensitive

	* gui/dialogs/meeting-page.c (meeting_page_fill_widgets): don't
	allow the organizer to be changed if its not an email address

	* gui/e-day-view.c, calendar-model.c, e-week-view.c,
	task-editor.c, event-editor.c, comp-editor.c, meeting-page.c: pass
	additional param

	* gui/itip-utils.c (itip_organizer_is_user): take client as param,
	and if organizer-not-email-address and email address and organizer
	match, assume the user is the organizer

	* gui/itip-utils.h: update proto

	* pcs/cal.c (build_fb_seq): set the max

	* gui/e-meeting-model.c
	(e_meeting_model_add_attendee_with_defaults): correct typo and set
	rsvp appropriately

	* gui/dialogs/send-comp.c (send_component_dialog): if save
	schedules, return FALSE for now

	* gui/dialogs/recurrence-page.c (sensitize_recur_widgets):
	de-sensitize the preview widget if we are viewing an instance
	(preview_recur): return if the comp is an instance

	* gui/dialogs/event-page.glade: name the show time frame

	* gui/dialogs/event-page.c (event_page_fill_widgets)
	(event_page_init): init show time frame
	(event_page_fill_widgets): hide/show frame as needed
	(get_widgets): get the frame

	* gui/alarm-notify/alarm-queue.c (mail_notification): kill mail
	notification code

	* cal-client/cal-client.c (load_static_capabilities): grab static
	capabilities string
	(check_capability): see if a capability is in the string
	(cal_client_get_one_alarm_only): accessor
	(cal_client_get_organizer_must_attend): use check_capability
	(cal_client_get_static_capability): ditto

	* cal-client/cal-client.h: new, changed protos

	* idl/evolution-calendar.idl: change over getSchedulingInformation
	to a more general getStaticCapabilities call

	* pcs/cal-backend-file.c
	(cal_backend_file_get_static_capabilities): return
	"no-email-alarms"

	* pcs/cal-backend.c (cal_backend_get_static_capabilities): ditto

	* pcs/cal-backend.h: ditto

	* pcs/cal.c (impl_Cal_get_static_capabilities): ditto

	* gui/alarm-notify/alarm-queue.c (get_default_address): utility
	routine to snag address info

	* gui/alarm-notify/Makefile.am: build composer idl

	* *.c: pass client param for send an cancel params

	* gui/dialogs/send-comp.c (send_component_dialog): take client as
	a parm and if save schedules return true right away

	* gui/dialogs/send-comp.h: update proto

	* gui/dialogs/cancel-comp.c (cancel_component_dialog): take client
	as a param and if we are deleting and schedule saves, return true
	right away

	* gui/dialogs/cancel-comp.h (cancel_component_dialog): update
proto

	* gui/dialogs/alarm-options.glade: add Send To: button

	* gui/dialogs/alarm-options.c (addressbook_clicked_cb): display
	dialog
	(setup_select_names): attach above to Send To: button clicked
	signal

	* gui/dialogs/alarm-options.c (get_widgets): get mail alarm
	widgets
	(setup_select_names): add the select names widget
	(alarm_to_malarm_widgets): show the attendees and description
	(alarm_to_dialog): set the title for mail alarms properly
	(malarm_widgets_to_alarm): save attendees and descriptions in
	alarm
	(alarm_options_dialog_run): call setup_select_names

	* gui/dialogs/alarm-page.c: add email to alarm types

	* gui/dialogs/alarm-options.glade: add mail alarm widgets

	* gui/dialogs/alarm-page.glade: add email to alarm types

	* cal-util/cal-component.c (scan_attendee): kill unnecessary
	CalComponent param
	(scan_property): don't pass same
	(set_attendee_list): take an icalcomp instead of a CalComponent
	(cal_component_set_attendee_list): pass same
	(scan_alarm_property): if its an attendee, scan it
	(make_alarm): set attendee_list member to null
	(cal_component_alarm_new): ditto
	(cal_component_alarm_free): free attendee list
	(cal_component_alarm_get_attendee_list): return attendee list
	(cal_component_alarm_set_attendee_list): set attendee list
	(cal_component_alarm_has_attendees): return true if alarm has
attendees

	* cal-util/cal-component.h: new protos

	* gui/calendar-model.c (calendar_model_append_row): use
	cal_comp_task_new_with_defaults

	* gui/comp-editor-factory.c (get_default_task): ditto

	* gui/e-tasks.c (e_tasks_new_task): ditto

	* gui/gnome-cal.c (gnome_calendar_new_task): ditto

	* gui/comp-util.h (cal_comp_task_new_with_defaults): new proto

	* gui/comp-util.c (cal_comp_task_new_with_defaults): new utility
	routine

	* cal-util/cal-util.c (generate_absolute_triggers): skip omitted
	alarm types
	(add_alarm_occurrences_cb): ditto
	(cal_util_generate_alarms_for_list): take/pass omit param
	(cal_util_generate_alarms_for_comp): ditto

	* cal-util/cal-util.h: update protos

	* pcs/cal-backend-file.c (cal_backend_file_get_alarms_for_object):
	add omit param
	(cal_backend_file_get_alarms_in_range): ditto

	* pcs/cal-backend.c (cal_backend_get_scheduling_information):
	remove dead param

	* gui/dialogs/meeting-page.h: delete proto

	* gui/dialogs/meeting-page.c: remove dead routine

	* gui/dialogs/event-editor.c (event_editor_edit_comp): we don't
	need to add the organizer as an attendee ourselves, just set the
	edit level properly

	* gui/dialogs/task-editor.c (task_editor_edit_comp): ditto

	* gui/comp-util.c (cal_comp_event_new_with_defaults): take client
	as arg so we can obtain the default from the backend

	* gui/comp-editor-factory.c (get_default_event): pass
	cal_comp_event_new_with_defaults the new param

	* gui/gnome-cal.c (gnome_calendar_new_appointment_for): ditto

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

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

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

	* gui/comp-util.h (cal_comp_event_new_with_defaults): update proto

	* pcs/cal-backend-file.c (cal_backend_file_get_default_object):
	return appropriate default object

	* pcs/cal-backend.c (cal_backend_get_default_object): call
	get_default_backend class method

	* pcs/cal-backend.h: add proto

	* pcs/cal.c (impl_Cal_get_default_object): implement
	(cal_class_init): set handler for getDefaultObject call

	* idl/evolution-calendar.idl: remove always schedule from
	SchedulingInformation and add getDefaultObject call

	* cal-client/cal-client.c (cal_client_get_default_object): gets a
	default object from the server
	(cal_client_init): remove always_schedule
	(load_scheduling_info): ditto

	* cal-client/cal-client.h: add a proto, delete a proto

	* gui/dialogs/meeting-page.c (right_click_cb): if the attendee is
	not fully editable, don't allow deletion
	(meeting_page_construct): keep the default organizer as an itip
	address
	(meeting_page_get_default_organizer): return the default organizer

	* gui/dialogs/meeting-page.h: new proto

	* gui/dialogs/event-editor.c (event_editor_edit_comp): we set
	appropriate edit levels now for users and if the backend always
	schedules we always show the meeting pages and add the organizer
	as an attendee

	* gui/dialogs/task-editor.c (task_editor_edit_comp): same

	* gui/e-meeting-model.c (is_cell_editable): use the edit level of
	the attendee to determine if cell is editable
	(init): we no longer keep the attendee list of restricted

	* gui/e-meeting-attendee.c (e_meeting_attendee_get_edit_level):
accessor
	(e_meeting_attendee_set_edit_level): ditto

	* gui/e-meeting-attendee.h: new protos and edit level enum

	* cal-client/cal-client.c (load_scheduling_info): load the
	scheduling info
	(cal_client_get_always_schedule): accessor
	(cal_client_get_organizer_must_attend): ditto
	(cal_client_get_save_schedules): ditto
	(cal_client_init): init scheduling data members

	* cal-client/cal-client.h: accessors for scheduling information

	* pcs/cal-backend-file.c
	(cal_backend_file_get_scheduling_information): implement the new
	virtual method

	* pcs/cal-backend.c (cal_backend_get_scheduling_information): call
	the class specific method

	* pcs/cal-backend.h: add virtual method

	* idl/evolution-calendar.idl: add a getSchedulingInformation call
	which describes how the backend does its scheduling

	* pcs/cal.c (impl_Cal_get_scheduling_information): implement above

	* gui/e-day-view.c: pass NULL as parent to recur dialog

	* gui/e-week-view.c: ditto

	* gui/dialogs/comp-editor.c (prompt_to_save_changes): show recur
	dialog after prompting, not before
	(save_cmd): ditto
	(save_close_cmd): ditto
	(real_edit_comp): don't show recur dialog before opening

	* gui/dialogs/recur-comp.h (recur_component_dialog): update proto

	* gui/dialogs/recur-comp.c (recur_component_dialog): take a parent
	argument and set the dialog parent if non-null

 	* gui/e-week-view.c (e_day_view_on_editing_stopped): Don't update
 	appointment if both the old and the new summary texts are empty.

	* gui/e-week-view.c (e_week_view_show_popup_menu): mask out "make
	moveable" if its an instance

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

	* gui/e-week-view.c (e_week_view_on_editing_stopped): if its
	an instance, show the recur comp dialog and modify it based on the
	response (or not if cancel is hit)

	* gui/e-day-view.c (e_day_view_finish_long_event_resize): if its
	an instance, show the recur comp dialog and modify it based on the
	response (or not if cancel is hit)
	(e_day_view_finish_resize): ditto
	(e_day_view_on_editing_stopped): ditto
	(e_day_view_on_top_canvas_drag_data_received): ditto
	(e_day_view_on_main_canvas_drag_data_received): ditto

	* gui/dialogs/comp-editor.c (real_edit_comp): reflect changes in
	proto of recur_component_dialog

	* gui/dialogs/recur-comp.c (recur_component_dialog): use ok/cancel
	instead and radio buttons for the mod type

	* gui/dialogs/recur-comp.h: update proto

	* gui/e-day-view.c (e_day_view_on_long_event_click): allow
	dragging if its an instance
	(e_day_view_on_event_click): ditto
	(e_day_view_on_top_canvas_motion): ditto
	(e_day_view_on_main_canvas_motion): ditto

	* gui/dialogs/comp-editor.c (save_comp): if its an instance,
	update with the mod type
	(real_edit_comp): ask the user what instances they want to change

	* gui/dialogs/recur-comp.[hc]: new dialog to ask user what
	recurrences to modify

	* gui/dialogs/Makefile.am: Compile new files

	* gui/e-day-view.c (e_day_view_on_delete_occurrence): if its an
	instance, just remove with THIS mod

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

	* cal-client/cal-client.c (cal_client_remove_object_with_mod):
	send the mod parameter to the backend
	(cal_client_remove_object): implement with above
	(cal_client_update_object_with_mod): send the mod parameter to the
	backend
	(cal_client_update_object): implement with above

	* cal-client/cal-client.h: new protos

	* cal-client/cal-client.c (cal_client_is_read_only): return
	booleans in the pre conditions
	(cal_client_update_object): pass mod param
	(cal_client_update_objects): ditto
	(cal_client_remove_object): ditto
	(cal_client_ensure_timezone_on_server): ditto

	* pcs/cal.c (impl_Cal_update_objects): take mod param
	(impl_Cal_remove_object): ditto

	* pcs/cal-backend.h: fix protos

	* pcs/cal-backend.c (cal_backend_update_objects): take mod param
	(cal_backend_remove_object): ditto

	* pcs/cal-backend-file.c (cal_backend_file_update_objects): take
	mod param
	(cal_backend_file_remove_object): ditto

	* cal-util/cal-util.h: add mod enum

	* cal-util/cal-recur.c (cal_recur_generate_instances_of_rule): if
	its an instance, just report the instance

	* cal-util/cal-component.h: new protos

	* cal-util/cal-component.c (cal_component_is_instance): indicate
	whether the component is an instance or not
	(cal_component_free_range): free a range

	* idl/evolution-calendar.idl: get remove and update to take mod
	type

svn path=/trunk/; revision=20141
2003-03-04 19:48:22 +00:00
484aa9de68 gui/dialogs/alarm-page.c gui/dialogs/event-page.c
2003-03-03  Hans Petter Jansson  <hpj@ximian.com>

	* gui/dialogs/alarm-page.c
	* gui/dialogs/event-page.c
	* gui/dialogs/meeting-page.c
	* gui/dialogs/recurrence-page.c
	* gui/dialogs/schedule-page.c
	* gui/dialogs/task-details-page.c
	* gui/dialogs/task-page.c (get_widgets): gtk_widget_unparent() ->
	gtk_container_remove(). The former caused crashes in the
	addressbook's name-selector.

svn path=/trunk/; revision=20130
2003-03-03 22:28:59 +00:00
fb1ea32395 Do importers after the other dirs, as it relies on generated files from
2003-03-01  Hans Petter Jansson  <hpj@ximian.com>

	* Makefile.am: Do importers after the other dirs, as it relies on
	generated files from there. This is still not optimal... Should
	probably introduce dependencies.

svn path=/trunk/; revision=20116
2003-03-01 18:04:54 +00:00
58be26a249 Shlibify.
2003-02-28  Hans Petter Jansson  <hpj@ximian.com>

	* importers/Makefile.am: Shlibify.

	* importers/GNOME_Evolution_Calendar_Importer.server.in.in:
	Shlibify.

	* importers/icalendar-importer.c: Add necessary includes.
	(importer_destroy_cb): This is now a GWeakNotify func. gtk_ -> g_.
	(ical_importer_new)
	(vcal_importer_new)
	(gnome_calendar_importer_destroy_cb): Destroy signal -> weak ref.

	* importers/main.c: Add necessary includes. Shlibify.

svn path=/trunk/; revision=20115
2003-02-28 23:35:51 +00:00
e923674e24 build libcal-dialogs as an uninstalled shared library ($(IDL_GENERATED_H),
* gui/dialogs/Makefile.am: build libcal-dialogs as an uninstalled
	shared library
	($(IDL_GENERATED_H), etc): Only generate
	Evolution-Addressbook-SelectNames.h, not the corresponding .c
	files, or we'll get duplicate symbol errors trying to link this
	into libevolution_calendar.la

	* gui/Makefile.am (libevolution_calendar_la_LIBADD): Update for
	that (and eliminate libtool portability warnings)

svn path=/trunk/; revision=20114
2003-02-28 22:44:27 +00:00