dialog timing {
option dbu
title Stopwatch
size -1 -1 50 87.5
text "%timingmsg", 820, 2.5 5 45 10, center
text "Days 0", 1, 2.5 15 45 10, center
text "Hours 0", 2, 2.5 25 45 10, center
text "Minutes 0", 3, 2.5 35 45 10, center
text "Secs 0", 4, 2.5 45 45 10, center
button Stop, 5, 2.5 55 45 10
button Restart, 6, 2.5 65 45 10
button Close, 7, 2.5 75 45 10
}
on *:dialog:timing:sclick:5:{ timerstopwatch off | did -o timing 1 1 Stopwatch | did -o timing 2 2 has | did -o timing 3 3 been | did -o timing 4 4 turned off! | did -o timing 820 820 The }
on *:dialog:timing:sclick:6:{ stopwatch }
on *:dialog:timing:sclick:7:{ dialog -x timing | timerstopwatch off }
alias stopwatch {
if !$dialog(timing) { dialog -m timing timing }
set %timingmsg $$?="What the message?"
did -o timing 820 820 %timingmsg
set %secs $$?="Secs?"
set %mins $$?="Minutes?"
set %hours $$?="Hours?"
set %days $$?="Days?"
if (%secs > 0) { timerstopwatch 0 1 addtime }
elseif (%secs == 0) && (%hoursmins == 0) { timerstopwatch off }
}
alias dtimer { dialog -m timing timing | dec %secs | did -o timing 1 1 Seconden %secs | .timerdtimer 1 1 dtimer }
alias addtime {
if (%secs == 0) && (%mins > 0) { dec %mins | set %secs 60 }
if (%secs == 0) && (%mins == 0) { set %secsmins 0 }
if (%secsmins == 0) && (%hours > 0) { dec %hours | set %mins 59 | set %secs 59 | unset %secsmins }
if (%secsmins == 0) && (%hours == 0) { set %secsminshours 0 | unset %secsmins }
if (%secsminshours == 0) && (%days > 0) { dec %days | set %hours 23 | set %mins 59 | set %secs 59 | unset %secsminshours | }
dec %secs
did -o timing 4 4 Secs %secs
did -o timing 3 3 Minutes %mins
did -o timing 2 2 Hours %hours
did -o timing 1 1 Days %days
}