summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kalarmd/alarmdialog.cpp31
-rw-r--r--kalarmd/alarmdialog.h4
-rw-r--r--kalarmd/simplealarmdaemonimpl.cpp13
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
@@ -74,29 +74,28 @@ AlarmDialog::AlarmDialog(QWidget *parent,const char *name)
74 layout->setMargin( 3 ); 74 layout->setMargin( 3 );
75 QFont fo = QApplication::font(); 75 QFont fo = QApplication::font();
76 fo.setBold( true ); 76 fo.setBold( true );
77 fo.setPointSize( fs2 ); 77 fo.setPointSize( fs2 );
78 l->setFont( fo ); 78 l->setFont( fo );
79 fo.setPointSize( fs ); 79 fo.setPointSize( fs );
80 mMessage->setFont(fo ); 80 mMessage->setFont(fo );
81 mMessage->setAlignment( AlignCenter); 81 mMessage->setAlignment( AlignCenter);
82 l = new QLabel("Missed Alarms:",this);
83 l->setAlignment( AlignCenter);
84 layout->addWidget ( mMessage ); 82 layout->addWidget ( mMessage );
85 layout->addWidget ( l ); 83 mMissedAlarms= new QLabel ( "(No missed Alarms)", this );
86 mMissedAlarms= new QLabel ( "", this );
87 mMissedAlarms->setAlignment( AlignCenter); 84 mMissedAlarms->setAlignment( AlignCenter);
88 85
89 playSoundTimer = new QTimer( this ); 86 playSoundTimer = new QTimer( this );
90 connect ( playSoundTimer, SIGNAL( timeout() ), this, SLOT (playSound() ) ); 87 connect ( playSoundTimer, SIGNAL( timeout() ), this, SLOT (playSound() ) );
91 88
92 playSoundTimer->stop(); 89 playSoundTimer->stop();
93 90
94 layout->addWidget ( mMissedAlarms ); 91 layout->addWidget ( mMissedAlarms );
92 mMissedAlarmsCombo = new QComboBox ( this );
93 layout->addWidget ( mMissedAlarmsCombo );
95 QVBox *suspendBox = new QVBox( this ); 94 QVBox *suspendBox = new QVBox( this );
96 suspendBox->setSpacing(3); 95 suspendBox->setSpacing(3);
97 layout->addWidget ( suspendBox ); 96 layout->addWidget ( suspendBox );
98 QLabel* labb = new QLabel("Suspend duration (minutes):",suspendBox); 97 QLabel* labb = new QLabel("Suspend duration (minutes):",suspendBox);
99 labb->setAlignment(AlignCenter); 98 labb->setAlignment(AlignCenter);
100 fo = font(); 99 fo = font();
101 fo.setPointSize( 36 ); 100 fo.setPointSize( 36 );
102 mSuspendSpin = new QSpinBox(1,1440,1,suspendBox); 101 mSuspendSpin = new QSpinBox(1,1440,1,suspendBox);
@@ -107,24 +106,25 @@ AlarmDialog::AlarmDialog(QWidget *parent,const char *name)
107 mSuspendSpin->upButton ()->setFixedSize( QSize( 48, 30 )); 106 mSuspendSpin->upButton ()->setFixedSize( QSize( 48, 30 ));
108 mSuspendSpin->downButton ()->setFixedSize( QSize( 48, 30 )); 107 mSuspendSpin->downButton ()->setFixedSize( QSize( 48, 30 ));
109 mSuspendSpin->setFixedSize( 100,62 ); 108 mSuspendSpin->setFixedSize( 100,62 );
110 mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus ); 109 mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus );
111 110
112 QVBox * bbox = new QVBox ( this ); 111 QVBox * bbox = new QVBox ( this );
113 layout->addWidget ( bbox ); 112 layout->addWidget ( bbox );
114 bbox->layout()->setSpacing( 2 ); 113 bbox->layout()->setSpacing( 2 );
115 QPushButton* suspend = new QPushButton( "Suspend", bbox); 114 mSuspendButton = new QPushButton( "Suspend", bbox);
116 QPushButton* silen = new QPushButton( " Stop sound ", bbox); 115 QPushButton* silen = new QPushButton( " Stop sound ", bbox);
117 QPushButton* okbut = new QPushButton( "Ok", bbox); 116 QPushButton* okbut = new QPushButton( "Ok", bbox);
118 suspend->setFont( fo ); 117 mSuspendButton->setFont( fo );
119 silen->setFont( fo ); 118 silen->setFont( fo );
120 okbut->setFont( fo ); 119 okbut->setFont( fo );
120 okbut->setDefault( true );
121 connect (silen , SIGNAL( clicked() ), this, SLOT (silent() ) ); 121 connect (silen , SIGNAL( clicked() ), this, SLOT (silent() ) );
122 connect (suspend , SIGNAL( clicked() ), this, SLOT (slotSuspend() ) ); 122 connect (mSuspendButton, SIGNAL( clicked() ), this, SLOT (slotSuspend() ) );
123 connect (okbut , SIGNAL( clicked() ), this, SLOT (slotOk() ) ); 123 connect (okbut , SIGNAL( clicked() ), this, SLOT (slotOk() ) );
124#ifndef _WIN32_ 124#ifndef _WIN32_
125 if ( QFile::exists ( "/dev/sharp_led" ) ) 125 if ( QFile::exists ( "/dev/sharp_led" ) )
126 fd_led = open ( "/dev/sharp_led", O_RDWR|O_NONBLOCK ); 126 fd_led = open ( "/dev/sharp_led", O_RDWR|O_NONBLOCK );
127 else 127 else
128#endif 128#endif
129 fd_led = 0; 129 fd_led = 0;
130 statusLED.which = SHARP_LED_SALARM; 130 statusLED.which = SHARP_LED_SALARM;
@@ -155,18 +155,19 @@ void AlarmDialog::suspend()
155 155
156#else 156#else
157 Sound::soundAlarm (); 157 Sound::soundAlarm ();
158#endif 158#endif
159} 159}
160void AlarmDialog::slotOk() 160void AlarmDialog::slotOk()
161{ 161{
162 mStopAlarm = true; 162 mStopAlarm = true;
163 mMissedAlarms->setText(""); 163 mMissedAlarms->setText("(No missed Alarms)");
164 mMessage->setText(""); 164 mMessage->setText("");
165 mMissedAlarmsCombo->clear();
165#ifndef _WIN32_ 166#ifndef _WIN32_
166 if ( fd_led > 0 ) { 167 if ( fd_led > 0 ) {
167 statusLED.status = LED_SALARM_OFF ; 168 statusLED.status = LED_SALARM_OFF ;
168 ioctl (fd_led, SHARP_LED_SETSTATUS, &statusLED); 169 ioctl (fd_led, SHARP_LED_SETSTATUS, &statusLED);
169 } 170 }
170#endif 171#endif
171 QDialog::accept(); 172 QDialog::accept();
172} 173}
@@ -209,22 +210,22 @@ bool AlarmDialog::eventNotification( QString mess, int replay , QString fn, boo
209 mFileName = fn; 210 mFileName = fn;
210 mPlayWav = playwav; 211 mPlayWav = playwav;
211 if ( !QFile::exists( fn ) ) 212 if ( !QFile::exists( fn ) )
212 mFileName = ""; 213 mFileName = "";
213 alarmCounter = 0 ; 214 alarmCounter = 0 ;
214 maxAlarmReplay = replay ; 215 maxAlarmReplay = replay ;
215 mStopAlarm = false; 216 mStopAlarm = false;
216 mSilent = false; 217 mSilent = false;
217 if ( mMissedAlarms->text() == "" ) 218 if ( !mMessage->text().stripWhiteSpace().isEmpty() ) {
218 mMissedAlarms->setText( mMessage->text()); 219 mMissedAlarmsCombo->show();
219 else 220 mMissedAlarmsCombo->insertItem( mMessage->text().stripWhiteSpace() );
220 mMissedAlarms->setText( mMessage->text()+ "\n" + mMissedAlarms->text() ); 221 mMissedAlarms->setText( "Missed alarms:");
221 if ( mMissedAlarms->text().length() > 180 ) 222 } else
222 mMissedAlarms->setText(mMissedAlarms->text().left ( 180 )); 223 mMissedAlarmsCombo->hide();
223 mMessage->setText(mess); 224 mMessage->setText(mess);
224 int w =sizeHint().width() ; 225 int w =sizeHint().width() ;
225 int h = sizeHint().height() ; 226 int h = sizeHint().height() ;
226 int dw = QApplication::desktop()->width(); 227 int dw = QApplication::desktop()->width();
227 int dh = QApplication::desktop()->height(); 228 int dh = QApplication::desktop()->height();
228 setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 229 setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
229 show(); 230 show();
230 raise(); 231 raise();
@@ -245,17 +246,17 @@ bool AlarmDialog::eventNotification( QString mess, int replay , QString fn, boo
245 246
246 247
247void AlarmDialog::playSound () 248void AlarmDialog::playSound ()
248{ 249{
249 if (mStopAlarm ) 250 if (mStopAlarm )
250 return; 251 return;
251 showNormal(); 252 showNormal();
252 setActiveWindow(); 253 setActiveWindow();
253 setFocus(); 254 mSuspendSpin->setFocus();
254 raise(); 255 raise();
255 256
256 qApp->processEvents(); 257 qApp->processEvents();
257 if ( alarmCounter < maxAlarmReplay && ! mSilent) { 258 if ( alarmCounter < maxAlarmReplay && ! mSilent) {
258 ++alarmCounter; 259 ++alarmCounter;
259 if ( !mPlayWav || mFileName.length() < 2 ) { 260 if ( !mPlayWav || mFileName.length() < 2 ) {
260 261
261#ifndef DESKTOP_VERSION 262#ifndef DESKTOP_VERSION
diff --git a/kalarmd/alarmdialog.h b/kalarmd/alarmdialog.h
index 3155f18..896cf60 100644
--- a/kalarmd/alarmdialog.h
+++ b/kalarmd/alarmdialog.h
@@ -23,16 +23,18 @@
23#ifndef ALARMDIALOG_H 23#ifndef ALARMDIALOG_H
24#define ALARMDIALOG_H 24#define ALARMDIALOG_H
25 25
26 26
27 27
28#include <qdialog.h> 28#include <qdialog.h>
29#include <qdatetime.h> 29#include <qdatetime.h>
30#include <qstring.h> 30#include <qstring.h>
31#include <qcombobox.h>
32#include <qpushbutton.h>
31 33
32#include "sharp_char.h" 34#include "sharp_char.h"
33 35
34 36
35class QSpinBox; 37class QSpinBox;
36class QLabel; 38class QLabel;
37class QString; 39class QString;
38 40
@@ -67,14 +69,16 @@ class AlarmDialog : public QDialog {
67 QTimer* playSoundTimer; 69 QTimer* playSoundTimer;
68 bool mStopAlarm; 70 bool mStopAlarm;
69 bool mSilent; 71 bool mSilent;
70 bool mPlayWav; 72 bool mPlayWav;
71 bool mServerNotification; 73 bool mServerNotification;
72 QLabel* mMessage; 74 QLabel* mMessage;
73 QLabel* mMissedAlarms; 75 QLabel* mMissedAlarms;
74 QSpinBox *mSuspendSpin; 76 QSpinBox *mSuspendSpin;
77 QComboBox *mMissedAlarmsCombo;
78 QPushButton* mSuspendButton;
75 QString mFileName; 79 QString mFileName;
76 int fd_led; 80 int fd_led;
77 sharp_led_status statusLED; 81 sharp_led_status statusLED;
78}; 82};
79 83
80#endif 84#endif
diff --git a/kalarmd/simplealarmdaemonimpl.cpp b/kalarmd/simplealarmdaemonimpl.cpp
index e8ec033..b3da428 100644
--- a/kalarmd/simplealarmdaemonimpl.cpp
+++ b/kalarmd/simplealarmdaemonimpl.cpp
@@ -356,17 +356,17 @@ void SimpleAlarmDaemonImpl::startAlarm( QString mess, QString filename )
356void SimpleAlarmDaemonImpl::fillTimerPopUp() 356void SimpleAlarmDaemonImpl::fillTimerPopUp()
357{ 357{
358 358
359 // qDebug(" timer %d %d ",mTimerPopupConf, mTimerTime ); 359 // qDebug(" timer %d %d ",mTimerPopupConf, mTimerTime );
360 if ( mTimerPopupConf == mTimerTime ) { 360 if ( mTimerPopupConf == mTimerTime ) {
361 if ( mTimerTime ) { 361 if ( mTimerTime ) {
362 int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer ); 362 int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer );
363 QTime t ( secs/3600, (secs/60)%60, secs%60 ); 363 QTime t ( secs/3600, (secs/60)%60, secs%60 );
364 mTimerPopUp->changeItem ( 1 , t.toString() + " (remaining time)"); 364 mTimerPopUp->changeItem ( 1 , t.toString() + " (countdown)");
365 } 365 }
366 else { 366 else {
367 QString text = mCustomText.stripWhiteSpace (); 367 QString text = mCustomText.stripWhiteSpace ();
368 int in = text.find( " " ); 368 int in = text.find( " " );
369 text = text.left ( in ); 369 text = text.left ( in );
370 mTimerPopUp->changeItem ( 3, text ); 370 mTimerPopUp->changeItem ( 3, text );
371 } 371 }
372 return; 372 return;
@@ -374,18 +374,18 @@ void SimpleAlarmDaemonImpl::fillTimerPopUp()
374 mTimerPopupConf = mTimerTime; 374 mTimerPopupConf = mTimerTime;
375 mTimerPopUp->clear(); 375 mTimerPopUp->clear();
376 if ( mTimerTime ) { 376 if ( mTimerTime ) {
377 int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer ); 377 int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer );
378 QTime t ( secs/3600, (secs/60)%60, secs%60 ); 378 QTime t ( secs/3600, (secs/60)%60, secs%60 );
379 379
380 380
381 mTimerPopUp->insertItem( "Stop timer "+ mRunningTimerText , 0 ); 381 mTimerPopUp->insertItem( "Stop timer "+ mRunningTimerText , 0 );
382 mTimerPopUp->insertItem( t.toString() + " (remaining time)",1); 382 mTimerPopUp->insertItem( t.toString() + " (countdown)",1);
383 mTimerPopUp->insertItem( mRunningTimer.time().toString() + " (alarm time)",2); 383 mTimerPopUp->insertItem( mRunningTimer.time().toString() + " (alarm)",2);
384 } else { 384 } else {
385 385
386 QString fileName = QDir::homeDirPath() +"/.kopialarmtimerrc"; 386 QString fileName = QDir::homeDirPath() +"/.kopialarmtimerrc";
387 QFile file( fileName ); 387 QFile file( fileName );
388 if( !QFile::exists( fileName) ) { 388 if( !QFile::exists( fileName) ) {
389 // write defaults 389 // write defaults
390 if (!file.open( IO_WriteOnly ) ) { 390 if (!file.open( IO_WriteOnly ) ) {
391 return; 391 return;
@@ -555,18 +555,18 @@ void SimpleAlarmDaemonImpl::confTimer( int time )
555 spinm.setButtonSymbols( QSpinBox::PlusMinus ); 555 spinm.setButtonSymbols( QSpinBox::PlusMinus );
556 spinh.upButton ()->setFixedSize( QSize( 48, 30 )); 556 spinh.upButton ()->setFixedSize( QSize( 48, 30 ));
557 spinh.downButton ()->setFixedSize( QSize( 48, 30 )); 557 spinh.downButton ()->setFixedSize( QSize( 48, 30 ));
558 //spinh.editor ()->setFixedSize( QSize( 50, 100 )); 558 //spinh.editor ()->setFixedSize( QSize( 50, 100 ));
559 spinh.setFixedSize( 100,62 ); 559 spinh.setFixedSize( 100,62 );
560 spinm.upButton ()->setFixedSize( QSize( 48, 30 )); 560 spinm.upButton ()->setFixedSize( QSize( 48, 30 ));
561 spinm.downButton ()->setFixedSize( QSize( 48, 30 )); 561 spinm.downButton ()->setFixedSize( QSize( 48, 30 ));
562 spinm.downButton ()->setGeometry( 50,50,50,50); 562 spinm.downButton ()->setGeometry( 50,50,50,50);
563 spinm.setSuffix( " m" ); 563 // spinm.setSuffix( " m" );
564 spinh.setSuffix( " h" ); 564 //spinh.setSuffix( " h" );
565 spinm.setWrapping ( true ); 565 spinm.setWrapping ( true );
566 //spinm.editor ()->setFixedSize( QSize( 50, 100 )); 566 //spinm.editor ()->setFixedSize( QSize( 50, 100 ));
567 spinm.setLineStep( 1 ); 567 spinm.setLineStep( 1 );
568 spinm.setFixedSize( 110,62 ); 568 spinm.setFixedSize( 110,62 );
569 lay.addWidget( &hbox); 569 lay.addWidget( &hbox);
570 QLabel lab5 ("Timer fires at:", &dia ); 570 QLabel lab5 ("Timer fires at:", &dia );
571 lab5.setAlignment( AlignCenter ); 571 lab5.setAlignment( AlignCenter );
572 lay.addWidget( &lab5); 572 lay.addWidget( &lab5);
@@ -574,17 +574,19 @@ void SimpleAlarmDaemonImpl::confTimer( int time )
574 dl.setAlignment( AlignCenter ); 574 dl.setAlignment( AlignCenter );
575 dl.setFont( fo ); 575 dl.setFont( fo );
576 connect ( &spinh, SIGNAL ( valueChanged (int)), &dl, SLOT ( slot_hours( int ) ) ); 576 connect ( &spinh, SIGNAL ( valueChanged (int)), &dl, SLOT ( slot_hours( int ) ) );
577 connect ( &spinm, SIGNAL ( valueChanged (int)), &dl, SLOT ( slot_minutes( int ) ) ); 577 connect ( &spinm, SIGNAL ( valueChanged (int)), &dl, SLOT ( slot_minutes( int ) ) );
578 lay.addWidget( &dl); 578 lay.addWidget( &dl);
579 spinh.setValue( mCustomMinutes/60 ); 579 spinh.setValue( mCustomMinutes/60 );
580 spinm.setValue( mCustomMinutes%60 ); 580 spinm.setValue( mCustomMinutes%60 );
581 QPushButton ok ( "Start timer", &dia); 581 QPushButton ok ( "Start timer", &dia);
582 ok.setDefault( true );
582 ok.setFont( fo ); 583 ok.setFont( fo );
584 spinh.setFocus();
583 lay.addWidget( &ok); 585 lay.addWidget( &ok);
584 connect ( &ok, SIGNAL (clicked()), &dia, SLOT ( accept() ) ); 586 connect ( &ok, SIGNAL (clicked()), &dia, SLOT ( accept() ) );
585 dia.resize( dia.sizeHint().width(), dia.sizeHint().height() ); 587 dia.resize( dia.sizeHint().width(), dia.sizeHint().height() );
586 588
587 if ( !dia.exec() ) 589 if ( !dia.exec() )
588 return; 590 return;
589 mCustomText = lEdit.text(); 591 mCustomText = lEdit.text();
590 mCustomMinutes = spinh.value()*60+spinm.value(); 592 mCustomMinutes = spinh.value()*60+spinm.value();
@@ -603,16 +605,17 @@ void SimpleAlarmDaemonImpl::confTimer( int time )
603 int min = minutes; 605 int min = minutes;
604 if ( min % 60 == 0 ) 606 if ( min % 60 == 0 )
605 mRunningTimerText = QString::number ( min/60 ) + ( " hours"); 607 mRunningTimerText = QString::number ( min/60 ) + ( " hours");
606 else 608 else
607 mRunningTimerText = QString::number ( minutes ) + ( " minutes"); 609 mRunningTimerText = QString::number ( minutes ) + ( " minutes");
608 } 610 }
609 } 611 }
610 //minutes = 1; 612 //minutes = 1;
613
611 mRunningTimer = QDateTime::currentDateTime().addSecs( minutes * 60 ); 614 mRunningTimer = QDateTime::currentDateTime().addSecs( minutes * 60 );
612 timerMesssage = mess; 615 timerMesssage = mess;
613 AlarmServer::addAlarm ( mRunningTimer,"koalarm",timerMesssage.latin1()); 616 AlarmServer::addAlarm ( mRunningTimer,"koalarm",timerMesssage.latin1());
614 mTimerTime = 1; 617 mTimerTime = 1;
615} 618}
616 619
617void SimpleAlarmDaemonImpl::writeFile() 620void SimpleAlarmDaemonImpl::writeFile()
618{ 621{