summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kalarmd/alarmdialog.cpp5
-rw-r--r--kalarmd/alarmdialog.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/kalarmd/alarmdialog.cpp b/kalarmd/alarmdialog.cpp
index 53ff488..65073f6 100644
--- a/kalarmd/alarmdialog.cpp
+++ b/kalarmd/alarmdialog.cpp
@@ -92,96 +92,97 @@ AlarmDialog::AlarmDialog(QWidget *parent,const char *name)
92 connect ( playSoundTimer, SIGNAL( timeout() ), this, SLOT (playSound() ) ); 92 connect ( playSoundTimer, SIGNAL( timeout() ), this, SLOT (playSound() ) );
93 93
94 playSoundTimer->stop(); 94 playSoundTimer->stop();
95 95
96 layout->addWidget ( mMissedAlarms ); 96 layout->addWidget ( mMissedAlarms );
97 mMissedAlarmsCombo = new QComboBox ( this ); 97 mMissedAlarmsCombo = new QComboBox ( this );
98 layout->addWidget ( mMissedAlarmsCombo ); 98 layout->addWidget ( mMissedAlarmsCombo );
99 99
100 QLabel* labb = new QLabel("Suspend duration (minutes):",this); 100 QLabel* labb = new QLabel("Suspend duration (minutes):",this);
101 labb->setAlignment(AlignCenter); 101 labb->setAlignment(AlignCenter);
102 layout->addWidget ( labb ); 102 layout->addWidget ( labb );
103 fo = font(); 103 fo = font();
104 int pointSize = 36; 104 int pointSize = 36;
105 if ( QApplication::desktop()->width() <= 320 ) 105 if ( QApplication::desktop()->width() <= 320 )
106 pointSize = 18; 106 pointSize = 18;
107 fo.setPointSize( pointSize ); 107 fo.setPointSize( pointSize );
108 mSuspendSpin = new QSpinBox(1,1440,1,this); 108 mSuspendSpin = new QSpinBox(1,1440,1,this);
109 mSuspendSpin->setFont( fo ); 109 mSuspendSpin->setFont( fo );
110 mSuspendSpin->setValue(7); // default suspend duration 110 mSuspendSpin->setValue(7); // default suspend duration
111 mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus ); 111 mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus );
112 mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus ); 112 mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus );
113 113
114#if QT_VERSION < 0x030000 114#if QT_VERSION < 0x030000
115 mSuspendSpin->upButton ()->setFixedSize( QSize( 8*baseSize, 5*baseSize )); 115 mSuspendSpin->upButton ()->setFixedSize( QSize( 8*baseSize, 5*baseSize ));
116 mSuspendSpin->downButton ()->setFixedSize( QSize( 8*baseSize, 5*baseSize )); 116 mSuspendSpin->downButton ()->setFixedSize( QSize( 8*baseSize, 5*baseSize ));
117#endif 117#endif
118 mSuspendSpin->setFixedSize( 18*baseSize, 10*baseSize+2 ); 118 mSuspendSpin->setFixedSize( 18*baseSize, 10*baseSize+2 );
119 mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus ); 119 mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus );
120 QHBoxLayout* layoutSpin = new QHBoxLayout( layout ); 120 QHBoxLayout* layoutSpin = new QHBoxLayout( layout );
121 layoutSpin->addStretch (); 121 layoutSpin->addStretch ();
122 layoutSpin->addWidget ( mSuspendSpin ); 122 layoutSpin->addWidget ( mSuspendSpin );
123 layoutSpin->addStretch (); 123 layoutSpin->addStretch ();
124 124
125 QVBox * bbox = new QVBox ( this ); 125 QVBox * bbox = new QVBox ( this );
126 layout->addWidget ( bbox ); 126 layout->addWidget ( bbox );
127 bbox->layout()->setSpacing( 2 ); 127 bbox->layout()->setSpacing( 2 );
128 labb = new QLabel("Press \"Cancel\" or \"Esc\" to suspend!",bbox); 128 labb = new QLabel("Press \"Cancel\" or \"Esc\" to suspend!",bbox);
129 labb->setAlignment(AlignCenter); 129 labb->setAlignment(AlignCenter);
130 mSuspendButton = new QPushButton( "Suspend", bbox); 130 mSuspendButton = new QPushButton( "Suspend", bbox);
131 QPushButton* silen = new QPushButton( " Stop sound ", bbox); 131 QPushButton* silen = new QPushButton( " Stop sound ", bbox);
132 QPushButton* okbut = new QPushButton( "Ok", bbox); 132 QPushButton* okbut = new QPushButton( "Ok", bbox);
133 mSuspendButton->setFont( fo ); 133 mSuspendButton->setFont( fo );
134 silen->setFont( fo ); 134 silen->setFont( fo );
135 okbut->setFont( fo ); 135 okbut->setFont( fo );
136 okbut->setDefault( true ); 136 okbut->setDefault( true );
137 connect (silen , SIGNAL( clicked() ), this, SLOT (silent() ) ); 137 connect (silen , SIGNAL( clicked() ), this, SLOT (silent() ) );
138 connect (mSuspendButton, SIGNAL( clicked() ), this, SLOT (slotSuspend() ) ); 138 connect (mSuspendButton, SIGNAL( clicked() ), this, SLOT (slotSuspend() ) );
139 connect (okbut , SIGNAL( clicked() ), this, SLOT (slotOk() ) ); 139 connect (okbut , SIGNAL( clicked() ), this, SLOT (slotOk() ) );
140 connect (mSuspendSpin , SIGNAL( valueChanged ( int ) ), this, SLOT ( spinBoxChanged( int ) ) );
140#ifndef _WIN32_ 141#ifndef _WIN32_
141 if ( QFile::exists ( "/dev/sharp_led" ) ) 142 if ( QFile::exists ( "/dev/sharp_led" ) )
142 fd_led = open ( "/dev/sharp_led", O_RDWR|O_NONBLOCK ); 143 fd_led = open ( "/dev/sharp_led", O_RDWR|O_NONBLOCK );
143 else 144 else
144#endif 145#endif
145 fd_led = 0; 146 fd_led = 0;
146 statusLED.which = SHARP_LED_SALARM; 147 statusLED.which = SHARP_LED_SALARM;
147 mSilent = false; 148 mSilent = false;
148 mSuspendCounter = 0; 149 mSuspendCounter = 0;
149 setServerNotification( true ); 150 setServerNotification( true );
150} 151}
151void AlarmDialog::reject () 152void AlarmDialog::reject ()
152{ 153{
153 QTimer::singleShot ( 3000, this, SLOT (suspend()) ); 154 QTimer::singleShot ( 3000, this, SLOT (suspend()) );
154 slotSuspend(); 155 slotSuspend();
155} 156}
156AlarmDialog::~AlarmDialog() 157AlarmDialog::~AlarmDialog()
157{ 158{
158} 159}
159void AlarmDialog::silent () 160void AlarmDialog::silent ()
160{ 161{
161 mSilent = true; 162 mSilent = true;
162} 163}
163void AlarmDialog::accept() 164void AlarmDialog::accept()
164{ 165{
165 slotOk(); 166 slotOk();
166} 167}
167 168
168void AlarmDialog::suspend() 169void AlarmDialog::suspend()
169{ 170{
170#ifdef DESKTOP_VERSION 171#ifdef DESKTOP_VERSION
171 172
172#else 173#else
173 Sound::soundAlarm (); 174 Sound::soundAlarm ();
174#endif 175#endif
175} 176}
176void AlarmDialog::slotOk() 177void AlarmDialog::slotOk()
177{ 178{
178 mStopAlarm = true; 179 mStopAlarm = true;
179 mMissedAlarms->setText("(No missed Alarms)"); 180 mMissedAlarms->setText("(No missed Alarms)");
180 mMessage->setText(""); 181 mMessage->setText("");
181 mMissedAlarmsCombo->clear(); 182 mMissedAlarmsCombo->clear();
182#ifndef _WIN32_ 183#ifndef _WIN32_
183 if ( fd_led > 0 ) { 184 if ( fd_led > 0 ) {
184 statusLED.status = LED_SALARM_OFF ; 185 statusLED.status = LED_SALARM_OFF ;
185 ioctl (fd_led, SHARP_LED_SETSTATUS, &statusLED); 186 ioctl (fd_led, SHARP_LED_SETSTATUS, &statusLED);
186 } 187 }
187#endif 188#endif
@@ -217,96 +218,100 @@ int AlarmDialog::getSuspendTime( )
217void AlarmDialog::setSuspendTime( int val ) 218void AlarmDialog::setSuspendTime( int val )
218{ 219{
219 mSuspendSpin->setValue( val ); 220 mSuspendSpin->setValue( val );
220} 221}
221bool AlarmDialog::eventNotification( QString mess, int replay , QString fn, bool playwav, int pause , int suspendtimes) 222bool AlarmDialog::eventNotification( QString mess, int replay , QString fn, bool playwav, int pause , int suspendtimes)
222{ 223{
223 if ( mess.left( 9) != "Suspended" ) 224 if ( mess.left( 9) != "Suspended" )
224 mSuspendCounter = suspendtimes; 225 mSuspendCounter = suspendtimes;
225 mPauseCount = pause; 226 mPauseCount = pause;
226 mFileName = fn; 227 mFileName = fn;
227 mPlayWav = playwav; 228 mPlayWav = playwav;
228 if ( !QFile::exists( fn ) ) 229 if ( !QFile::exists( fn ) )
229 mFileName = ""; 230 mFileName = "";
230 alarmCounter = 0 ; 231 alarmCounter = 0 ;
231 maxAlarmReplay = replay ; 232 maxAlarmReplay = replay ;
232 mStopAlarm = false; 233 mStopAlarm = false;
233 mSilent = false; 234 mSilent = false;
234 if ( !mMessage->text().stripWhiteSpace().isEmpty() ) { 235 if ( !mMessage->text().stripWhiteSpace().isEmpty() ) {
235 mMissedAlarmsCombo->show(); 236 mMissedAlarmsCombo->show();
236 QString newItem = mMessage->text().stripWhiteSpace(); 237 QString newItem = mMessage->text().stripWhiteSpace();
237 newItem.replace( QRegExp("\n"), QString(" ") ); 238 newItem.replace( QRegExp("\n"), QString(" ") );
238 mMissedAlarmsCombo->insertItem( newItem ); 239 mMissedAlarmsCombo->insertItem( newItem );
239 mMissedAlarms->setText( "Missed alarms:"); 240 mMissedAlarms->setText( "Missed alarms:");
240 } else 241 } else
241 mMissedAlarmsCombo->hide(); 242 mMissedAlarmsCombo->hide();
242 mMessage->setText(mess); 243 mMessage->setText(mess);
243 int w =sizeHint().width() ; 244 int w =sizeHint().width() ;
244 int h = sizeHint().height() ; 245 int h = sizeHint().height() ;
245 int dw = QApplication::desktop()->width(); 246 int dw = QApplication::desktop()->width();
246 int dh = QApplication::desktop()->height(); 247 int dh = QApplication::desktop()->height();
247 setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 248 setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
248 show(); 249 show();
249 raise(); 250 raise();
250 //qApp->processEvents(); 251 //qApp->processEvents();
251 //repaint(); 252 //repaint();
252 qApp->processEvents(); 253 qApp->processEvents();
253 254
254#ifndef _WIN32_ 255#ifndef _WIN32_
255 if ( fd_led > 0 ) { 256 if ( fd_led > 0 ) {
256 statusLED.status = LED_SALARM_ON ; 257 statusLED.status = LED_SALARM_ON ;
257 ioctl (fd_led, SHARP_LED_SETSTATUS, &statusLED); 258 ioctl (fd_led, SHARP_LED_SETSTATUS, &statusLED);
258 } 259 }
259#endif 260#endif
260 playSoundTimer->start( 1000, true ); 261 playSoundTimer->start( 1000, true );
261 return true; 262 return true;
262 263
263} 264}
264 265
266void AlarmDialog::spinBoxChanged( int )
267{
268 mSilent = true;
269}
265 270
266void AlarmDialog::playSound () 271void AlarmDialog::playSound ()
267{ 272{
268 273
269 if (mStopAlarm ) 274 if (mStopAlarm )
270 return; 275 return;
271 if ( mSilent ) 276 if ( mSilent )
272 return; 277 return;
273 showNormal(); 278 showNormal();
274 setActiveWindow(); 279 setActiveWindow();
275 raise(); 280 raise();
276 mSuspendSpin->setFocus(); 281 mSuspendSpin->setFocus();
277 282
278 283
279 qApp->processEvents(); 284 qApp->processEvents();
280 if ( alarmCounter < maxAlarmReplay && ! mSilent) { 285 if ( alarmCounter < maxAlarmReplay && ! mSilent) {
281 ++alarmCounter; 286 ++alarmCounter;
282#ifdef DESKTOP_VERSION 287#ifdef DESKTOP_VERSION
283 mPlayWav = true; 288 mPlayWav = true;
284#endif 289#endif
285 if ( !mPlayWav || mFileName.length() < 2 ) { 290 if ( !mPlayWav || mFileName.length() < 2 ) {
286 291
287#ifdef DESKTOP_VERSION 292#ifdef DESKTOP_VERSION
288 qDebug("Sound play not possible - file not found"); 293 qDebug("Sound play not possible - file not found");
289#else 294#else
290 Sound::soundAlarm (); 295 Sound::soundAlarm ();
291#endif 296#endif
292 } else 297 } else
293 298
294 { 299 {
295#ifdef DESKTOP_VERSION 300#ifdef DESKTOP_VERSION
296#ifdef _WIN32_ 301#ifdef _WIN32_
297 QSound::play ( mFileName ); 302 QSound::play ( mFileName );
298#else 303#else
299 304
300 QString command = "playwave -r 22050 " + mFileName; 305 QString command = "playwave -r 22050 " + mFileName;
301 qDebug("KO: Playing file %s with 22kHz",mFileName.latin1() ); 306 qDebug("KO: Playing file %s with 22kHz",mFileName.latin1() );
302 int ret = system ( command.latin1() ); 307 int ret = system ( command.latin1() );
303 if ( ret != 0 ) { 308 if ( ret != 0 ) {
304 qDebug("Sound play command failed: %s ",command.latin1() ); 309 qDebug("Sound play command failed: %s ",command.latin1() );
305 } 310 }
306 311
307#endif 312#endif
308 313
309#else 314#else
310 QSound::play ( mFileName ); 315 QSound::play ( mFileName );
311#endif 316#endif
312 qDebug("BEEP!"); 317 qDebug("BEEP!");
diff --git a/kalarmd/alarmdialog.h b/kalarmd/alarmdialog.h
index 896cf60..1e4636c 100644
--- a/kalarmd/alarmdialog.h
+++ b/kalarmd/alarmdialog.h
@@ -5,80 +5,81 @@
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
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> 31#include <qcombobox.h>
32#include <qpushbutton.h> 32#include <qpushbutton.h>
33 33
34#include "sharp_char.h" 34#include "sharp_char.h"
35 35
36 36
37class QSpinBox; 37class QSpinBox;
38class QLabel; 38class QLabel;
39class QString; 39class QString;
40 40
41class AlarmDialog : public QDialog { 41class AlarmDialog : public QDialog {
42 Q_OBJECT 42 Q_OBJECT
43 public: 43 public:
44 AlarmDialog( QWidget *parent = 0, const char *name = 0 ); 44 AlarmDialog( QWidget *parent = 0, const char *name = 0 );
45 virtual ~AlarmDialog(); 45 virtual ~AlarmDialog();
46 46
47 bool eventNotification(QString m, int replay , QString m2 , bool, int, int ); 47 bool eventNotification(QString m, int replay , QString m2 , bool, int, int );
48 int getSuspendTime( ); 48 int getSuspendTime( );
49 void setSuspendTime( int ); 49 void setSuspendTime( int );
50 void setServerNotification( bool b ); 50 void setServerNotification( bool b );
51 51
52 public slots: 52 public slots:
53 void spinBoxChanged( int );
53 void slotOk(); 54 void slotOk();
54 void slotSuspend(); 55 void slotSuspend();
55 void reject () ; 56 void reject () ;
56 void silent () ; 57 void silent () ;
57 void accept(); 58 void accept();
58 void suspend(); 59 void suspend();
59 void playSound (); 60 void playSound ();
60 signals: 61 signals:
61 // void suspendSignal(int duration); 62 // void suspendSignal(int duration);
62 void addAlarm(const QDateTime &, const QString & ); 63 void addAlarm(const QDateTime &, const QString & );
63 64
64 private: 65 private:
65 int alarmCounter; 66 int alarmCounter;
66 int mPauseCount; 67 int mPauseCount;
67 int mSuspendCounter; 68 int mSuspendCounter;
68 int maxAlarmReplay; 69 int maxAlarmReplay;
69 QTimer* playSoundTimer; 70 QTimer* playSoundTimer;
70 bool mStopAlarm; 71 bool mStopAlarm;
71 bool mSilent; 72 bool mSilent;
72 bool mPlayWav; 73 bool mPlayWav;
73 bool mServerNotification; 74 bool mServerNotification;
74 QLabel* mMessage; 75 QLabel* mMessage;
75 QLabel* mMissedAlarms; 76 QLabel* mMissedAlarms;
76 QSpinBox *mSuspendSpin; 77 QSpinBox *mSuspendSpin;
77 QComboBox *mMissedAlarmsCombo; 78 QComboBox *mMissedAlarmsCombo;
78 QPushButton* mSuspendButton; 79 QPushButton* mSuspendButton;
79 QString mFileName; 80 QString mFileName;
80 int fd_led; 81 int fd_led;
81 sharp_led_status statusLED; 82 sharp_led_status statusLED;
82}; 83};
83 84
84#endif 85#endif