aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-cal-popup.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/e-cal-popup.c')
-rw-r--r--calendar/gui/e-cal-popup.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/calendar/gui/e-cal-popup.c b/calendar/gui/e-cal-popup.c
index 00dd097b17..5dc4462833 100644
--- a/calendar/gui/e-cal-popup.c
+++ b/calendar/gui/e-cal-popup.c
@@ -159,6 +159,9 @@ e_cal_popup_target_new_select(ECalPopup *eabp, struct _ECalModel *model, GPtrArr
if (e_cal_util_component_is_instance (comp_data->icalcomp))
mask &= ~E_CAL_POPUP_SELECT_INSTANCE;
+ if (e_cal_util_component_has_attendee (comp_data->icalcomp))
+ mask &= ~E_CAL_POPUP_SELECT_MEETING;
+
if (e_cal_util_component_has_organizer (comp_data->icalcomp)) {
ECalComponent *comp;
@@ -180,6 +183,9 @@ e_cal_popup_target_new_select(ECalPopup *eabp, struct _ECalModel *model, GPtrArr
if (!read_only)
mask &= ~E_CAL_POPUP_SELECT_EDITABLE;
+ if (e_cal_get_static_capability (client, CAL_STATIC_CAPABILITY_DELEGATE_SUPPORTED))
+ mask &= ~E_CAL_POPUP_SELECT_DELEGATABLE;
+
if (!e_cal_get_static_capability (client, CAL_STATIC_CAPABILITY_NO_TASK_ASSIGNMENT)
&& !e_cal_get_static_capability (client, CAL_STATIC_CAPABILITY_NO_CONV_TO_ASSIGN_TASK))
mask &= ~E_CAL_POPUP_SELECT_ASSIGNABLE;
@@ -276,8 +282,10 @@ static const EPopupHookTargetMask ecalph_select_masks[] = {
{ "organizer", E_CAL_POPUP_SELECT_ORGANIZER },
{ "not-editing", E_CAL_POPUP_SELECT_NOTEDITING },
{ "not-meeting", E_CAL_POPUP_SELECT_NOTMEETING },
+ { "meeting", E_CAL_POPUP_SELECT_MEETING },
{ "assignable", E_CAL_POPUP_SELECT_ASSIGNABLE },
{ "hasurl", E_CAL_POPUP_SELECT_HASURL },
+ { "delegate", E_CAL_POPUP_SELECT_DELEGATABLE },
{ 0 }
};