23 #include "kgameclock.moc"
27 class KGameClockPrivate
31 : sec(0), min(0), hour(0)
41 :
QObject(parent) , d(new KGameClockPrivate)
43 d->clocktype = clocktype;
44 d->timerClock =
new QTimer(
this);
45 connect(d->timerClock, SIGNAL(timeout()), SLOT(
timeoutClock()));
55 if ( d->hour==23 && d->min==59 && d->sec==59 )
return;
70 QString sec = QString::number(d->sec).rightJustified(2, QLatin1Char(
'0' ),
true);
71 QString min = QString::number(d->min).rightJustified(2, QLatin1Char(
'0' ),
true);
72 if (d->clocktype==
MinSecOnly)
return min + QLatin1Char(
':' ) + sec;
74 QString hour = QString::number(d->hour).rightJustified(2, QLatin1Char(
'0' ),
true);
75 return hour + QLatin1Char(
':' ) + min + QLatin1Char(
':' ) + sec;
85 d->timerClock->stop();
95 d->timerClock->start(1000);
100 d->timerClock->stop();
105 return d->hour*3600 + d->min*60 + d->sec;
110 Q_ASSERT( sec<(3600*24) );
112 d->min = (sec / 60) % 60;
113 d->hour = sec / 1440 ;
119 Q_ASSERT( s.length()==8 && s[2]==QLatin1Char(
':' ) && s[5]==QLatin1Char(
':' ) );
120 uint hour = qMin(s.section(QLatin1Char(
':' ), 0, 0).toUInt(), uint(23));
121 uint min = qMin(s.section(QLatin1Char(
':' ), 1, 1).toUInt(), uint(59));
122 uint sec = qMin(s.section(QLatin1Char(
':' ), 2, 2).toUInt(), uint(59));
123 setTime(sec + min*60 + hour*3600);
KGameClock(QObject *parent=0, ClockType clocktype=HourMinSec)
void timeChanged(const QString &)
virtual void restart()
Reset the clock and start again from zero.
virtual void resume()
Resume counting time from the current position.
virtual void timeoutClock()
virtual void pause()
Pause the clock.
void setTime(uint seconds)
Set the time.
QString timeString() const