-rw-r--r-- | kalarmd/simplealarmdaemonimpl.cpp | 46 |
1 files changed, 15 insertions, 31 deletions
diff --git a/kalarmd/simplealarmdaemonimpl.cpp b/kalarmd/simplealarmdaemonimpl.cpp index d6e06c8..eff96eb 100644 --- a/kalarmd/simplealarmdaemonimpl.cpp +++ b/kalarmd/simplealarmdaemonimpl.cpp | |||
@@ -373,191 +373,178 @@ void SimpleAlarmDaemonImpl::fillTimerPopUp() | |||
373 | mTimerPopUp->changeItem ( 1 , t.toString() + " (countdown)"); | 373 | mTimerPopUp->changeItem ( 1 , t.toString() + " (countdown)"); |
374 | } | 374 | } |
375 | else { | 375 | else { |
376 | QString text = mCustomText.stripWhiteSpace (); | 376 | QString text = mCustomText.stripWhiteSpace (); |
377 | int in = text.find( " " ); | 377 | int in = text.find( " " ); |
378 | text = text.left ( in ); | 378 | text = text.left ( in ); |
379 | mTimerPopUp->changeItem ( 3, text ); | 379 | mTimerPopUp->changeItem ( 3, text ); |
380 | } | 380 | } |
381 | return; | 381 | return; |
382 | } | 382 | } |
383 | mTimerPopupConf = mTimerTime; | 383 | mTimerPopupConf = mTimerTime; |
384 | mTimerPopUp->clear(); | 384 | mTimerPopUp->clear(); |
385 | if ( mTimerTime ) { | 385 | if ( mTimerTime ) { |
386 | int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer ); | 386 | int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer ); |
387 | QTime t ( secs/3600, (secs/60)%60, secs%60 ); | 387 | QTime t ( secs/3600, (secs/60)%60, secs%60 ); |
388 | 388 | ||
389 | 389 | ||
390 | mTimerPopUp->insertItem( "Stop timer "+ mRunningTimerText , 0 ); | 390 | mTimerPopUp->insertItem( "Stop timer "+ mRunningTimerText , 0 ); |
391 | mTimerPopUp->insertItem( t.toString() + " (countdown)",1); | 391 | mTimerPopUp->insertItem( t.toString() + " (countdown)",1); |
392 | mTimerPopUp->insertItem( mRunningTimer.time().toString() + " (alarm)",2); | 392 | mTimerPopUp->insertItem( mRunningTimer.time().toString() + " (alarm)",2); |
393 | } else { | 393 | } else { |
394 | 394 | ||
395 | QString fileName = QDir::homeDirPath() +"/.kopialarmtimerrc"; | 395 | QString fileName = QDir::homeDirPath() +"/.kopialarmtimerrc"; |
396 | QFile file( fileName ); | 396 | QFile file( fileName ); |
397 | if( !QFile::exists( fileName) ) { | 397 | if( !QFile::exists( fileName) ) { |
398 | // write defaults | 398 | // write defaults |
399 | if (!file.open( IO_WriteOnly ) ) { | 399 | if (!file.open( IO_WriteOnly ) ) { |
400 | return; | 400 | return; |
401 | } | 401 | } |
402 | QString configString ; | 402 | QString configString ; |
403 | configString += "#config file for kopi alarm timer\n"; | 403 | configString += "#config file for kopi alarm timer\n"; |
404 | configString += "#format: <Text for popup menu>;<timer countdown in minutes>\n"; | 404 | configString += "#format: <Text for popup menu>;<timer countdown in minutes>\n"; |
405 | configString += "#NOTE: minimum value for timer are 3 minutes!\n"; | 405 | configString += "24 hours; 1440\n"; |
406 | configString += "24 h; 1440\n"; | 406 | configString += "8 hours; 480\n"; |
407 | configString += " 8 h; 480\n"; | 407 | configString += "5 hours; 300\n"; |
408 | configString += " 5 h; 300\n"; | 408 | configString += "1 hour; 60\n"; |
409 | configString += " 1 h; 60\n"; | ||
410 | configString += "30 min; 30\n"; | 409 | configString += "30 min; 30\n"; |
411 | configString += "15 min; 15\n"; | 410 | configString += "15 min; 15\n"; |
412 | configString += "SEPARATOR\n"; | 411 | configString += "SEPARATOR\n"; |
413 | configString += "Pizza; 22\n"; | 412 | configString += "Pizza; 22\n"; |
414 | configString += "Nap; 45\n"; | 413 | configString += "Nap; 45\n"; |
415 | configString += "Tea; 5\n"; | 414 | configString += "Tea; 5\n"; |
416 | QTextStream ts( &file ); | 415 | QTextStream ts( &file ); |
417 | ts << configString ; | 416 | ts << configString ; |
418 | file.close(); | 417 | file.close(); |
419 | } | 418 | } |
420 | 419 | ||
421 | if (!file.open( IO_ReadOnly ) ) { | 420 | if (!file.open( IO_ReadOnly ) ) { |
422 | return ; | 421 | return ; |
423 | } | 422 | } |
424 | QString line; | 423 | QString line; |
425 | bool ok; | 424 | bool ok; |
426 | while ( file.readLine( line, 1024 ) > 0 ) { | 425 | while ( file.readLine( line, 1024 ) > 0 ) { |
427 | //qDebug("read %s ", line.latin1()); | 426 | //qDebug("read %s ", line.latin1()); |
428 | if ( line.left(1 ) != "#" ) { | 427 | if ( line.left(1 ) != "#" ) { |
429 | // no comment | 428 | // no comment |
430 | if ( line.left(9 ) == "SEPARATOR" ) { | 429 | if ( line.left(9 ) == "SEPARATOR" ) { |
431 | mTimerPopUp->insertSeparator(); | 430 | mTimerPopUp->insertSeparator(); |
432 | } else { | 431 | } else { |
433 | QStringList li = QStringList::split(";",line); | 432 | QStringList li = QStringList::split(";",line); |
434 | ok = false; | 433 | ok = false; |
435 | if ( li.count() == 2 ) { | 434 | if ( li.count() == 2 ) { |
436 | int val = li[1].toInt( &ok ); | 435 | int val = li[1].toInt( &ok ); |
437 | if ( ok && val > 2 ) { | 436 | if ( ok && val > 0 ) { |
438 | mTimerPopUp->insertItem( li[0], val); | 437 | mTimerPopUp->insertItem( li[0], val+10); |
439 | } | 438 | } |
440 | } | 439 | } |
441 | } | 440 | } |
442 | } | 441 | } |
443 | } | 442 | } |
444 | file.close(); | 443 | file.close(); |
445 | #if 0 | 444 | #if 0 |
446 | mTimerPopUp->insertItem( "24 h", 1440 ); | 445 | mTimerPopUp->insertItem( "24 hours", 1440 ); |
447 | // mTimerPopUp->insertItem( i18n("12 h"), 720 ); | 446 | // mTimerPopUp->insertItem( i18n("12 h"), 720 ); |
448 | mTimerPopUp->insertItem( " 8 h", 480 ); | 447 | mTimerPopUp->insertItem( " 8 hours", 480 ); |
449 | mTimerPopUp->insertItem( " 5 h", 300 ); | 448 | mTimerPopUp->insertItem( " 5 hours", 300 ); |
450 | // mTimerPopUp->insertItem( i18n(" 2 h"), 120 ); | 449 | // mTimerPopUp->insertItem( i18n(" 2 h"), 120 ); |
451 | mTimerPopUp->insertItem( " 1 h", 60 ); | 450 | mTimerPopUp->insertItem( " 1 hour", 60 ); |
452 | mTimerPopUp->insertItem( "30 min", 30 ); | 451 | mTimerPopUp->insertItem( "30 min", 30 ); |
453 | mTimerPopUp->insertItem( "15 min", 15 ); | 452 | mTimerPopUp->insertItem( "15 min", 15 ); |
454 | mTimerPopUp->insertItem( "10 min", 10 ); | 453 | mTimerPopUp->insertItem( "10 min", 10 ); |
455 | //mTimerPopUp->insertItem( " 5 min", 5 ); | 454 | //mTimerPopUp->insertItem( " 5 min", 5 ); |
456 | mTimerPopUp->insertSeparator(); | 455 | mTimerPopUp->insertSeparator(); |
457 | mTimerPopUp->insertItem( "Pizza", 22 ); | 456 | mTimerPopUp->insertItem( "Pizza", 22 ); |
458 | mTimerPopUp->insertItem( "Nap", 45 ); | 457 | mTimerPopUp->insertItem( "Nap", 45 ); |
459 | mTimerPopUp->insertItem( "Tea", 5 ); | 458 | mTimerPopUp->insertItem( "Tea", 5 ); |
460 | #endif | 459 | #endif |
461 | QString text = mCustomText.stripWhiteSpace (); | 460 | QString text = mCustomText.stripWhiteSpace (); |
462 | int in = text.find( " " ); | 461 | int in = text.find( " " ); |
463 | text = text.left ( in ); | 462 | text = text.left ( in ); |
464 | mTimerPopUp->insertItem( text, 3 ); | 463 | mTimerPopUp->insertItem( text, 3 ); |
465 | mTimerPopUp->insertSeparator(); | 464 | mTimerPopUp->insertSeparator(); |
466 | mTimerPopUp->insertItem( "Customize", 2 ); | 465 | mTimerPopUp->insertItem( "Customize", 2 ); |
467 | } | 466 | } |
468 | 467 | ||
469 | } | 468 | } |
470 | 469 | ||
471 | void SimpleAlarmDaemonImpl::showTimer() | 470 | void SimpleAlarmDaemonImpl::showTimer() |
472 | { | 471 | { |
473 | fillTimerPopUp(); | 472 | fillTimerPopUp(); |
474 | } | 473 | } |
475 | 474 | ||
476 | void SimpleAlarmDaemonImpl::confTimer( int time ) | 475 | void SimpleAlarmDaemonImpl::confTimer( int time ) |
477 | { | 476 | { |
478 | //qDebug("impleAlarmDaemonImpl::confTimer() %d ", time ); | 477 | //qDebug("impleAlarmDaemonImpl::confTimer() %d ", time ); |
479 | int minutes = time; | 478 | int minutes = time; |
480 | if ( minutes == 0 ) { | 479 | if ( minutes == 0 ) { |
481 | if ( ! mTimerTime ) | 480 | if ( ! mTimerTime ) |
482 | return; | 481 | return; |
483 | 482 | ||
484 | QDialog dia ( 0, ("Stop Timer" ), true ); | 483 | QDialog dia ( 0, ("Stop Timer" ), true ); |
485 | QLabel lab (("Really stop the timer?\n\n"+ mRunningTimerText+"\n"), &dia ); | 484 | QLabel lab (("Really stop the timer?\n\n"+ mRunningTimerText+"\n"), &dia ); |
486 | lab.setAlignment( AlignCenter ); | 485 | lab.setAlignment( AlignCenter ); |
487 | dia.setCaption(("KO/Pi Timer Stop" )); | 486 | dia.setCaption(("KO/Pi Timer Stop" )); |
488 | QVBoxLayout lay( &dia ); | 487 | QVBoxLayout lay( &dia ); |
489 | lay.addWidget( &lab); | 488 | lay.addWidget( &lab); |
490 | QPushButton ok ( "Stop timer!", &dia); | 489 | QPushButton ok ( "Stop timer!", &dia); |
491 | QFont fo = dia.font(); | 490 | QFont fo = dia.font(); |
492 | fo.setPointSize( 36 ); | 491 | fo.setPointSize( 36 ); |
493 | ok.setFont( fo ); | 492 | ok.setFont( fo ); |
494 | lay.addWidget( &ok); | 493 | lay.addWidget( &ok); |
495 | connect ( &ok, SIGNAL (clicked()), &dia, SLOT ( accept() ) ); | 494 | connect ( &ok, SIGNAL (clicked()), &dia, SLOT ( accept() ) ); |
496 | QPushButton con ( "Continue timer!", &dia); | 495 | QPushButton con ( "Continue timer!", &dia); |
497 | fo.setPointSize( 36 ); | 496 | fo.setPointSize( 36 ); |
498 | con.setFont( fo ); | 497 | con.setFont( fo ); |
499 | lay.addWidget( &con); | 498 | lay.addWidget( &con); |
500 | connect ( &con, SIGNAL (clicked()), &dia, SLOT ( reject() ) ); | 499 | connect ( &con, SIGNAL (clicked()), &dia, SLOT ( reject() ) ); |
501 | lay.setMargin(5); | 500 | lay.setMargin(5); |
502 | lay.setSpacing(5); | 501 | lay.setSpacing(5); |
503 | dia.resize(dia.sizeHint() ); | 502 | dia.resize(dia.sizeHint() ); |
504 | 503 | ||
505 | if ( !dia.exec() ) | 504 | if ( !dia.exec() ) |
506 | return; | 505 | return; |
507 | 506 | ||
508 | AlarmServer::deleteAlarm ( mRunningTimer,"koalarm" , timerMesssage.latin1() ); | 507 | AlarmServer::deleteAlarm ( mRunningTimer,"koalarm" , timerMesssage.utf8() ); |
509 | mTimerTime = 0; | 508 | mTimerTime = 0; |
510 | return; | 509 | return; |
511 | } | 510 | } |
512 | if ( mTimerTime ) | 511 | if ( mTimerTime ) |
513 | return; | 512 | return; |
514 | if ( minutes == 1 ) { | 513 | if ( minutes == 1 ) { |
515 | return; | 514 | return; |
516 | } | 515 | } |
517 | QString mess = "timer_alarm"; | 516 | QString mess = "timer_alarm"; |
518 | mess += ("Timer Alarm!\n"); | 517 | mess += ("Timer Alarm!\n"); |
519 | if ( minutes == 22 ) { | 518 | if ( minutes == 3 ) { |
520 | mess += ( "Pizza is ready"); | ||
521 | mRunningTimerText = "Pizza"; | ||
522 | } | ||
523 | else if ( minutes == 45 ) { | ||
524 | mess += ( "Please wake up!"); | ||
525 | mRunningTimerText = "Nap"; | ||
526 | } | ||
527 | else if ( minutes == 5 ) { | ||
528 | mess += ( "Tea is ready"); | ||
529 | mRunningTimerText = "Tea"; | ||
530 | } | ||
531 | else if ( minutes == 3 ) { | ||
532 | mess += mCustomText; | 519 | mess += mCustomText; |
533 | minutes = mCustomMinutes ; | 520 | minutes = mCustomMinutes ; |
534 | mRunningTimerText = mCustomText.stripWhiteSpace (); | 521 | mRunningTimerText = mCustomText.stripWhiteSpace (); |
535 | int in = mRunningTimerText.find( " " ); | 522 | int in = mRunningTimerText.find( " " ); |
536 | mRunningTimerText = mRunningTimerText.left ( in ); | 523 | mRunningTimerText = mRunningTimerText.left ( in ); |
537 | } | 524 | } |
538 | else { | 525 | else { |
539 | if ( minutes == 2 ) { | 526 | if ( minutes == 2 ) { |
540 | // ask time | 527 | // ask time |
541 | QDialog dia ( 0, ("Customize Timer" ), true ); | 528 | QDialog dia ( 0, ("Customize Timer" ), true ); |
542 | QLabel lab (("Message Text:"), &dia ); | 529 | QLabel lab (("Message Text:"), &dia ); |
543 | dia.setCaption(("KO/Pi Timer" )); | 530 | dia.setCaption(("KO/Pi Timer" )); |
544 | QVBoxLayout lay( &dia ); | 531 | QVBoxLayout lay( &dia ); |
545 | lay.setMargin(5); | 532 | lay.setMargin(5); |
546 | lay.setSpacing(5); | 533 | lay.setSpacing(5); |
547 | lay.addWidget( &lab); | 534 | lay.addWidget( &lab); |
548 | QLineEdit lEdit( mCustomText, &dia ); | 535 | QLineEdit lEdit( mCustomText, &dia ); |
549 | lay.addWidget( &lEdit); | 536 | lay.addWidget( &lEdit); |
550 | QLabel lab2 (("Countdown time (1 min - 24 h):"), &dia ); | 537 | QLabel lab2 (("Countdown time (1 min - 24 h):"), &dia ); |
551 | lay.addWidget( &lab2); | 538 | lay.addWidget( &lab2); |
552 | QHBox hbox1 ( &dia ); | 539 | QHBox hbox1 ( &dia ); |
553 | lay.addWidget( &hbox1); | 540 | lay.addWidget( &hbox1); |
554 | QLabel lab3 (("Hours"), &hbox1 ); | 541 | QLabel lab3 (("Hours"), &hbox1 ); |
555 | QLabel lab4 (("Minutes"), &hbox1 ); | 542 | QLabel lab4 (("Minutes"), &hbox1 ); |
556 | QHBox hbox ( &dia ); | 543 | QHBox hbox ( &dia ); |
557 | QSpinBox spinh( 0, 24, 1,& hbox ); | 544 | QSpinBox spinh( 0, 24, 1,& hbox ); |
558 | QFont fo = dia.font(); | 545 | QFont fo = dia.font(); |
559 | fo.setPointSize( 36 ); | 546 | fo.setPointSize( 36 ); |
560 | QSpinBox spinm( 0, 59, 1,&hbox ); | 547 | QSpinBox spinm( 0, 59, 1,&hbox ); |
561 | spinm.setFont( fo ); | 548 | spinm.setFont( fo ); |
562 | spinh.setFont( fo ); | 549 | spinh.setFont( fo ); |
563 | spinh.setButtonSymbols( QSpinBox::PlusMinus ); | 550 | spinh.setButtonSymbols( QSpinBox::PlusMinus ); |
@@ -581,70 +568,67 @@ void SimpleAlarmDaemonImpl::confTimer( int time ) | |||
581 | lay.addWidget( &lab5); | 568 | lay.addWidget( &lab5); |
582 | KODateLabel dl ( &dia ); | 569 | KODateLabel dl ( &dia ); |
583 | dl.setAlignment( AlignCenter ); | 570 | dl.setAlignment( AlignCenter ); |
584 | dl.setFont( fo ); | 571 | dl.setFont( fo ); |
585 | connect ( &spinh, SIGNAL ( valueChanged (int)), &dl, SLOT ( slot_hours( int ) ) ); | 572 | connect ( &spinh, SIGNAL ( valueChanged (int)), &dl, SLOT ( slot_hours( int ) ) ); |
586 | connect ( &spinm, SIGNAL ( valueChanged (int)), &dl, SLOT ( slot_minutes( int ) ) ); | 573 | connect ( &spinm, SIGNAL ( valueChanged (int)), &dl, SLOT ( slot_minutes( int ) ) ); |
587 | lay.addWidget( &dl); | 574 | lay.addWidget( &dl); |
588 | spinh.setValue( mCustomMinutes/60 ); | 575 | spinh.setValue( mCustomMinutes/60 ); |
589 | spinm.setValue( mCustomMinutes%60 ); | 576 | spinm.setValue( mCustomMinutes%60 ); |
590 | QPushButton ok ( "Start timer", &dia); | 577 | QPushButton ok ( "Start timer", &dia); |
591 | ok.setDefault( true ); | 578 | ok.setDefault( true ); |
592 | ok.setFont( fo ); | 579 | ok.setFont( fo ); |
593 | spinh.setFocus(); | 580 | spinh.setFocus(); |
594 | lay.addWidget( &ok); | 581 | lay.addWidget( &ok); |
595 | connect ( &ok, SIGNAL (clicked()), &dia, SLOT ( accept() ) ); | 582 | connect ( &ok, SIGNAL (clicked()), &dia, SLOT ( accept() ) ); |
596 | dia.resize( dia.sizeHint().width(), dia.sizeHint().height() ); | 583 | dia.resize( dia.sizeHint().width(), dia.sizeHint().height() ); |
597 | 584 | ||
598 | if ( !dia.exec() ) | 585 | if ( !dia.exec() ) |
599 | return; | 586 | return; |
600 | mCustomText = lEdit.text(); | 587 | mCustomText = lEdit.text(); |
601 | mCustomMinutes = spinh.value()*60+spinm.value(); | 588 | mCustomMinutes = spinh.value()*60+spinm.value(); |
602 | if ( mCustomMinutes == 0 ) | 589 | if ( mCustomMinutes == 0 ) |
603 | mCustomMinutes = 1; | 590 | mCustomMinutes = 1; |
604 | if ( mCustomMinutes > 1440 ) | 591 | if ( mCustomMinutes > 1440 ) |
605 | mCustomMinutes = 1440; | 592 | mCustomMinutes = 1440; |
606 | mess += mCustomText; | 593 | mess += mCustomText; |
607 | minutes = mCustomMinutes; | 594 | minutes = mCustomMinutes; |
608 | mRunningTimerText = mCustomText.stripWhiteSpace (); | 595 | mRunningTimerText = mCustomText.stripWhiteSpace (); |
609 | int in = mRunningTimerText.find( " " ); | 596 | int in = mRunningTimerText.find( " " ); |
610 | mRunningTimerText = mRunningTimerText.left ( in ); | 597 | mRunningTimerText = mRunningTimerText.left ( in ); |
611 | } | 598 | } |
612 | else { | 599 | else { |
613 | mess+= QString::number ( minutes ) + ( " minutes are past!"); | 600 | mess += mTimerPopUp->text( minutes ); |
614 | int min = minutes; | 601 | mRunningTimerText = mTimerPopUp->text( minutes ); |
615 | if ( min % 60 == 0 ) | 602 | minutes -= 10; |
616 | mRunningTimerText = QString::number ( min/60 ) + ( " hours"); | ||
617 | else | ||
618 | mRunningTimerText = QString::number ( minutes ) + ( " minutes"); | ||
619 | } | 603 | } |
620 | } | 604 | } |
621 | //minutes = 1; | 605 | //minutes = 1; |
622 | 606 | ||
623 | mRunningTimer = QDateTime::currentDateTime().addSecs( minutes * 60 ); | 607 | mRunningTimer = QDateTime::currentDateTime().addSecs( minutes * 60 ); |
624 | timerMesssage = mess; | 608 | timerMesssage = mess; |
625 | AlarmServer::addAlarm ( mRunningTimer,"koalarm",timerMesssage.utf8()); | 609 | AlarmServer::addAlarm ( mRunningTimer,"koalarm",timerMesssage.utf8()); |
626 | mTimerTime = 1; | 610 | mTimerTime = 1; |
627 | } | 611 | } |
628 | 612 | ||
629 | void SimpleAlarmDaemonImpl::writeFile() | 613 | void SimpleAlarmDaemonImpl::writeFile() |
630 | { | 614 | { |
631 | QCopEnvelope e("QPE/Application/kopi", "-writeFileSilent"); | 615 | QCopEnvelope e("QPE/Application/kopi", "-writeFileSilent"); |
632 | //QCopEnvelope e("QPE/Application/kopi", "-writeFile"); | 616 | //QCopEnvelope e("QPE/Application/kopi", "-writeFile"); |
633 | } | 617 | } |
634 | void SimpleAlarmDaemonImpl::showWN() | 618 | void SimpleAlarmDaemonImpl::showWN() |
635 | { | 619 | { |
636 | QCopEnvelope e("QPE/Application/kopi", "-showWN"); | 620 | QCopEnvelope e("QPE/Application/kopi", "-showWN"); |
637 | } | 621 | } |
638 | void SimpleAlarmDaemonImpl::newTodo() | 622 | void SimpleAlarmDaemonImpl::newTodo() |
639 | { | 623 | { |
640 | QCopEnvelope e("QPE/Application/kopi", "-newTodo"); | 624 | QCopEnvelope e("QPE/Application/kopi", "-newTodo"); |
641 | } | 625 | } |
642 | 626 | ||
643 | void SimpleAlarmDaemonImpl::newEvent() | 627 | void SimpleAlarmDaemonImpl::newEvent() |
644 | { | 628 | { |
645 | QCopEnvelope e("QPE/Application/kopi", "-newEvent"); | 629 | QCopEnvelope e("QPE/Application/kopi", "-newEvent"); |
646 | 630 | ||
647 | } | 631 | } |
648 | void SimpleAlarmDaemonImpl::newMail() | 632 | void SimpleAlarmDaemonImpl::newMail() |
649 | { | 633 | { |
650 | QCopEnvelope e("QPE/Application/ompi", "newMail()"); | 634 | QCopEnvelope e("QPE/Application/ompi", "newMail()"); |