summaryrefslogtreecommitdiff
path: root/noncore/tools
authorllornkcor <llornkcor>2003-03-04 16:50:17 (UTC)
committer llornkcor <llornkcor>2003-03-04 16:50:17 (UTC)
commitbb765b9cd286d85eb8fa1d18199dfb7a29d57fc5 (patch) (unidiff)
tree80d69eef2975d1fb27a758aea7629d34c678a270 /noncore/tools
parent628a783e5d7ec07b5c073c94a77b614439d937ba (diff)
downloadopie-bb765b9cd286d85eb8fa1d18199dfb7a29d57fc5.zip
opie-bb765b9cd286d85eb8fa1d18199dfb7a29d57fc5.tar.gz
opie-bb765b9cd286d85eb8fa1d18199dfb7a29d57fc5.tar.bz2
added 3 qcop calls. timerStart(), timerStop() and timerReset()
Diffstat (limited to 'noncore/tools') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/tools/clock/clock.cpp429
-rw-r--r--noncore/tools/clock/clock.h15
2 files changed, 250 insertions, 194 deletions
diff --git a/noncore/tools/clock/clock.cpp b/noncore/tools/clock/clock.cpp
index 0937362..9898332 100644
--- a/noncore/tools/clock/clock.cpp
+++ b/noncore/tools/clock/clock.cpp
@@ -18,3 +18,3 @@
18** 18**
19**********************************************************************/ 19**********************************************************************/
20// changes added and Copyright (C) by L. J. Potter <ljp@llornkcor.com> 2002 20// changes added and Copyright (C) by L. J. Potter <ljp@llornkcor.com> 2002
@@ -60,7 +60,7 @@ void startPlayer()
60{ 60{
61 Config config( "qpe" ); 61 Config config( "qpe" );
62 config.setGroup( "Time" ); 62 config.setGroup( "Time" );
63 sleep(15); 63 sleep(15);
64 QCopEnvelope e( "QPE/Application/opieplayer", "setDocument(QString)" ); 64 QCopEnvelope e( "QPE/Application/opieplayer", "setDocument(QString)" );
65 e << config.readEntry( "mp3File", "" ); 65 e << config.readEntry( "mp3File", "" );
66} 66}
@@ -80,6 +80,2 @@ Clock::Clock( QWidget * parent, const char * name, WFlags f )
80 80
81 Config config( "qpe" );
82 config.setGroup( "Time" );
83 ampm = config.readBoolEntry( "AMPM", TRUE );
84
85 81
@@ -130,14 +126,8 @@ Clock::Clock( QWidget * parent, const char * name, WFlags f )
130 126
131 set 127 set = new QPushButton ( controls );
132 = new QPushButton ( controls ); 128 set->setMaximumSize( 50, 30 );
133 set 129 gl->addWidget( set , 0, 1 );
134 ->setMaximumSize( 50, 30 ); 130 set->setText( tr( "Start" ) );
135 gl->addWidget( set 131 set->setEnabled( FALSE );
136 , 0, 1 ); 132 grp->insert( set );
137 set
138 ->setText( tr( "Start" ) );
139 set
140 ->setEnabled( FALSE );
141 grp->insert( set
142 );
143 133
@@ -150,3 +140,2 @@ Clock::Clock( QWidget * parent, const char * name, WFlags f )
150 alarmOffBtn = new QPushButton ( controls ); 140 alarmOffBtn = new QPushButton ( controls );
151 // alarmOffBtn->setMaximumSize(60,30);
152 gl->addWidget( alarmOffBtn, 0, 2 ); 141 gl->addWidget( alarmOffBtn, 0, 2 );
@@ -154,4 +143,4 @@ Clock::Clock( QWidget * parent, const char * name, WFlags f )
154 alarmBtn = new QPushButton ( controls ); 143 alarmBtn = new QPushButton ( controls );
155 // alarmBtn->setMaximumSize(60,30);
156 gl->addWidget( alarmBtn, 1, 2 ); 144 gl->addWidget( alarmBtn, 1, 2 );
145
157 alarmBtn->setText( tr( "Set Alarm" ) ); 146 alarmBtn->setText( tr( "Set Alarm" ) );
@@ -163,4 +152,3 @@ Clock::Clock( QWidget * parent, const char * name, WFlags f )
163 152
164 connect( set 153 connect( set , SIGNAL( pressed() ), SLOT( slotSet() ) );
165 , SIGNAL( pressed() ), SLOT( slotSet() ) );
166 connect( reset, SIGNAL( clicked() ), SLOT( slotReset() ) ); 154 connect( reset, SIGNAL( clicked() ), SLOT( slotReset() ) );
@@ -185,2 +173,7 @@ Clock::Clock( QWidget * parent, const char * name, WFlags f )
185 173
174
175 Config config( "qpe" );
176 config.setGroup( "Time" );
177 ampm = config.readBoolEntry( "AMPM", TRUE );
178
186 QString tmp = config.readEntry( "clockAlarmHour", "" ); 179 QString tmp = config.readEntry( "clockAlarmHour", "" );
@@ -191,15 +184,21 @@ Clock::Clock( QWidget * parent, const char * name, WFlags f )
191 184
192 if ( config.readEntry( "clockAlarmSet", "FALSE" ) == "TRUE" ) { 185 if ( config.readEntry( "clockAlarmSet", "FALSE" ) == "TRUE" )
193 alarmOffBtn->setText( tr( "Alarm Is On" ) ); 186 {
194 alarmBool = TRUE; 187 alarmOffBtn->setText( tr( "Alarm Is On" ) );
195 snoozeBtn->show(); 188 alarmBool = TRUE;
196 } 189 snoozeBtn->show();
197 else { 190 }
198 alarmOffBtn->setText( tr( "Alarm Is Off" ) ); 191 else
199 alarmBool = FALSE; 192 {
200 snoozeBtn->hide(); 193 alarmOffBtn->setText( tr( "Alarm Is Off" ) );
201 } 194 alarmBool = FALSE;
195 snoozeBtn->hide();
196 }
202 197
203 QTimer::singleShot( 0, this, SLOT( updateClock() ) ); 198 QTimer::singleShot( 0, this, SLOT( updateClock() ) );
204 modeSelect( 0 ); 199
200 Config cfg( "Clock" );
201 cfg.setGroup( "Mode" );
202 int mode = cfg.readBoolEntry( "clockMode");setSwatchMode( mode);
203 modeSelect( mode);
205} 204}
@@ -213,39 +212,43 @@ void Clock::updateClock()
213{ 212{
214 if ( clockRB->isChecked() ) { 213 if ( clockRB->isChecked() )
215 QTime tm = QDateTime::currentDateTime().time(); 214 {
216 QString s; 215 QTime tm = QDateTime::currentDateTime().time();
217 if ( ampm ) { 216 QString s;
218 int hour = tm.hour(); 217 if ( ampm )
219 if ( hour == 0 ) 218 {
220 hour = 12; 219 int hour = tm.hour();
221 if ( hour > 12 ) 220 if ( hour == 0 )
222 hour -= 12; 221 hour = 12;
223 s.sprintf( "%2d%c%02d", hour, ':', tm.minute() ); 222 if ( hour > 12 )
224 ampmLabel->setText( ( tm.hour() >= 12 ) ? "PM" : "AM" ); 223 hour -= 12;
225 ampmLabel->show(); 224 s.sprintf( "%2d%c%02d", hour, ':', tm.minute() );
226 } 225 ampmLabel->setText( ( tm.hour() >= 12 ) ? "PM" : "AM" );
227 else { 226 ampmLabel->show();
228 s.sprintf( "%2d%c%02d", tm.hour(), ':', tm.minute() ); 227 }
229 ampmLabel->hide(); 228 else
230 } 229 {
231 lcd->display( s ); 230 s.sprintf( "%2d%c%02d", tm.hour(), ':', tm.minute() );
232 lcd->repaint( FALSE ); 231 ampmLabel->hide();
233 aclock->display( QTime::currentTime() ); 232 }
234 date->setText( TimeString::longDateString( QDate::currentDate() ) ); 233 lcd->display( s );
235 } 234 lcd->repaint( FALSE );
236 else { 235 aclock->display( QTime::currentTime() );
237 QTime swatch_time; 236 date->setText( TimeString::longDateString( QDate::currentDate() ) );
238 QString lcdtext; 237 }
239 int totalms = swatch_totalms; 238 else
240 if ( swatch_running ) 239 {
241 totalms += swatch_start.elapsed(); 240 QTime swatch_time;
242 swatch_time = QTime( 0, 0, 0 ).addMSecs( totalms ); 241 QString lcdtext;
243 QString d = swatch_running ? QString( " " ) 242 int totalms = swatch_totalms;
244 : QString::number( totalms % 1000 + 1000 ); 243 if ( swatch_running )
245 lcdtext = swatch_time.toString() + "." + d.right( 3 ).left( sw_prec ); 244 totalms += swatch_start.elapsed();
246 lcd->display( lcdtext ); 245 swatch_time = QTime( 0, 0, 0 ).addMSecs( totalms );
247 lcd->repaint( FALSE ); 246 QString d = swatch_running ? QString( " " )
248 aclock->display( swatch_time ); 247 : QString::number( totalms % 1000 + 1000 );
249 date->setText( TimeString::longDateString( QDate::currentDate() ) ); 248 lcdtext = swatch_time.toString() + "." + d.right( 3 ).left( sw_prec );
250 } 249 lcd->display( lcdtext );
250 lcd->repaint( FALSE );
251 aclock->display( swatch_time );
252 date->setText( TimeString::longDateString( QDate::currentDate() ) );
253 }
251} 254}
@@ -266,20 +269,20 @@ void Clock::slotSet()
266{ 269{
267 if ( t->isActive() ) { 270 if ( t->isActive() )
268 swatch_totalms += swatch_start.elapsed(); 271 {
269 set 272 swatch_totalms += swatch_start.elapsed();
270 ->setText( tr( "Start" ) ); 273 set->setText( tr( "Start" ) );
271 t->stop(); 274 t->stop();
272 swatch_running = FALSE; 275 swatch_running = FALSE;
273 toggleScreenSaver( TRUE ); 276 toggleScreenSaver( TRUE );
274 updateClock(); 277 updateClock();
275 } 278 }
276 else { 279 else
277 swatch_start.start(); 280 {
278 set 281 swatch_start.start();
279 ->setText( tr( "Stop" ) ); 282 set->setText( tr( "Stop" ) );
280 t->start( 1000 ); 283 t->start( 1000 );
281 swatch_running = TRUE; 284 swatch_running = TRUE;
282 // disable screensaver while stop watch is running 285 // disable screensaver while stop watch is running
283 toggleScreenSaver( FALSE ); 286 toggleScreenSaver( FALSE );
284 } 287 }
285} 288}
@@ -300,21 +303,26 @@ void Clock::modeSelect( int m )
300{ 303{
301 if ( m ) { 304 qDebug("Clock::modeSelect( %d) ", m);
302 lcd->setNumDigits( 8 + 1 + sw_prec ); 305 if ( m )
303 lcd->setMinimumWidth( lcd->sizeHint().width() ); 306 {
304 set 307 lcd->setNumDigits( 8 + 1 + sw_prec );
305 ->setEnabled( TRUE ); 308 lcd->setMinimumWidth( lcd->sizeHint().width() );
306 reset->setEnabled( TRUE ); 309 set->setEnabled( TRUE );
307 ampmLabel->hide(); 310 reset->setEnabled( TRUE );
308 311 ampmLabel->hide();
309 if ( !swatch_running ) 312
310 t->stop(); 313 if ( !swatch_running )
311 } 314 t->stop();
312 else { 315 }
313 lcd->setNumDigits( 5 ); 316 else
314 lcd->setMinimumWidth( lcd->sizeHint().width() ); 317 {
315 set 318 lcd->setNumDigits( 5 );
316 ->setEnabled( FALSE ); 319 lcd->setMinimumWidth( lcd->sizeHint().width() );
317 reset->setEnabled( FALSE ); 320 set->setEnabled( FALSE );
318 t->start( 1000 ); 321 reset->setEnabled( FALSE );
319 } 322 t->start( 1000 );
323 }
324
325 Config config( "Clock" );
326 config.setGroup( "Mode" );
327 config.writeEntry( "clockMode", m );
320 updateClock(); 328 updateClock();
@@ -369,16 +377,18 @@ void Clock::slotToggleAlarm()
369 config.setGroup( "Time" ); 377 config.setGroup( "Time" );
370 if ( alarmBool ) { 378 if ( alarmBool )
371 config.writeEntry( "clockAlarmSet", "FALSE" ); 379 {
372 alarmOffBtn->setText( tr( "Alarm Is Off" ) ); 380 config.writeEntry( "clockAlarmSet", "FALSE" );
373 snoozeBtn->hide(); 381 alarmOffBtn->setText( tr( "Alarm Is Off" ) );
374 alarmBool = FALSE; 382 snoozeBtn->hide();
375 alarmOff(); 383 alarmBool = FALSE;
376 } 384 alarmOff();
377 else { 385 }
378 config.writeEntry( "clockAlarmSet", "TRUE" ); 386 else
379 alarmOffBtn->setText( tr( "Alarm Is On" ) ); 387 {
380 snoozeBtn->show(); 388 config.writeEntry( "clockAlarmSet", "TRUE" );
381 alarmBool = TRUE; 389 alarmOffBtn->setText( tr( "Alarm Is On" ) );
382 alarmOn(); 390 snoozeBtn->show();
383 } 391 alarmBool = TRUE;
392 alarmOn();
393 }
384 config.write(); 394 config.write();
@@ -416,6 +426,6 @@ void Clock::clearTimer()
416{ 426{
417 alarmOffBtn->setText( tr( "Alarm Is Off" ) ); 427 alarmOffBtn->setText( tr( "Alarm Is Off" ) );
418 alarmBool = FALSE; 428 alarmBool = FALSE;
419 snoozeBtn->hide(); 429 snoozeBtn->hide();
420 setCaption( "Clock" ); 430 setCaption( "Clock" );
421} 431}
@@ -428,34 +438,34 @@ void Clock::appMessage( const QCString& msg, const QByteArray& /*data*/ )
428 qDebug( "Message received in clock" ); 438 qDebug( "Message received in clock" );
429 if ( msg == "alarm(QDateTime,int)" ) { 439 if ( msg == "alarm(QDateTime,int)" )
430 Config config( "qpe" ); 440 {
431 config.setGroup( "Time" ); 441 Config config( "qpe" );
432 if ( config.readBoolEntry( "mp3Alarm", 0 ) ) 442 config.setGroup( "Time" );
433 { 443 if ( config.readBoolEntry( "mp3Alarm", 0 ) )
434 clearTimer(); 444 {
435// pid_t pid; 445 clearTimer();
436// switch(pid = fork()) 446 pthread_t thread;
437// { 447 pthread_create(&thread, NULL, (void * (*) (void *))startPlayer, NULL/* &*/);
438// case -1: 448
439// {//failed 449 }
440// } 450 else
441// break; 451 {
442// case 0: 452
443// {//child 453 Sound::soundAlarm();
444// QCopEnvelope e( "QPE/Application/opieplayer", "setDocument(QString)" ); 454 stopTimer = startTimer( timerStay );
445// e << config.readEntry( "mp3File", "" ); 455 }
446 pthread_t thread; 456 }
447 pthread_create(&thread, NULL, (void * (*) (void *))startPlayer, NULL/* &*/); 457
448// startPlayer(); 458 if ( msg == "timerStart()" )
449// } 459 {
450// break; 460 slotStartTimer();
451// }; 461 }
452 462 if ( msg == "timerStop()" )
453 } 463 {
454 else 464 slotStopTimer();
455 { 465 }
466 if ( msg == "timerReset()" )
467 {
468 slotResetTimer();
469 }
456 470
457 Sound::soundAlarm();
458 stopTimer = startTimer( timerStay );
459 }
460 }
461 show(); 471 show();
@@ -469,12 +479,14 @@ void Clock::timerEvent( QTimerEvent *e )
469 static int stop = 0; 479 static int stop = 0;
470 if ( stop < 120 && bSound ) { 480 if ( stop < 120 && bSound )
471 Sound::soundAlarm(); 481 {
472 stop++; 482 Sound::soundAlarm();
473 } 483 stop++;
474 else { 484 }
475 stop = 0; 485 else
476 killTimer( e->timerId() ); 486 {
477 clearTimer(); 487 stop = 0;
478 setCaption( tr( "Clock: Alarm was missed." ) ); 488 killTimer( e->timerId() );
479 } 489 clearTimer();
490 setCaption( tr( "Clock: Alarm was missed." ) );
491 }
480} 492}
@@ -496,3 +508,3 @@ void AnalogClock::drawContents( QPainter *p )
496 fr. setRect ( r. x ( ), ( r. height ( ) - r. width ( )) / 2, r. width ( ), r. width ( )); 508 fr. setRect ( r. x ( ), ( r. height ( ) - r. width ( )) / 2, r. width ( ), r. width ( ));
497 509
498 QPoint center = fr. center ( ); // ( fr.x() + fr.width() / 2, fr.y() + fr.height() / 2 ); 510 QPoint center = fr. center ( ); // ( fr.x() + fr.width() / 2, fr.y() + fr.height() / 2 );
@@ -503,20 +515,22 @@ void AnalogClock::drawContents( QPainter *p )
503 515
504 if ( clear ) { 516 if ( clear )
505 erase ( r ); 517 {
506 p-> setPen ( NoPen ); 518 erase ( r );
507 p-> setBrush ( colorGroup ( ). color ( QColorGroup::Base )); 519 p-> setPen ( NoPen );
508 p-> drawEllipse ( fr ); 520 p-> setBrush ( colorGroup ( ). color ( QColorGroup::Base ));
509 p-> setBrush ( NoBrush ); 521 p-> drawEllipse ( fr );
522 p-> setBrush ( NoBrush );
523
524 // draw ticks
525 p->setPen( QPen( colorGroup ( ). color ( QColorGroup::Text ), 1 ) );
526 for ( int i = 0; i < 12; i++ )
527 p->drawLine( rotate( center, l1, i * 30 ), rotate( center, l2, i * 30 ) );
528 }
529 else
530 {
531 drawPointers ( p, fr, colorGroup ( ). color ( QColorGroup::Base ), prevTime, &currTime );
532 }
510 533
511 // draw ticks
512 p->setPen( QPen( colorGroup ( ). color ( QColorGroup::Text ), 1 ) );
513 for ( int i = 0; i < 12; i++ )
514 p->drawLine( rotate( center, l1, i * 30 ), rotate( center, l2, i * 30 ) );
515 }
516 else {
517 drawPointers ( p, fr, colorGroup ( ). color ( QColorGroup::Base ), prevTime, &currTime );
518 }
519
520 drawPointers ( p, fr, colorGroup ( ). color ( QColorGroup::Text ), currTime ); 534 drawPointers ( p, fr, colorGroup ( ). color ( QColorGroup::Text ), currTime );
521 535
522 prevTime = currTime; 536 prevTime = currTime;
@@ -539,3 +553,3 @@ void AnalogClock::drawPointers ( QPainter *p, const QRect &r, const QColor &c, c
539 if ( !t2 || ( t. minute ( ) != t2-> minute ( ) || t. hour ( ) != t2-> hour ( ))) { 553 if ( !t2 || ( t. minute ( ) != t2-> minute ( ) || t. hour ( ) != t2-> hour ( ))) {
540 // draw hour pointer 554 // draw hour pointer
541 h1 = rotate( center, h1, 30 * ( t.hour() % 12 ) + t.minute() / 2 ); 555 h1 = rotate( center, h1, 30 * ( t.hour() % 12 ) + t.minute() / 2 );
@@ -547,3 +561,3 @@ void AnalogClock::drawPointers ( QPainter *p, const QRect &r, const QColor &c, c
547 if ( !t2 || ( t. minute ( ) != t2-> minute ( ))) { 561 if ( !t2 || ( t. minute ( ) != t2-> minute ( ))) {
548 // draw minute pointer 562 // draw minute pointer
549 m1 = rotate( center, m1, t.minute() * 6 ); 563 m1 = rotate( center, m1, t.minute() * 6 );
@@ -555,3 +569,3 @@ void AnalogClock::drawPointers ( QPainter *p, const QRect &r, const QColor &c, c
555 if ( !t2 || ( t. second ( ) != t2-> second ( ))) { 569 if ( !t2 || ( t. second ( ) != t2-> second ( ))) {
556 // draw second pointer 570 // draw second pointer
557 s1 = rotate( center, s1, t.second() * 6 ); 571 s1 = rotate( center, s1, t.second() * 6 );
@@ -586 +600,36 @@ void Clock::slotAdjustTime()
586} 600}
601
602void Clock::slotStartTimer()
603{
604 Config cfg( "Clock" );
605 cfg.setGroup( "Mode" );
606 int mode = cfg.readBoolEntry( "clockMode");
607 if ( clockRB->isChecked() )
608 setSwatchMode( 1);
609 slotSet();
610}
611
612void Clock::slotStopTimer()
613{
614 Config cfg( "Clock" );
615 cfg.setGroup( "Mode" );
616 int mode = cfg.readBoolEntry( "clockMode");
617 if ( clockRB->isChecked() )
618 setSwatchMode( 1);
619slotSet();
620}
621
622void Clock::slotResetTimer()
623{
624 if ( clockRB->isChecked() )
625 setSwatchMode( 1);
626slotReset();
627}
628
629void Clock::setSwatchMode(int mode)
630{
631 qDebug("Clock::setSwatchMode( %d)"), mode;
632 swatchRB->setChecked( mode);
633 clearClock( );
634 modeSelect( mode );
635}
diff --git a/noncore/tools/clock/clock.h b/noncore/tools/clock/clock.h
index 23cc143..9b00e28 100644
--- a/noncore/tools/clock/clock.h
+++ b/noncore/tools/clock/clock.h
@@ -48,4 +48,2 @@ protected:
48private: 48private:
49 QPoint rotate( QPoint center, QPoint p, int angle );
50 void drawPointers ( QPainter *, const QRect &r, const QColor &c, const QTime &t, const QTime *t2 = 0 );
51 49
@@ -54,2 +52,6 @@ private:
54 bool clear; 52 bool clear;
53
54 QPoint rotate( QPoint center, QPoint p, int angle );
55 void drawPointers ( QPainter *, const QRect &r, const QColor &c, const QTime &t, const QTime *t2 = 0 );
56
55}; 57};
@@ -80,5 +82,8 @@ private slots:
80 void slotAdjustTime(); 82 void slotAdjustTime();
83
84 void slotStartTimer();
85 void slotStopTimer();
86 void slotResetTimer();
87 void setSwatchMode( int );
81private: 88private:
82 void clearClock();
83 void clearTimer();
84 bool alarmBool; 89 bool alarmBool;
@@ -95,2 +100,4 @@ private:
95 bool ampm; 100 bool ampm;
101 void clearClock();
102 void clearTimer();
96}; 103};