summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/tools/clock/clock.cpp24
1 files changed, 19 insertions, 5 deletions
diff --git a/noncore/tools/clock/clock.cpp b/noncore/tools/clock/clock.cpp
index 0eb2b83..74b7147 100644
--- a/noncore/tools/clock/clock.cpp
+++ b/noncore/tools/clock/clock.cpp
@@ -198,9 +198,10 @@ Clock::Clock( QWidget * parent, const char * name, WFlags f )
QTimer::singleShot( 0, this, SLOT( updateClock() ) );
Config cfg( "Clock" );
cfg.setGroup( "Mode" );
- int mode = cfg.readBoolEntry( "clockMode");setSwatchMode( mode);
+ int mode = cfg.readBoolEntry( "clockMode");
+ setSwatchMode( mode);
modeSelect( mode);
}
Clock::~Clock()
@@ -266,8 +267,13 @@ void Clock::clearClock( void )
}
void Clock::startSWatch()
{
+ if(swatch_running) {
+ stopSWatch();
+ return;
+ }
+ qDebug("startSWatch()");
swatch_start.start();
set->setText( tr( "Stop" ) );
t->start( 1000 );
swatch_running = TRUE;
@@ -276,8 +282,9 @@ void Clock::startSWatch()
}
void Clock::stopSWatch()
{
+ qDebug("stopSWatch()");
swatch_totalms += swatch_start.elapsed();
set->setText( tr( "Start" ) );
t->stop();
swatch_running = FALSE;
@@ -312,20 +319,27 @@ void Clock::slotReset()
void Clock::modeSelect( int m )
{
qDebug("Clock::modeSelect( %d) ", m);
- if ( m )
+ if ( m != 0 )
{
lcd->setNumDigits( 8 + 1 + sw_prec );
lcd->setMinimumWidth( lcd->sizeHint().width() );
set->setEnabled( TRUE );
reset->setEnabled( TRUE );
ampmLabel->hide();
- if ( !swatch_running )
- t->stop();
+// if(m == 2) {
+ if ( !swatch_running ) {
+ t->start( 1000 );
}
- else
+// else
+// {
+// stopSWatch();
+// }
+// }
+ }
+ else //clock mode
{
lcd->setNumDigits( 5 );
lcd->setMinimumWidth( lcd->sizeHint().width() );
set->setEnabled( FALSE );