aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/comp-editor-factory.c
diff options
context:
space:
mode:
authorHarish Krishnaswamy <kharish@src.gnome.org>2004-10-19 11:51:01 +0800
committerHarish Krishnaswamy <kharish@src.gnome.org>2004-10-19 11:51:01 +0800
commit0caac5ff878a9cb7dc5d53906c7d57ef6483b5f7 (patch)
treea603a0242d1d7edf9d0eb40b2b178b11f3978a89 /calendar/gui/comp-editor-factory.c
parentdf2ef401fca583730984558a08a4da0654bb44e7 (diff)
downloadgsoc2013-evolution-0caac5ff878a9cb7dc5d53906c7d57ef6483b5f7.tar.gz
gsoc2013-evolution-0caac5ff878a9cb7dc5d53906c7d57ef6483b5f7.tar.zst
gsoc2013-evolution-0caac5ff878a9cb7dc5d53906c7d57ef6483b5f7.zip
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
Diffstat (limited to 'calendar/gui/comp-editor-factory.c')
-rw-r--r--calendar/gui/comp-editor-factory.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/calendar/gui/comp-editor-factory.c b/calendar/gui/comp-editor-factory.c
index 71470ee648..da7bba1a93 100644
--- a/calendar/gui/comp-editor-factory.c
+++ b/calendar/gui/comp-editor-factory.c
@@ -245,6 +245,8 @@ edit_existing (OpenClient *oc, const char *uid)
icalcomponent *icalcomp;
CompEditor *editor;
ECalComponentVType vtype;
+ /* Presence of attendees indicates that component is a meeting */
+ GSList *attendees = NULL;
g_assert (oc->open);
@@ -269,7 +271,8 @@ edit_existing (OpenClient *oc, const char *uid)
switch (vtype) {
case E_CAL_COMPONENT_EVENT:
- editor = COMP_EDITOR (event_editor_new (oc->client));
+ e_cal_component_get_attendee_list (comp, &attendees);
+ editor = COMP_EDITOR (event_editor_new (oc->client, attendees ? TRUE: FALSE));
break;
case E_CAL_COMPONENT_TODO:
@@ -311,12 +314,15 @@ edit_new (OpenClient *oc, const GNOME_Evolution_Calendar_CompEditorFactory_CompE
switch (type) {
case GNOME_Evolution_Calendar_CompEditorFactory_EDITOR_MODE_EVENT:
+ editor = COMP_EDITOR (event_editor_new (oc->client, FALSE));
+ comp = cal_comp_event_new_with_current_time (oc->client, FALSE);
+ break;
case GNOME_Evolution_Calendar_CompEditorFactory_EDITOR_MODE_MEETING:
- editor = COMP_EDITOR (event_editor_new (oc->client));
+ editor = COMP_EDITOR (event_editor_new (oc->client, TRUE));
comp = cal_comp_event_new_with_current_time (oc->client, FALSE);
break;
case GNOME_Evolution_Calendar_CompEditorFactory_EDITOR_MODE_ALLDAY_EVENT:
- editor = COMP_EDITOR (event_editor_new (oc->client));
+ editor = COMP_EDITOR (event_editor_new (oc->client, FALSE));
comp = cal_comp_event_new_with_current_time (oc->client, TRUE);
break;
case GNOME_Evolution_Calendar_CompEditorFactory_EDITOR_MODE_TODO: