summaryrefslogtreecommitdiffabout
path: root/kalarmd
authorzautrix <zautrix>2005-03-26 20:29:59 (UTC)
committer zautrix <zautrix>2005-03-26 20:29:59 (UTC)
commitc9c3f9e65a72a3c79d7f67eba68fca4537004808 (patch) (unidiff)
tree395970dbf2b5aad3cdafe195e7a9958f5cc8aa15 /kalarmd
parent36dd498ad2f5a2cf43fc08c621669fe42198e5eb (diff)
downloadkdepimpi-c9c3f9e65a72a3c79d7f67eba68fca4537004808.zip
kdepimpi-c9c3f9e65a72a3c79d7f67eba68fca4537004808.tar.gz
kdepimpi-c9c3f9e65a72a3c79d7f67eba68fca4537004808.tar.bz2
better timer
Diffstat (limited to 'kalarmd') (more/less context) (ignore whitespace changes)
-rw-r--r--kalarmd/simplealarmdaemonimpl.cpp108
-rw-r--r--kalarmd/simplealarmdaemonimpl.h35
2 files changed, 125 insertions, 18 deletions
diff --git a/kalarmd/simplealarmdaemonimpl.cpp b/kalarmd/simplealarmdaemonimpl.cpp
index 50c4605..ec7f730 100644
--- a/kalarmd/simplealarmdaemonimpl.cpp
+++ b/kalarmd/simplealarmdaemonimpl.cpp
@@ -33,2 +33,4 @@
33#include <qfile.h> 33#include <qfile.h>
34#include <qdatetime.h>
35#include <qpushbutton.h>
34#include <qlayout.h> 36#include <qlayout.h>
@@ -36,3 +38,5 @@
36#include <qdialog.h> 38#include <qdialog.h>
39#define protected public
37#include <qspinbox.h> 40#include <qspinbox.h>
41#undef protected
38#include <qtextstream.h> 42#include <qtextstream.h>
@@ -65,3 +69,5 @@ SimpleAlarmDaemonImpl::SimpleAlarmDaemonImpl( QWidget *parent )
65 mTimerPopUp = new QPopupMenu( this ); 69 mTimerPopUp = new QPopupMenu( this );
66 70 QFont fon = mTimerPopUp->font();
71 fon.setPointSize( fon.pointSize() *3/2 );
72 mTimerPopUp->setFont( fon );
67 mBeepPopUp = new QPopupMenu( this ); 73 mBeepPopUp = new QPopupMenu( this );
@@ -357,3 +363,3 @@ void SimpleAlarmDaemonImpl::fillTimerPopUp()
357 QTime t ( secs/3600, (secs/60)%60, secs%60 ); 363 QTime t ( secs/3600, (secs/60)%60, secs%60 );
358 mTimerPopUp->changeItem ( 1 , t.toString()); 364 mTimerPopUp->changeItem ( 1 , t.toString() + " (remaining time)");
359 } 365 }
@@ -372,4 +378,7 @@ void SimpleAlarmDaemonImpl::fillTimerPopUp()
372 QTime t ( secs/3600, (secs/60)%60, secs%60 ); 378 QTime t ( secs/3600, (secs/60)%60, secs%60 );
373 mTimerPopUp->insertItem( "Stop", 0 ); 379
374 mTimerPopUp->insertItem( t.toString(),1); 380
381 mTimerPopUp->insertItem( "Stop timer "+ mRunningTimerText , 0 );
382 mTimerPopUp->insertItem( t.toString() + " (remaining time)",1);
383 mTimerPopUp->insertItem( mRunningTimer.time().toString() + " (alarm time)",2);
375 } else { 384 } else {
@@ -466,9 +475,21 @@ void SimpleAlarmDaemonImpl::confTimer( int time )
466 QDialog dia ( 0, ("Stop Timer" ), true ); 475 QDialog dia ( 0, ("Stop Timer" ), true );
467 QLabel lab (("Really stop the timer?"), &dia ); 476 QLabel lab (("Really stop the timer?\n\n"+ mRunningTimerText+"\n"), &dia );
477 lab.setAlignment( AlignCenter );
468 dia.setCaption(("KO/Pi Timer Stop" )); 478 dia.setCaption(("KO/Pi Timer Stop" ));
469 QVBoxLayout lay( &dia ); 479 QVBoxLayout lay( &dia );
480 lay.addWidget( &lab);
481 QPushButton ok ( "Stop timer!", &dia);
482 QFont fo = dia.font();
483 fo.setPointSize( 36 );
484 ok.setFont( fo );
485 lay.addWidget( &ok);
486 connect ( &ok, SIGNAL (clicked()), &dia, SLOT ( accept() ) );
487 QPushButton con ( "Continue timer!", &dia);
488 fo.setPointSize( 36 );
489 con.setFont( fo );
490 lay.addWidget( &con);
491 connect ( &con, SIGNAL (clicked()), &dia, SLOT ( reject() ) );
470 lay.setMargin(5); 492 lay.setMargin(5);
471 lay.setSpacing(5); 493 lay.setSpacing(5);
472 lay.addWidget( &lab); 494 dia.resize(dia.sizeHint() );
473 dia.resize( 200, dia.sizeHint().height() );
474 495
@@ -488,11 +509,20 @@ void SimpleAlarmDaemonImpl::confTimer( int time )
488 mess += ("Timer Alarm!\n"); 509 mess += ("Timer Alarm!\n");
489 if ( minutes == 22 ) 510 if ( minutes == 22 ) {
490 mess += ( "Pizza is ready"); 511 mess += ( "Pizza is ready");
491 else if ( minutes == 45 ) 512 mRunningTimerText = "Pizza";
513 }
514 else if ( minutes == 45 ) {
492 mess += ( "Please wake up!"); 515 mess += ( "Please wake up!");
493 else if ( minutes == 5 ) 516 mRunningTimerText = "Nap";
517 }
518 else if ( minutes == 5 ) {
494 mess += ( "Tea is ready"); 519 mess += ( "Tea is ready");
520 mRunningTimerText = "Tea";
521 }
495 else if ( minutes == 3 ) { 522 else if ( minutes == 3 ) {
496 mess += mCustomText; 523 mess += mCustomText;
497 minutes = mCustomMinutes ; 524 minutes = mCustomMinutes ;
525 mRunningTimerText = mCustomText.stripWhiteSpace ();
526 int in = mRunningTimerText.find( " " );
527 mRunningTimerText = mRunningTimerText.left ( in );
498 } 528 }
@@ -512,11 +542,46 @@ void SimpleAlarmDaemonImpl::confTimer( int time )
512 lay.addWidget( &lab2); 542 lay.addWidget( &lab2);
543 QHBox hbox1 ( &dia );
544 lay.addWidget( &hbox1);
545 QLabel lab3 (("Hours"), &hbox1 );
546 QLabel lab4 (("Minutes"), &hbox1 );
513 QHBox hbox ( &dia ); 547 QHBox hbox ( &dia );
514 QLabel lab3 (("h:"), &hbox );
515 QSpinBox spinh( 0, 24, 1,& hbox ); 548 QSpinBox spinh( 0, 24, 1,& hbox );
516 QLabel lab4 ((" min:"), &hbox ); 549 QFont fo = dia.font();
550 fo.setPointSize( 36 );
517 QSpinBox spinm( 0, 59, 1,&hbox ); 551 QSpinBox spinm( 0, 59, 1,&hbox );
552 spinm.setFont( fo );
553 spinh.setFont( fo );
554 spinh.setButtonSymbols( QSpinBox::PlusMinus );
555 spinm.setButtonSymbols( QSpinBox::PlusMinus );
556 spinh.upButton ()->setFixedSize( QSize( 48, 30 ));
557 spinh.downButton ()->setFixedSize( QSize( 48, 30 ));
558 //spinh.editor ()->setFixedSize( QSize( 50, 100 ));
559 spinh.setFixedSize( 100,62 );
560 spinm.upButton ()->setFixedSize( QSize( 48, 30 ));
561 spinm.downButton ()->setFixedSize( QSize( 48, 30 ));
562 spinm.downButton ()->setGeometry( 50,50,50,50);
563 spinm.setSuffix( " m" );
564 spinh.setSuffix( " h" );
565 spinm.setWrapping ( true );
566 //spinm.editor ()->setFixedSize( QSize( 50, 100 ));
567 spinm.setLineStep( 1 );
568 spinm.setFixedSize( 110,62 );
569 lay.addWidget( &hbox);
570 QLabel lab5 ("Timer fires at:", &dia );
571 lab5.setAlignment( AlignCenter );
572 lay.addWidget( &lab5);
573 KODateLabel dl ( &dia );
574 dl.setAlignment( AlignCenter );
575 dl.setFont( fo );
576 connect ( &spinh, SIGNAL ( valueChanged (int)), &dl, SLOT ( slot_hours( int ) ) );
577 connect ( &spinm, SIGNAL ( valueChanged (int)), &dl, SLOT ( slot_minutes( int ) ) );
578 lay.addWidget( &dl);
518 spinh.setValue( mCustomMinutes/60 ); 579 spinh.setValue( mCustomMinutes/60 );
519 spinm.setValue( mCustomMinutes%60 ); 580 spinm.setValue( mCustomMinutes%60 );
520 lay.addWidget( &hbox); 581 QPushButton ok ( "Start timer", &dia);
582 ok.setFont( fo );
583 lay.addWidget( &ok);
584 connect ( &ok, SIGNAL (clicked()), &dia, SLOT ( accept() ) );
521 dia.resize( dia.sizeHint().width(), dia.sizeHint().height() ); 585 dia.resize( dia.sizeHint().width(), dia.sizeHint().height() );
586
522 if ( !dia.exec() ) 587 if ( !dia.exec() )
@@ -530,6 +595,15 @@ void SimpleAlarmDaemonImpl::confTimer( int time )
530 mess += mCustomText; 595 mess += mCustomText;
531 minutes = mCustomMinutes; 596 minutes = mCustomMinutes;
597 mRunningTimerText = mCustomText.stripWhiteSpace ();
598 int in = mRunningTimerText.find( " " );
599 mRunningTimerText = mRunningTimerText.left ( in );
532 } 600 }
533 else 601 else {
534 mess+= QString::number ( minutes ) + ( " minutes are past!"); 602 mess+= QString::number ( minutes ) + ( " minutes are past!");
603 int min = minutes;
604 if ( min % 60 == 0 )
605 mRunningTimerText = QString::number ( min/60 ) + ( " hours");
606 else
607 mRunningTimerText = QString::number ( minutes ) + ( " minutes");
608 }
535 } 609 }
diff --git a/kalarmd/simplealarmdaemonimpl.h b/kalarmd/simplealarmdaemonimpl.h
index 32a3867..cbdba47 100644
--- a/kalarmd/simplealarmdaemonimpl.h
+++ b/kalarmd/simplealarmdaemonimpl.h
@@ -28,2 +28,3 @@
28#include <qlabel.h> 28#include <qlabel.h>
29#include <qtimer.h>
29 30
@@ -80,2 +81,3 @@ class SimpleAlarmDaemonImpl : public QLabel
80 QString mCustomText; 81 QString mCustomText;
82 QString mRunningTimerText;
81 int mCustomMinutes; 83 int mCustomMinutes;
@@ -84,3 +86,34 @@ class SimpleAlarmDaemonImpl : public QLabel
84}; 86};
85 87class KODateLabel : public QLabel
88{
89 Q_OBJECT
90 public:
91 KODateLabel( QWidget *parent=0, const char *name=0 ) :
92 QLabel( parent, name )
93 {
94 hour = 0;
95 minutes = 0;
96 QTimer * ti = new QTimer( this );
97 connect ( ti, SIGNAL ( timeout () ), this, SLOT ( updateText() ));
98 ti->start( 1000 );
99
100 }
101public slots:
102 void slot_minutes( int m )
103 {
104 minutes = m; updateText();
105 }
106 void slot_hours( int h )
107 {
108 hour = h; updateText();
109 }
110private slots:
111 void updateText()
112 {
113 QDateTime dt = QDateTime::currentDateTime();
114 dt = dt.addSecs( minutes * 60 + hour * 3600 );
115 setText( dt.time().toString() );
116 }
117 int hour, minutes;
118};
86#endif 119#endif