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
@@ -170,65 +170,66 @@ Clock::Clock( QWidget * parent, const char * name, WFlags f )
swatch_totalms = 0;
connect( qApp, SIGNAL( clockChanged( bool ) ), this, SLOT( changeClock( bool ) ) );
Config config( "qpe" );
config.setGroup( "Time" );
ampm = config.readBoolEntry( "AMPM", TRUE );
QString tmp = config.readEntry( "clockAlarmHour", "" );
bool ok;
hour = tmp.toInt( &ok, 10 );
tmp = config.readEntry( "clockAlarmMinute", "" );
minute = tmp.toInt( &ok, 10 );
if ( config.readEntry( "clockAlarmSet", "FALSE" ) == "TRUE" )
{
alarmOffBtn->setText( tr( "Alarm Is On" ) );
alarmBool = TRUE;
snoozeBtn->show();
}
else
{
alarmOffBtn->setText( tr( "Alarm Is Off" ) );
alarmBool = FALSE;
snoozeBtn->hide();
}
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()
{
toggleScreenSaver( true );
}
void Clock::updateClock()
{
if ( clockRB->isChecked() )
{
QTime tm = QDateTime::currentDateTime().time();
QString s;
if ( ampm )
{
int hour = tm.hour();
if ( hour == 0 )
hour = 12;
if ( hour > 12 )
hour -= 12;
s.sprintf( "%2d%c%02d", hour, ':', tm.minute() );
ampmLabel->setText( ( tm.hour() >= 12 ) ? "PM" : "AM" );
ampmLabel->show();
}
else
{
s.sprintf( "%2d%c%02d", tm.hour(), ':', tm.minute() );
ampmLabel->hide();
}
lcd->display( s );
lcd->repaint( FALSE );
@@ -238,122 +239,135 @@ void Clock::updateClock()
else
{
QTime swatch_time;
QString lcdtext;
int totalms = swatch_totalms;
if ( swatch_running )
totalms += swatch_start.elapsed();
swatch_time = QTime( 0, 0, 0 ).addMSecs( totalms );
QString d = swatch_running ? QString( " " )
: QString::number( totalms % 1000 + 1000 );
lcdtext = swatch_time.toString() + "." + d.right( 3 ).left( sw_prec );
lcd->display( lcdtext );
lcd->repaint( FALSE );
aclock->display( swatch_time );
date->setText( TimeString::longDateString( QDate::currentDate() ) );
}
}
void Clock::changeClock( bool a )
{
ampm = a;
updateClock();
}
void Clock::clearClock( void )
{
lcd->display( QTime( 0, 0, 0 ).toString() );
aclock->display( QTime( 0, 0, 0 ) );
}
void Clock::startSWatch()
{
+ if(swatch_running) {
+ stopSWatch();
+ return;
+ }
+ qDebug("startSWatch()");
swatch_start.start();
set->setText( tr( "Stop" ) );
t->start( 1000 );
swatch_running = TRUE;
// disable screensaver while stop watch is running
toggleScreenSaver( FALSE );
}
void Clock::stopSWatch()
{
+ qDebug("stopSWatch()");
swatch_totalms += swatch_start.elapsed();
set->setText( tr( "Start" ) );
t->stop();
swatch_running = FALSE;
toggleScreenSaver( TRUE );
updateClock();
}
void Clock::slotSet()
{
if ( t->isActive() )
{
startSWatch();
}
else
{
stopSWatch();
}
}
void Clock::slotReset()
{
t->stop();
swatch_start.start();
swatch_totalms = 0;
if ( swatch_running )
t->start( 1000 );
updateClock();
}
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 );
reset->setEnabled( FALSE );
t->start( 1000 );
}
Config config( "Clock" );
config.setGroup( "Mode" );
config.writeEntry( "clockMode", m );
updateClock();
}
//this sets the alarm time
void Clock::slotSetAlarm()
{
if ( !snoozeBtn->isHidden() )
slotToggleAlarm();
Set_Alarm *setAlarmDlg;
setAlarmDlg = new Set_Alarm( this, "SetAlarm", TRUE );
int result = setAlarmDlg->exec();
if ( result == 1 ) {
Config config( "qpe" );
config.setGroup( "Time" );
QString tmp;
hour = setAlarmDlg->Hour_Slider->value();
minute = setAlarmDlg->Minute_Slider->value();
snoozeTime = setAlarmDlg->SnoozeSlider->value();
if ( ampm ) {
if ( hour == 12 )
hour = 0;