diff options
author | Harish Krishnaswamy <kharish@src.gnome.org> | 2004-10-19 11:51:01 +0800 |
---|---|---|
committer | Harish Krishnaswamy <kharish@src.gnome.org> | 2004-10-19 11:51:01 +0800 |
commit | 0caac5ff878a9cb7dc5d53906c7d57ef6483b5f7 (patch) | |
tree | a603a0242d1d7edf9d0eb40b2b178b11f3978a89 /calendar/gui/dialogs | |
parent | df2ef401fca583730984558a08a4da0654bb44e7 (diff) | |
download | gsoc2013-evolution-0caac5ff878a9cb7dc5d53906c7d57ef6483b5f7.tar gsoc2013-evolution-0caac5ff878a9cb7dc5d53906c7d57ef6483b5f7.tar.gz gsoc2013-evolution-0caac5ff878a9cb7dc5d53906c7d57ef6483b5f7.tar.bz2 gsoc2013-evolution-0caac5ff878a9cb7dc5d53906c7d57ef6483b5f7.tar.lz gsoc2013-evolution-0caac5ff878a9cb7dc5d53906c7d57ef6483b5f7.tar.xz 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/dialogs')
-rw-r--r-- | calendar/gui/dialogs/event-editor.c | 11 | ||||
-rw-r--r-- | calendar/gui/dialogs/event-editor.h | 2 | ||||
-rw-r--r-- | calendar/gui/dialogs/meeting-page.c | 13 |
3 files changed, 13 insertions, 13 deletions
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); } diff --git a/calendar/gui/dialogs/event-editor.h b/calendar/gui/dialogs/event-editor.h index 9234b8310e..0f934c28f2 100644 --- a/calendar/gui/dialogs/event-editor.h +++ b/calendar/gui/dialogs/event-editor.h @@ -53,7 +53,7 @@ struct _EventEditorClass { GtkType event_editor_get_type (void); EventEditor *event_editor_construct (EventEditor *ee, ECal *client); -EventEditor *event_editor_new (ECal *client); +EventEditor *event_editor_new (ECal *client, gboolean is_meeting); void event_editor_show_meeting (EventEditor *ee); diff --git a/calendar/gui/dialogs/meeting-page.c b/calendar/gui/dialogs/meeting-page.c index 241712a006..19faebaec4 100644 --- a/calendar/gui/dialogs/meeting-page.c +++ b/calendar/gui/dialogs/meeting-page.c @@ -305,12 +305,15 @@ clear_widgets (MeetingPage *mpage) static void sensitize_widgets (MeetingPage *mpage) { - gboolean read_only; + gboolean read_only = FALSE, user_org; MeetingPagePrivate *priv = mpage->priv; - - if (!e_cal_is_read_only (COMP_EDITOR_PAGE (mpage)->client, &read_only, NULL)) - read_only = TRUE; - + GError *error = NULL; + + if (!e_cal_is_read_only (COMP_EDITOR_PAGE (mpage)->client, &read_only, &error)) { + if (error->code != E_CALENDAR_STATUS_BUSY) + read_only = TRUE; + g_error_free (error); + } gtk_widget_set_sensitive (priv->organizer, !read_only); gtk_widget_set_sensitive (priv->existing_organizer_btn, !read_only); gtk_widget_set_sensitive (priv->add, !read_only && priv->user_org); |