Quintiq file version 2.0
|
#parent: #root
|
Method UpdateDuration () id:Method_LibCal_dlgEditTimeInterval_UpdateDuration
|
{
|
#keys: '[131094.0.2073176582]'
|
Body:
|
[*
|
if( dsStartDate.Date().IsFinite() and
|
dsEndDate .Date().IsFinite() )
|
{
|
timezone := TimeZone::UTCTimeZone(); // Use the UTC-timezone here, don't correct for a specific timezone.
|
|
// Don't use AddAsPeriod here, the 'nett' duration should be calculated here.
|
start := dsStartDate.Date().Add( timezone, durStartTimeOfDay.Duration() );
|
end := dsEndDate .Date().Add( timezone, durEndTimeOfDay .Duration() );
|
duration := end - start;
|
|
// When the duration is one or more full days, the time should not be shown.
|
hideTime := LibCal_Event::USE_ONLY_DAYS() or
|
( duration.HourOfDay() = 0 and duration.MinuteOfHour() = 0 );
|
|
mask := ifexpr( hideTime, "", "h:m" );
|
|
if( abs( duration ) >= Duration::Days( 1 ) )
|
{
|
mask := "d 'day" + ifexpr( abs( duration ) >= Duration::Days( 2 ), "s'", "'" ) + " " + mask;
|
}
|
|
valDuration.Text( duration.Format( mask ) );
|
}
|
*]
|
}
|