Quintiq file version 2.0 #parent: #root Method DisableEvent () id:Method_LibCal_dlgEvent_DisableEvent { #keys: '[131094.0.1233382664]' Body: [* // Disable the event-related controls if applicable, enable them otherwise. sLeadPart := dhLeadingParticipation.Data(); isInitiator := Dialog.Data().Calendar() = sLeadPart.Calendar(); isRecurring := not isnull( sLeadPart.RecurrencePeriod() ); // Only the initiator can change the Event. feedback := ifexpr( not isInitiator, Translations::Event_CanOnlyBeChangedByInitiator( Dialog.Data().Initiator() ), "" ); if( feedback <> "" ) { edtName .DisableWithUserFeedback( feedback ); rbgEventType .DisableWithUserFeedback( feedback ); durStartTimeOfDay .DisableWithUserFeedback( feedback ); durEndTimeOfDay .DisableWithUserFeedback( feedback ); ckbIsAllDay .DisableWithUserFeedback( feedback ); durStartTimeOfDayRecurring.DisableWithUserFeedback( feedback ); durEndTimeOfDayRecurring .DisableWithUserFeedback( feedback ); ckbIsAllDayRecurring .DisableWithUserFeedback( feedback ); btnAddDayRecurring .DisableWithUserFeedback( feedback ); btnSubtractDayRecurring .DisableWithUserFeedback( feedback ); if( isRecurring ) { this.DisablePattern( feedback ); } // Only the initiator can change the participants. btnSelectAll .DisableWithUserFeedback( feedback ); btnDeselectAll.DisableWithUserFeedback( feedback ); lstSubscribers.Enabled( isInitiator ); } else { edtName .Enabled( true ); rbgEventType .Enabled( true ); durStartTimeOfDay .Enabled( not ckbIsAllDay.Checked() ); durEndTimeOfDay .Enabled( not ckbIsAllDay.Checked() ); ckbIsAllDay .Enabled( true ); durStartTimeOfDayRecurring.Enabled( not ckbIsAllDay.Checked() ); durEndTimeOfDayRecurring .Enabled( not ckbIsAllDay.Checked() ); ckbIsAllDayRecurring .Enabled( true ); btnAddDayRecurring .Enabled( true ); btnSubtractDayRecurring .Enabled( true ); if( isRecurring ) { this.EnablePattern(); } } // Dates can only be changed if there is no recurrence, and only by the initiator. if( isRecurring ) { feedback := Translations::Event_IsRecurring(); datStartDate.DisableWithUserFeedback( feedback ); datEndDate .DisableWithUserFeedback( feedback ); } else if( not isInitiator ) { feedback := Translations::Event_CanOnlyBeChangedByInitiator( Dialog.Data().Initiator() ); datStartDate.DisableWithUserFeedback( feedback ); datEndDate .DisableWithUserFeedback( feedback ); } else { datStartDate.Enabled( true ); datEndDate .Enabled( true ); } // Also show duration as disabled when everything else is disabled. color := ifexpr( isInitiator or not isRecurring, Color::Black(), Color::Gray() ); valDuration .TextColor( color ); valDurationRecurring.TextColor( color ); lblOneDayRecurring .TextColor( color ); *] }