yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Quintiq file version 2.0
#parent: #root
Method ShowDuration (
  Duration duration_i
) id:Method_LibCal_dlgEvent_ShowDuration
{
  #keys: '[146730.0.1285792180]'
  Body:
  [*
    // Update the labels that show the duration. The spacing is a little different for recurring and not recurring.
    // When the duration is one or more full days, the time should not be shown.
    duration := duration_i;
    hideTime := LibCal_Event::USE_ONLY_DAYS() or
                ( duration.HourOfDay() = 0 and duration.MinuteOfHour() = 0 );
    
    // pnlRecurring
    mask   := ifexpr( hideTime, "", "  h:m" );
    indent := ifexpr( duration < Duration::Hours( 10 ), "    ", "  " );
    
    if( abs( duration ) >= Duration::Days( 1 ) )
    {
      mask := "d 'day" + ifexpr( duration >= abs( Duration::Days( 2 ) ), "s'", "'" ) + mask;
    }
    
    valDurationRecurring.Text( indent + duration.Format( mask ) );
    
    // pnlNotRecurring
    mask := ifexpr( hideTime, "", "h:m" );
     
    if( abs( duration ) >= Duration::Days( 1 ) )
    {
      mask := "d 'day" + ifexpr( abs( duration ) >= Duration::Days( 2 ) , "s'", "'" ) + "  " + mask;
    }
    
    valDuration.Text( indent + duration.Format( mask ) );
  *]
}