-rw-r--r-- | kalarmd/alarmdialog.cpp | 31 | ||||
-rw-r--r-- | kalarmd/alarmdialog.h | 4 | ||||
-rw-r--r-- | kalarmd/simplealarmdaemonimpl.cpp | 13 |
3 files changed, 28 insertions, 20 deletions
diff --git a/kalarmd/alarmdialog.cpp b/kalarmd/alarmdialog.cpp index 794c8ae..d6feedc 100644 --- a/kalarmd/alarmdialog.cpp +++ b/kalarmd/alarmdialog.cpp @@ -76,25 +76,24 @@ AlarmDialog::AlarmDialog(QWidget *parent,const char *name) fo.setBold( true ); fo.setPointSize( fs2 ); l->setFont( fo ); fo.setPointSize( fs ); mMessage->setFont(fo ); mMessage->setAlignment( AlignCenter); - l = new QLabel("Missed Alarms:",this); - l->setAlignment( AlignCenter); layout->addWidget ( mMessage ); - layout->addWidget ( l ); - mMissedAlarms= new QLabel ( "", this ); + mMissedAlarms= new QLabel ( "(No missed Alarms)", this ); mMissedAlarms->setAlignment( AlignCenter); playSoundTimer = new QTimer( this ); connect ( playSoundTimer, SIGNAL( timeout() ), this, SLOT (playSound() ) ); playSoundTimer->stop(); layout->addWidget ( mMissedAlarms ); + mMissedAlarmsCombo = new QComboBox ( this ); + layout->addWidget ( mMissedAlarmsCombo ); QVBox *suspendBox = new QVBox( this ); suspendBox->setSpacing(3); layout->addWidget ( suspendBox ); QLabel* labb = new QLabel("Suspend duration (minutes):",suspendBox); labb->setAlignment(AlignCenter); fo = font(); @@ -109,20 +108,21 @@ AlarmDialog::AlarmDialog(QWidget *parent,const char *name) mSuspendSpin->setFixedSize( 100,62 ); mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus ); QVBox * bbox = new QVBox ( this ); layout->addWidget ( bbox ); bbox->layout()->setSpacing( 2 ); - QPushButton* suspend = new QPushButton( "Suspend", bbox); + mSuspendButton = new QPushButton( "Suspend", bbox); QPushButton* silen = new QPushButton( " Stop sound ", bbox); QPushButton* okbut = new QPushButton( "Ok", bbox); - suspend->setFont( fo ); + mSuspendButton->setFont( fo ); silen->setFont( fo ); okbut->setFont( fo ); + okbut->setDefault( true ); connect (silen , SIGNAL( clicked() ), this, SLOT (silent() ) ); - connect (suspend , SIGNAL( clicked() ), this, SLOT (slotSuspend() ) ); + connect (mSuspendButton, SIGNAL( clicked() ), this, SLOT (slotSuspend() ) ); connect (okbut , SIGNAL( clicked() ), this, SLOT (slotOk() ) ); #ifndef _WIN32_ if ( QFile::exists ( "/dev/sharp_led" ) ) fd_led = open ( "/dev/sharp_led", O_RDWR|O_NONBLOCK ); else #endif @@ -157,14 +157,15 @@ void AlarmDialog::suspend() Sound::soundAlarm (); #endif } void AlarmDialog::slotOk() { mStopAlarm = true; - mMissedAlarms->setText(""); + mMissedAlarms->setText("(No missed Alarms)"); mMessage->setText(""); + mMissedAlarmsCombo->clear(); #ifndef _WIN32_ if ( fd_led > 0 ) { statusLED.status = LED_SALARM_OFF ; ioctl (fd_led, SHARP_LED_SETSTATUS, &statusLED); } #endif @@ -211,18 +212,18 @@ bool AlarmDialog::eventNotification( QString mess, int replay , QString fn, boo if ( !QFile::exists( fn ) ) mFileName = ""; alarmCounter = 0 ; maxAlarmReplay = replay ; mStopAlarm = false; mSilent = false; - if ( mMissedAlarms->text() == "" ) - mMissedAlarms->setText( mMessage->text()); - else - mMissedAlarms->setText( mMessage->text()+ "\n" + mMissedAlarms->text() ); - if ( mMissedAlarms->text().length() > 180 ) - mMissedAlarms->setText(mMissedAlarms->text().left ( 180 )); + if ( !mMessage->text().stripWhiteSpace().isEmpty() ) { + mMissedAlarmsCombo->show(); + mMissedAlarmsCombo->insertItem( mMessage->text().stripWhiteSpace() ); + mMissedAlarms->setText( "Missed alarms:"); + } else + mMissedAlarmsCombo->hide(); mMessage->setText(mess); int w =sizeHint().width() ; int h = sizeHint().height() ; int dw = QApplication::desktop()->width(); int dh = QApplication::desktop()->height(); setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); @@ -247,13 +248,13 @@ bool AlarmDialog::eventNotification( QString mess, int replay , QString fn, boo void AlarmDialog::playSound () { if (mStopAlarm ) return; showNormal(); setActiveWindow(); - setFocus(); + mSuspendSpin->setFocus(); raise(); qApp->processEvents(); if ( alarmCounter < maxAlarmReplay && ! mSilent) { ++alarmCounter; if ( !mPlayWav || mFileName.length() < 2 ) { diff --git a/kalarmd/alarmdialog.h b/kalarmd/alarmdialog.h index 3155f18..896cf60 100644 --- a/kalarmd/alarmdialog.h +++ b/kalarmd/alarmdialog.h @@ -25,12 +25,14 @@ #include <qdialog.h> #include <qdatetime.h> #include <qstring.h> +#include <qcombobox.h> +#include <qpushbutton.h> #include "sharp_char.h" class QSpinBox; class QLabel; @@ -69,12 +71,14 @@ class AlarmDialog : public QDialog { bool mSilent; bool mPlayWav; bool mServerNotification; QLabel* mMessage; QLabel* mMissedAlarms; QSpinBox *mSuspendSpin; + QComboBox *mMissedAlarmsCombo; + QPushButton* mSuspendButton; QString mFileName; int fd_led; sharp_led_status statusLED; }; #endif diff --git a/kalarmd/simplealarmdaemonimpl.cpp b/kalarmd/simplealarmdaemonimpl.cpp index e8ec033..b3da428 100644 --- a/kalarmd/simplealarmdaemonimpl.cpp +++ b/kalarmd/simplealarmdaemonimpl.cpp @@ -358,13 +358,13 @@ 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() + " (remaining time)"); + mTimerPopUp->changeItem ( 1 , t.toString() + " (countdown)"); } else { QString text = mCustomText.stripWhiteSpace (); int in = text.find( " " ); text = text.left ( in ); mTimerPopUp->changeItem ( 3, text ); @@ -376,14 +376,14 @@ void SimpleAlarmDaemonImpl::fillTimerPopUp() if ( mTimerTime ) { int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer ); QTime t ( secs/3600, (secs/60)%60, secs%60 ); mTimerPopUp->insertItem( "Stop timer "+ mRunningTimerText , 0 ); - mTimerPopUp->insertItem( t.toString() + " (remaining time)",1); - mTimerPopUp->insertItem( mRunningTimer.time().toString() + " (alarm time)",2); + mTimerPopUp->insertItem( t.toString() + " (countdown)",1); + mTimerPopUp->insertItem( mRunningTimer.time().toString() + " (alarm)",2); } else { QString fileName = QDir::homeDirPath() +"/.kopialarmtimerrc"; QFile file( fileName ); if( !QFile::exists( fileName) ) { // write defaults @@ -557,14 +557,14 @@ void SimpleAlarmDaemonImpl::confTimer( int time ) 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.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 ); @@ -576,13 +576,15 @@ void SimpleAlarmDaemonImpl::confTimer( int time ) 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 ); QPushButton ok ( "Start timer", &dia); + ok.setDefault( true ); ok.setFont( fo ); + spinh.setFocus(); lay.addWidget( &ok); connect ( &ok, SIGNAL (clicked()), &dia, SLOT ( accept() ) ); dia.resize( dia.sizeHint().width(), dia.sizeHint().height() ); if ( !dia.exec() ) return; @@ -605,12 +607,13 @@ void SimpleAlarmDaemonImpl::confTimer( int time ) 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; } |