-rw-r--r-- | noncore/tools/clock/clock.cpp | 53 |
1 files changed, 46 insertions, 7 deletions
diff --git a/noncore/tools/clock/clock.cpp b/noncore/tools/clock/clock.cpp index 2f81c3a..0937362 100644 --- a/noncore/tools/clock/clock.cpp +++ b/noncore/tools/clock/clock.cpp | |||
@@ -44,16 +44,31 @@ | |||
44 | #include <qbuttongroup.h> | 44 | #include <qbuttongroup.h> |
45 | #include <qpainter.h> | 45 | #include <qpainter.h> |
46 | #include <qmessagebox.h> | 46 | #include <qmessagebox.h> |
47 | #include <qdatetime.h> | 47 | #include <qdatetime.h> |
48 | 48 | ||
49 | #include <math.h> | 49 | #include <math.h> |
50 | #include <unistd.h> | ||
51 | #include <sys/types.h> | ||
52 | |||
53 | #include <pthread.h> | ||
54 | |||
50 | 55 | ||
51 | const double deg2rad = 0.017453292519943295769; // pi/180 | 56 | const double deg2rad = 0.017453292519943295769; // pi/180 |
52 | const int sw_prec = 2; | 57 | const int sw_prec = 2; |
53 | 58 | ||
59 | void startPlayer() | ||
60 | { | ||
61 | Config config( "qpe" ); | ||
62 | config.setGroup( "Time" ); | ||
63 | sleep(15); | ||
64 | QCopEnvelope e( "QPE/Application/opieplayer", "setDocument(QString)" ); | ||
65 | e << config.readEntry( "mp3File", "" ); | ||
66 | } | ||
67 | |||
68 | |||
54 | static void toggleScreenSaver( bool on ) | 69 | static void toggleScreenSaver( bool on ) |
55 | { | 70 | { |
56 | QCopEnvelope e( "QPE/System", "setScreenSaverMode(int)" ); | 71 | QCopEnvelope e( "QPE/System", "setScreenSaverMode(int)" ); |
57 | e << ( on ? QPEApplication::Enable : QPEApplication::DisableSuspend ); | 72 | e << ( on ? QPEApplication::Enable : QPEApplication::DisableSuspend ); |
58 | } | 73 | } |
59 | 74 | ||
@@ -394,27 +409,53 @@ void Clock::alarmOff() | |||
394 | "QPE/Application/clock", | 409 | "QPE/Application/clock", |
395 | "alarm(QDateTime,int)", warn ); | 410 | "alarm(QDateTime,int)", warn ); |
396 | qDebug( "Alarm Off " + when.toString() ); | 411 | qDebug( "Alarm Off " + when.toString() ); |
397 | setCaption( "Clock" ); | 412 | setCaption( "Clock" ); |
398 | } | 413 | } |
399 | 414 | ||
415 | void Clock::clearTimer() | ||
416 | { | ||
417 | alarmOffBtn->setText( tr( "Alarm Is Off" ) ); | ||
418 | alarmBool = FALSE; | ||
419 | snoozeBtn->hide(); | ||
420 | setCaption( "Clock" ); | ||
421 | } | ||
422 | |||
400 | void Clock::appMessage( const QCString& msg, const QByteArray& /*data*/ ) | 423 | void Clock::appMessage( const QCString& msg, const QByteArray& /*data*/ ) |
401 | { | 424 | { |
402 | int stopTimer = 0; | 425 | int stopTimer = 0; |
403 | int timerStay = 5000; | 426 | int timerStay = 5000; |
404 | bSound = TRUE; | 427 | bSound = TRUE; |
405 | qDebug( "Message received in clock" ); | 428 | qDebug( "Message received in clock" ); |
406 | if ( msg == "alarm(QDateTime,int)" ) { | 429 | if ( msg == "alarm(QDateTime,int)" ) { |
407 | Config config( "qpe" ); | 430 | Config config( "qpe" ); |
408 | config.setGroup( "Time" ); | 431 | config.setGroup( "Time" ); |
409 | if ( config.readBoolEntry( "mp3Alarm", 0 ) ) { | 432 | if ( config.readBoolEntry( "mp3Alarm", 0 ) ) |
433 | { | ||
434 | clearTimer(); | ||
435 | // pid_t pid; | ||
436 | // switch(pid = fork()) | ||
437 | // { | ||
438 | // case -1: | ||
439 | // {//failed | ||
440 | // } | ||
441 | // break; | ||
442 | // case 0: | ||
443 | // {//child | ||
444 | // QCopEnvelope e( "QPE/Application/opieplayer", "setDocument(QString)" ); | ||
445 | // e << config.readEntry( "mp3File", "" ); | ||
446 | pthread_t thread; | ||
447 | pthread_create(&thread, NULL, (void * (*) (void *))startPlayer, NULL/* &*/); | ||
448 | // startPlayer(); | ||
449 | // } | ||
450 | // break; | ||
451 | // }; | ||
410 | 452 | ||
411 | QCopEnvelope e( "QPE/Application/opieplayer", "setDocument(QString)" ); | ||
412 | e << config.readEntry( "mp3File", "" ); | ||
413 | } | 453 | } |
414 | else { | 454 | else |
455 | { | ||
415 | 456 | ||
416 | Sound::soundAlarm(); | 457 | Sound::soundAlarm(); |
417 | stopTimer = startTimer( timerStay ); | 458 | stopTimer = startTimer( timerStay ); |
418 | } | 459 | } |
419 | } | 460 | } |
420 | show(); | 461 | show(); |
@@ -430,15 +471,13 @@ void Clock::timerEvent( QTimerEvent *e ) | |||
430 | Sound::soundAlarm(); | 471 | Sound::soundAlarm(); |
431 | stop++; | 472 | stop++; |
432 | } | 473 | } |
433 | else { | 474 | else { |
434 | stop = 0; | 475 | stop = 0; |
435 | killTimer( e->timerId() ); | 476 | killTimer( e->timerId() ); |
436 | alarmOffBtn->setText( tr( "Alarm Is Off" ) ); | 477 | clearTimer(); |
437 | alarmBool = FALSE; | ||
438 | snoozeBtn->hide(); | ||
439 | setCaption( tr( "Clock: Alarm was missed." ) ); | 478 | setCaption( tr( "Clock: Alarm was missed." ) ); |
440 | } | 479 | } |
441 | } | 480 | } |
442 | 481 | ||
443 | 482 | ||
444 | QSizePolicy AnalogClock::sizePolicy() const | 483 | QSizePolicy AnalogClock::sizePolicy() const |