author | zautrix <zautrix> | 2005-03-26 20:29:59 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-03-26 20:29:59 (UTC) |
commit | c9c3f9e65a72a3c79d7f67eba68fca4537004808 (patch) (side-by-side diff) | |
tree | 395970dbf2b5aad3cdafe195e7a9958f5cc8aa15 /kalarmd/simplealarmdaemonimpl.cpp | |
parent | 36dd498ad2f5a2cf43fc08c621669fe42198e5eb (diff) | |
download | kdepimpi-c9c3f9e65a72a3c79d7f67eba68fca4537004808.zip kdepimpi-c9c3f9e65a72a3c79d7f67eba68fca4537004808.tar.gz kdepimpi-c9c3f9e65a72a3c79d7f67eba68fca4537004808.tar.bz2 |
better timer
Diffstat (limited to 'kalarmd/simplealarmdaemonimpl.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | kalarmd/simplealarmdaemonimpl.cpp | 102 |
1 files changed, 88 insertions, 14 deletions
diff --git a/kalarmd/simplealarmdaemonimpl.cpp b/kalarmd/simplealarmdaemonimpl.cpp index 50c4605..ec7f730 100644 --- a/kalarmd/simplealarmdaemonimpl.cpp +++ b/kalarmd/simplealarmdaemonimpl.cpp @@ -26,20 +26,24 @@ #include "alarmdialog.h" #include <qpopupmenu.h> #include <qapp.h> #include <qdir.h> #include <qfile.h> #include <qhbox.h> #include <qtimer.h> #include <qfile.h> +#include <qdatetime.h> +#include <qpushbutton.h> #include <qlayout.h> #include <qlineedit.h> #include <qdialog.h> +#define protected public #include <qspinbox.h> +#undef protected #include <qtextstream.h> #include <qtopia/qcopenvelope_qws.h> #include <qtopia/alarmserver.h> #include <stdlib.h> #include <stdio.h> #include <unistd.h> @@ -58,17 +62,19 @@ SimpleAlarmDaemonImpl::SimpleAlarmDaemonImpl( QWidget *parent ) mPopUp->insertSeparator(); mPopUp->insertItem( "Edit Journal", this, SLOT ( writeJournal() ) ); mPopUp->insertItem( "New Event", this, SLOT ( newEvent() ) ); mPopUp->insertItem( "New Todo", this, SLOT ( newTodo() ) ); mPopUp->insertItem( "New Mail", this, SLOT ( newMail() ) ); mPopUp->insertSeparator(); mPopUp->insertItem( "Multi Sync", this, SLOT ( ringSync() ) ); mTimerPopUp = new QPopupMenu( this ); - + QFont fon = mTimerPopUp->font(); + fon.setPointSize( fon.pointSize() *3/2 ); + mTimerPopUp->setFont( fon ); mBeepPopUp = new QPopupMenu( this ); mSoundPopUp = new QPopupMenu( this ); mPausePopUp = new QPopupMenu( this ); QPopupMenu* savePopUp = new QPopupMenu( this ); savePopUp->insertItem( "Save", 0 ); savePopUp->insertItem( "Load", 1 ); mSoundPopUp->insertItem( "Buzzer", 0 ); mSoundPopUp->insertItem( "Wav file", 1 ); @@ -350,33 +356,36 @@ void SimpleAlarmDaemonImpl::startAlarm( QString mess, QString filename ) void SimpleAlarmDaemonImpl::fillTimerPopUp() { // qDebug(" timer %d %d ",mTimerPopupConf, mTimerTime ); if ( mTimerPopupConf == mTimerTime ) { if ( mTimerTime ) { int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer ); QTime t ( secs/3600, (secs/60)%60, secs%60 ); - mTimerPopUp->changeItem ( 1 , t.toString()); + mTimerPopUp->changeItem ( 1 , t.toString() + " (remaining time)"); } else { QString text = mCustomText.stripWhiteSpace (); int in = text.find( " " ); text = text.left ( in ); mTimerPopUp->changeItem ( 3, text ); } return; } mTimerPopupConf = mTimerTime; mTimerPopUp->clear(); if ( mTimerTime ) { int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer ); QTime t ( secs/3600, (secs/60)%60, secs%60 ); - mTimerPopUp->insertItem( "Stop", 0 ); - mTimerPopUp->insertItem( t.toString(),1); + + + mTimerPopUp->insertItem( "Stop timer "+ mRunningTimerText , 0 ); + mTimerPopUp->insertItem( t.toString() + " (remaining time)",1); + mTimerPopUp->insertItem( mRunningTimer.time().toString() + " (alarm time)",2); } else { QString fileName = QDir::homeDirPath() +"/.kopialarmtimerrc"; QFile file( fileName ); if( !QFile::exists( fileName) ) { // write defaults if (!file.open( IO_WriteOnly ) ) { return; @@ -459,84 +468,149 @@ void SimpleAlarmDaemonImpl::confTimer( int time ) { //qDebug("impleAlarmDaemonImpl::confTimer() %d ", time ); int minutes = time; if ( minutes == 0 ) { if ( ! mTimerTime ) return; QDialog dia ( 0, ("Stop Timer" ), true ); - QLabel lab (("Really stop the timer?"), &dia ); + QLabel lab (("Really stop the timer?\n\n"+ mRunningTimerText+"\n"), &dia ); + lab.setAlignment( AlignCenter ); dia.setCaption(("KO/Pi Timer Stop" )); QVBoxLayout lay( &dia ); + lay.addWidget( &lab); + QPushButton ok ( "Stop timer!", &dia); + QFont fo = dia.font(); + fo.setPointSize( 36 ); + ok.setFont( fo ); + lay.addWidget( &ok); + connect ( &ok, SIGNAL (clicked()), &dia, SLOT ( accept() ) ); + QPushButton con ( "Continue timer!", &dia); + fo.setPointSize( 36 ); + con.setFont( fo ); + lay.addWidget( &con); + connect ( &con, SIGNAL (clicked()), &dia, SLOT ( reject() ) ); lay.setMargin(5); lay.setSpacing(5); - lay.addWidget( &lab); - dia.resize( 200, dia.sizeHint().height() ); + dia.resize(dia.sizeHint() ); if ( !dia.exec() ) return; AlarmServer::deleteAlarm ( mRunningTimer,"koalarm" , timerMesssage.latin1() ); mTimerTime = 0; return; } if ( mTimerTime ) return; if ( minutes == 1 ) { return; } QString mess = "timer_alarm"; mess += ("Timer Alarm!\n"); - if ( minutes == 22 ) + if ( minutes == 22 ) { mess += ( "Pizza is ready"); - else if ( minutes == 45 ) + mRunningTimerText = "Pizza"; + } + else if ( minutes == 45 ) { mess += ( "Please wake up!"); - else if ( minutes == 5 ) + mRunningTimerText = "Nap"; + } + else if ( minutes == 5 ) { mess += ( "Tea is ready"); + mRunningTimerText = "Tea"; + } else if ( minutes == 3 ) { mess += mCustomText; minutes = mCustomMinutes ; + mRunningTimerText = mCustomText.stripWhiteSpace (); + int in = mRunningTimerText.find( " " ); + mRunningTimerText = mRunningTimerText.left ( in ); } else { if ( minutes == 2 ) { // ask time QDialog dia ( 0, ("Customize Timer" ), true ); QLabel lab (("Message Text:"), &dia ); dia.setCaption(("KO/Pi Timer" )); QVBoxLayout lay( &dia ); lay.setMargin(5); lay.setSpacing(5); lay.addWidget( &lab); QLineEdit lEdit( mCustomText, &dia ); lay.addWidget( &lEdit); QLabel lab2 (("Countdown time (1 min - 24 h):"), &dia ); lay.addWidget( &lab2); + QHBox hbox1 ( &dia ); + lay.addWidget( &hbox1); + QLabel lab3 (("Hours"), &hbox1 ); + QLabel lab4 (("Minutes"), &hbox1 ); QHBox hbox ( &dia ); - QLabel lab3 (("h:"), &hbox ); QSpinBox spinh( 0, 24, 1,& hbox ); - QLabel lab4 ((" min:"), &hbox ); + QFont fo = dia.font(); + fo.setPointSize( 36 ); QSpinBox spinm( 0, 59, 1,&hbox ); + spinm.setFont( fo ); + spinh.setFont( fo ); + spinh.setButtonSymbols( QSpinBox::PlusMinus ); + spinm.setButtonSymbols( QSpinBox::PlusMinus ); + spinh.upButton ()->setFixedSize( QSize( 48, 30 )); + spinh.downButton ()->setFixedSize( QSize( 48, 30 )); + //spinh.editor ()->setFixedSize( QSize( 50, 100 )); + spinh.setFixedSize( 100,62 ); + spinm.upButton ()->setFixedSize( QSize( 48, 30 )); + spinm.downButton ()->setFixedSize( QSize( 48, 30 )); + spinm.downButton ()->setGeometry( 50,50,50,50); + spinm.setSuffix( " m" ); + spinh.setSuffix( " h" ); + spinm.setWrapping ( true ); + //spinm.editor ()->setFixedSize( QSize( 50, 100 )); + spinm.setLineStep( 1 ); + spinm.setFixedSize( 110,62 ); + lay.addWidget( &hbox); + QLabel lab5 ("Timer fires at:", &dia ); + lab5.setAlignment( AlignCenter ); + lay.addWidget( &lab5); + KODateLabel dl ( &dia ); + dl.setAlignment( AlignCenter ); + dl.setFont( fo ); + connect ( &spinh, SIGNAL ( valueChanged (int)), &dl, SLOT ( slot_hours( int ) ) ); + connect ( &spinm, SIGNAL ( valueChanged (int)), &dl, SLOT ( slot_minutes( int ) ) ); + lay.addWidget( &dl); spinh.setValue( mCustomMinutes/60 ); spinm.setValue( mCustomMinutes%60 ); - lay.addWidget( &hbox); + QPushButton ok ( "Start timer", &dia); + ok.setFont( fo ); + lay.addWidget( &ok); + connect ( &ok, SIGNAL (clicked()), &dia, SLOT ( accept() ) ); dia.resize( dia.sizeHint().width(), dia.sizeHint().height() ); + if ( !dia.exec() ) return; mCustomText = lEdit.text(); mCustomMinutes = spinh.value()*60+spinm.value(); if ( mCustomMinutes == 0 ) mCustomMinutes = 1; if ( mCustomMinutes > 1440 ) mCustomMinutes = 1440; mess += mCustomText; minutes = mCustomMinutes; + mRunningTimerText = mCustomText.stripWhiteSpace (); + int in = mRunningTimerText.find( " " ); + mRunningTimerText = mRunningTimerText.left ( in ); } - else + else { mess+= QString::number ( minutes ) + ( " minutes are past!"); + int min = minutes; + if ( min % 60 == 0 ) + mRunningTimerText = QString::number ( min/60 ) + ( " hours"); + else + mRunningTimerText = QString::number ( minutes ) + ( " minutes"); + } } //minutes = 1; mRunningTimer = QDateTime::currentDateTime().addSecs( minutes * 60 ); timerMesssage = mess; AlarmServer::addAlarm ( mRunningTimer,"koalarm",timerMesssage.latin1()); mTimerTime = 1; } |