From 1bd22eb65b2d1fa1cb8a589871337290c1cb258f Mon Sep 17 00:00:00 2001 From: JP Rosevear Date: Fri, 12 Oct 2001 22:09:57 +0000 Subject: return fill_component success 2001-10-12 JP Rosevear * gui/dialogs/alarm-page.c: return fill_component success * gui/dialogs/task-page.c: ditto * gui/dialogs/task-details-page.c: ditto * gui/dialogs/schedule-page.c: ditto * gui/dialogs/recurrence-page.c: ditto * gui/dialogs/event-page.c: ditto * gui/dialogs/meeting-page.c: use e_notice instead of duplicate_error (meeting_page_get_cancel_comp): duh, deleted_attendees is an array now (meeting_page_fill_component): spew gui errors if there is no organizer or no attendees, return success * gui/dialogs/event-editor.c (event_editor_send_comp): always call parent method and don't send the cancellation comp if the method is publish (refresh_meeting_cmd): use the orginal comp to refresh (forward_cmd): prompt the user for the version they want to send (current, original) * gui/dialogs/task-editor.c (forward_cmd): as above (refresh_task_cmd): ditto * gui/dialogs/comp-editor-page.c (comp_editor_page_fill_component): return boolean of whether the component could be filled or not * gui/dialogs/comp-editor-page.h: update proto * gui/dialogs/comp-editor.c (prompt_to_save_changes): take a param on whether to try and send or not (comp_editor_get_current_comp): only fill component if its changed (comp_editor_save_comp): prompt user as well * gui/dialogs/comp-editor.h: change proto * gui/itip-utils.c: replace error_dialog with e_notice (comp_content_type): specify charset svn path=/trunk/; revision=13635 --- calendar/gui/dialogs/event-editor.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'calendar/gui/dialogs/event-editor.c') diff --git a/calendar/gui/dialogs/event-editor.c b/calendar/gui/dialogs/event-editor.c index f464015fb0..435cfeefb5 100644 --- a/calendar/gui/dialogs/event-editor.c +++ b/calendar/gui/dialogs/event-editor.c @@ -286,16 +286,18 @@ event_editor_send_comp (CompEditor *editor, CalComponentItipMethod method) priv = ee->priv; - /* Don't cancel more than once */ - if (method == CAL_COMPONENT_METHOD_CANCEL) - return; + /* Don't cancel more than once or when just publishing */ + if (method == CAL_COMPONENT_METHOD_PUBLISH || + method == CAL_COMPONENT_METHOD_CANCEL) + goto parent; comp = meeting_page_get_cancel_comp (priv->meet_page); if (comp != NULL) { itip_send_comp (CAL_COMPONENT_METHOD_CANCEL, comp); gtk_object_unref (GTK_OBJECT (comp)); } - + + parent: if (parent_class->send_comp) parent_class->send_comp (editor, method); } @@ -369,8 +371,7 @@ static void refresh_meeting_cmd (GtkWidget *widget, gpointer data) { EventEditor *ee = EVENT_EDITOR (data); - - comp_editor_save_comp (COMP_EDITOR (ee)); + comp_editor_send_comp (COMP_EDITOR (ee), CAL_COMPONENT_METHOD_REFRESH); } @@ -391,9 +392,9 @@ static void forward_cmd (GtkWidget *widget, gpointer data) { EventEditor *ee = EVENT_EDITOR (data); - - comp_editor_save_comp (COMP_EDITOR (ee)); - comp_editor_send_comp (COMP_EDITOR (ee), CAL_COMPONENT_METHOD_PUBLISH); + + if (comp_editor_save_comp (COMP_EDITOR (ee), TRUE)) + comp_editor_send_comp (COMP_EDITOR (ee), CAL_COMPONENT_METHOD_PUBLISH); } static void -- cgit v1.2.3