From 0caac5ff878a9cb7dc5d53906c7d57ef6483b5f7 Mon Sep 17 00:00:00 2001 From: Harish Krishnaswamy Date: Tue, 19 Oct 2004 03:51:01 +0000 Subject: gui/comp-editor-factory.c (edit_existing), * gui/calendar-component.c (create_new_event): * gui/e-calendar-view.c: (e_calendar_view_edit_appointment): * gui/comp-editor-factory.c (edit_existing), * (edit_new): * gui/dialogs/event-editor.c * (event_editor_edit_comp), (event_editor_new): updated the calls to event_editor_new with additional argument. * gui/dialogs/event-editor.h: * add parameter * is_meeting to distinguish between events and meetings. * gui/dialogs/meeting-page.c: * (sensitize_widgets): use explicit GError variable so that BUSY_ERROR conditions do not lead us to think the calendar is readonly. * gui/e-meeting-store.c: * (refresh_queue_remove), * (ems_init), (e_meeting_store_remove_attendee), (freebusy_async), (refresh_busy_periods), (refresh_queue_add): Make free-busy calls to backends async. Fixed the problem of spurious attendees getting added to the refresh_data. svn path=/trunk/; revision=27614 --- calendar/gui/dialogs/event-editor.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 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 8d1b89cb15..d520fd809b 100644 --- a/calendar/gui/dialogs/event-editor.c +++ b/calendar/gui/dialogs/event-editor.c @@ -47,7 +47,7 @@ struct _EventEditorPrivate { SchedulePage *sched_page; EMeetingStore *model; - + gboolean is_meeting; gboolean meeting_shown; gboolean updating; }; @@ -205,11 +205,8 @@ event_editor_edit_comp (CompEditor *editor, ECalComponent *comp) e_cal_component_get_organizer (comp, &organizer); e_cal_component_get_attendee_list (comp, &attendees); - /* Clear things up */ - e_meeting_store_remove_all_attendees (priv->model); - /* Set up the attendees */ - if (attendees == NULL) { + if (attendees == NULL && !priv->is_meeting) { comp_editor_remove_page (editor, COMP_EDITOR_PAGE (priv->meet_page)); comp_editor_remove_page (editor, COMP_EDITOR_PAGE (priv->sched_page)); priv->meeting_shown = FALSE; @@ -344,11 +341,12 @@ event_editor_finalize (GObject *object) * editor could not be created. **/ EventEditor * -event_editor_new (ECal *client) +event_editor_new (ECal *client, gboolean is_meeting) { EventEditor *ee; ee = EVENT_EDITOR (g_object_new (TYPE_EVENT_EDITOR, NULL)); + ee->priv->is_meeting = is_meeting; return event_editor_construct (ee, client); } @@ -382,7 +380,6 @@ event_editor_show_meeting (EventEditor *ee) g_return_if_fail (ee != NULL); g_return_if_fail (IS_EVENT_EDITOR (ee)); - show_meeting (ee); } -- cgit v1.2.3