diff options
Diffstat (limited to 'calendar/gui/dialogs/task-editor.c')
-rw-r--r-- | calendar/gui/dialogs/task-editor.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/calendar/gui/dialogs/task-editor.c b/calendar/gui/dialogs/task-editor.c index 3c09dece79..774a9cc1c3 100644 --- a/calendar/gui/dialogs/task-editor.c +++ b/calendar/gui/dialogs/task-editor.c @@ -44,6 +44,7 @@ struct _TaskEditorPrivate { EMeetingModel *model; gboolean meeting_shown; + gboolean existing_org; gboolean updating; }; @@ -128,18 +129,22 @@ static void set_menu_sens (TaskEditor *te) { TaskEditorPrivate *priv; + gboolean sens; priv = te->priv; + sens = priv->meeting_shown; comp_editor_set_ui_prop (COMP_EDITOR (te), "/commands/ActionAssignTask", - "sensitive", priv->meeting_shown ? "0" : "1"); + "sensitive", sens ? "0" : "1"); + + sens = sens && priv->existing_org; comp_editor_set_ui_prop (COMP_EDITOR (te), "/commands/ActionRefreshTask", - "sensitive", priv->meeting_shown ? "1" : "0"); + "sensitive", sens ? "1" : "0"); comp_editor_set_ui_prop (COMP_EDITOR (te), "/commands/ActionCancelTask", - "sensitive", priv->meeting_shown ? "1" : "0"); + "sensitive", sens ? "1" : "0"); } static void @@ -188,6 +193,7 @@ task_editor_init (TaskEditor *te) verbs); priv->meeting_shown = TRUE; + priv->existing_org = FALSE; priv->updating = FALSE; init_widgets (te); @@ -206,6 +212,8 @@ task_editor_edit_comp (CompEditor *editor, CalComponent *comp) priv->updating = TRUE; + priv->existing_org = cal_component_has_organizer (comp); + cal_component_get_attendee_list (comp, &attendees); if (attendees == NULL) { comp_editor_remove_page (editor, COMP_EDITOR_PAGE (priv->meet_page)); |