author | zautrix <zautrix> | 2005-04-08 22:39:42 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-04-08 22:39:42 (UTC) |
commit | c4bab697d650c249cdff45b753b9e6df2a817877 (patch) (unidiff) | |
tree | 2726d1686d42e9d3e42aae780d766df94465281a | |
parent | 9667e6f2589d5b2080cca928814f382761f8dda6 (diff) | |
download | kdepimpi-c4bab697d650c249cdff45b753b9e6df2a817877.zip kdepimpi-c4bab697d650c249cdff45b753b9e6df2a817877.tar.gz kdepimpi-c4bab697d650c249cdff45b753b9e6df2a817877.tar.bz2 |
alarmdialog fix
-rw-r--r-- | kalarmd/alarmdialog.cpp | 5 | ||||
-rw-r--r-- | kalarmd/alarmdialog.h | 1 |
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 | |||
@@ -1,323 +1,328 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of the KDE alarm daemon. | 2 | This file is part of the KDE alarm daemon. |
3 | Copyright (c) 2000 Cornelius Schumacher <schumacher@kde.org> | 3 | Copyright (c) 2000 Cornelius Schumacher <schumacher@kde.org> |
4 | 4 | ||
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 | 23 | ||
24 | // $Id$ | 24 | // $Id$ |
25 | 25 | ||
26 | #include <qhbox.h> | 26 | #include <qhbox.h> |
27 | #include <qvbox.h> | 27 | #include <qvbox.h> |
28 | #include <qapp.h> | 28 | #include <qapp.h> |
29 | #include <qlabel.h> | 29 | #include <qlabel.h> |
30 | #include <qlayout.h> | 30 | #include <qlayout.h> |
31 | #include <qfile.h> | 31 | #include <qfile.h> |
32 | #include <qtimer.h> | 32 | #include <qtimer.h> |
33 | #include <qsound.h> | 33 | #include <qsound.h> |
34 | #include <qpushbutton.h> | 34 | #include <qpushbutton.h> |
35 | #include <qregexp.h> | 35 | #include <qregexp.h> |
36 | #ifndef DESKTOP_VERSION | 36 | #ifndef DESKTOP_VERSION |
37 | #define protected public | 37 | #define protected public |
38 | #include <qspinbox.h> | 38 | #include <qspinbox.h> |
39 | #undef protected | 39 | #undef protected |
40 | #else | 40 | #else |
41 | #include <qspinbox.h> | 41 | #include <qspinbox.h> |
42 | #endif | 42 | #endif |
43 | #include <stdlib.h> | 43 | #include <stdlib.h> |
44 | #ifndef _WIN32_ | 44 | #ifndef _WIN32_ |
45 | #include <unistd.h> | 45 | #include <unistd.h> |
46 | #include <sys/ioctl.h> | 46 | #include <sys/ioctl.h> |
47 | #endif | 47 | #endif |
48 | #include <stdio.h> | 48 | #include <stdio.h> |
49 | #include <fcntl.h> | 49 | #include <fcntl.h> |
50 | 50 | ||
51 | #ifndef DESKTOP_VERSION | 51 | #ifndef DESKTOP_VERSION |
52 | #include <qtopia/alarmserver.h> | 52 | #include <qtopia/alarmserver.h> |
53 | #include <qpe/resource.h> | 53 | #include <qpe/resource.h> |
54 | #include <qtopia/sound.h> | 54 | #include <qtopia/sound.h> |
55 | 55 | ||
56 | #endif | 56 | #endif |
57 | 57 | ||
58 | #include "alarmdialog.h" | 58 | #include "alarmdialog.h" |
59 | 59 | ||
60 | 60 | ||
61 | AlarmDialog::AlarmDialog(QWidget *parent,const char *name) | 61 | AlarmDialog::AlarmDialog(QWidget *parent,const char *name) |
62 | : QDialog (parent, name, true, Qt::WStyle_Customize |Qt::WStyle_StaysOnTop | Qt::WStyle_DialogBorder) | 62 | : QDialog (parent, name, true, Qt::WStyle_Customize |Qt::WStyle_StaysOnTop | Qt::WStyle_DialogBorder) |
63 | { | 63 | { |
64 | setCaption( "KO/Pi Alarm!" ); | 64 | setCaption( "KO/Pi Alarm!" ); |
65 | QVBoxLayout* layout = new QVBoxLayout( this); | 65 | QVBoxLayout* layout = new QVBoxLayout( this); |
66 | QLabel* l = new QLabel("The following event triggered alarm:",this); | 66 | QLabel* l = new QLabel("The following event triggered alarm:",this); |
67 | layout->addWidget ( l ); | 67 | layout->addWidget ( l ); |
68 | l->setAlignment( AlignCenter); | 68 | l->setAlignment( AlignCenter); |
69 | mMessage = new QLabel ( " ", this ); | 69 | mMessage = new QLabel ( " ", this ); |
70 | int fs = 18; | 70 | int fs = 18; |
71 | int fs2 = 12; | 71 | int fs2 = 12; |
72 | int baseSize = 6; | 72 | int baseSize = 6; |
73 | if ( QApplication::desktop()->width() < 480 ) { | 73 | if ( QApplication::desktop()->width() < 480 ) { |
74 | fs2 = 10; | 74 | fs2 = 10; |
75 | fs = 12; | 75 | fs = 12; |
76 | baseSize = 4; | 76 | baseSize = 4; |
77 | } | 77 | } |
78 | layout->setSpacing( 3 ); | 78 | layout->setSpacing( 3 ); |
79 | layout->setMargin( 3 ); | 79 | layout->setMargin( 3 ); |
80 | QFont fo = QApplication::font(); | 80 | QFont fo = QApplication::font(); |
81 | fo.setBold( true ); | 81 | fo.setBold( true ); |
82 | fo.setPointSize( fs2 ); | 82 | fo.setPointSize( fs2 ); |
83 | l->setFont( fo ); | 83 | l->setFont( fo ); |
84 | fo.setPointSize( fs ); | 84 | fo.setPointSize( fs ); |
85 | mMessage->setFont(fo ); | 85 | mMessage->setFont(fo ); |
86 | mMessage->setAlignment( AlignCenter); | 86 | mMessage->setAlignment( AlignCenter); |
87 | layout->addWidget ( mMessage ); | 87 | layout->addWidget ( mMessage ); |
88 | mMissedAlarms= new QLabel ( "(No missed Alarms)", this ); | 88 | mMissedAlarms= new QLabel ( "(No missed Alarms)", this ); |
89 | mMissedAlarms->setAlignment( AlignCenter); | 89 | mMissedAlarms->setAlignment( AlignCenter); |
90 | 90 | ||
91 | playSoundTimer = new QTimer( this ); | 91 | playSoundTimer = new QTimer( this ); |
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 | } |
151 | void AlarmDialog::reject () | 152 | void AlarmDialog::reject () |
152 | { | 153 | { |
153 | QTimer::singleShot ( 3000, this, SLOT (suspend()) ); | 154 | QTimer::singleShot ( 3000, this, SLOT (suspend()) ); |
154 | slotSuspend(); | 155 | slotSuspend(); |
155 | } | 156 | } |
156 | AlarmDialog::~AlarmDialog() | 157 | AlarmDialog::~AlarmDialog() |
157 | { | 158 | { |
158 | } | 159 | } |
159 | void AlarmDialog::silent () | 160 | void AlarmDialog::silent () |
160 | { | 161 | { |
161 | mSilent = true; | 162 | mSilent = true; |
162 | } | 163 | } |
163 | void AlarmDialog::accept() | 164 | void AlarmDialog::accept() |
164 | { | 165 | { |
165 | slotOk(); | 166 | slotOk(); |
166 | } | 167 | } |
167 | 168 | ||
168 | void AlarmDialog::suspend() | 169 | void 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 | } |
176 | void AlarmDialog::slotOk() | 177 | void 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 |
188 | QDialog::accept(); | 189 | QDialog::accept(); |
189 | } | 190 | } |
190 | 191 | ||
191 | void AlarmDialog::slotSuspend() | 192 | void AlarmDialog::slotSuspend() |
192 | { | 193 | { |
193 | //qDebug("AlarmDialog::suspend() "); // emit suspendSignal(mSuspendSpin->value()); | 194 | //qDebug("AlarmDialog::suspend() "); // emit suspendSignal(mSuspendSpin->value()); |
194 | mStopAlarm = true; | 195 | mStopAlarm = true; |
195 | QDateTime nextA = QDateTime::currentDateTime().addSecs( mSuspendSpin->value() * 60 ); | 196 | QDateTime nextA = QDateTime::currentDateTime().addSecs( mSuspendSpin->value() * 60 ); |
196 | QString mess = "suspend_alarm" +mFileName+"+++" ; | 197 | QString mess = "suspend_alarm" +mFileName+"+++" ; |
197 | if ( mMessage->text().left( 10 ) !="Suspended:" ) | 198 | if ( mMessage->text().left( 10 ) !="Suspended:" ) |
198 | mess += "Suspended:\n"; | 199 | mess += "Suspended:\n"; |
199 | mess +=mMessage->text(); | 200 | mess +=mMessage->text(); |
200 | #ifndef DESKTOP_VERSION | 201 | #ifndef DESKTOP_VERSION |
201 | if ( mServerNotification ) | 202 | if ( mServerNotification ) |
202 | AlarmServer::addAlarm ( nextA,"koalarm",mess.latin1()); | 203 | AlarmServer::addAlarm ( nextA,"koalarm",mess.latin1()); |
203 | #endif | 204 | #endif |
204 | emit addAlarm( nextA , mess ); | 205 | emit addAlarm( nextA , mess ); |
205 | slotOk(); | 206 | slotOk(); |
206 | } | 207 | } |
207 | 208 | ||
208 | void AlarmDialog::setServerNotification( bool b ) | 209 | void AlarmDialog::setServerNotification( bool b ) |
209 | { | 210 | { |
210 | mServerNotification = b; | 211 | mServerNotification = b; |
211 | } | 212 | } |
212 | int AlarmDialog::getSuspendTime( ) | 213 | int AlarmDialog::getSuspendTime( ) |
213 | { | 214 | { |
214 | return mSuspendSpin->value(); | 215 | return mSuspendSpin->value(); |
215 | 216 | ||
216 | } | 217 | } |
217 | void AlarmDialog::setSuspendTime( int val ) | 218 | void AlarmDialog::setSuspendTime( int val ) |
218 | { | 219 | { |
219 | mSuspendSpin->setValue( val ); | 220 | mSuspendSpin->setValue( val ); |
220 | } | 221 | } |
221 | bool AlarmDialog::eventNotification( QString mess, int replay , QString fn, bool playwav, int pause , int suspendtimes) | 222 | bool 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 | ||
266 | void AlarmDialog::spinBoxChanged( int ) | ||
267 | { | ||
268 | mSilent = true; | ||
269 | } | ||
265 | 270 | ||
266 | void AlarmDialog::playSound () | 271 | void 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!"); |
313 | } | 318 | } |
314 | } else { | 319 | } else { |
315 | if ( ! mSilent && mSuspendCounter > 0 ) { | 320 | if ( ! mSilent && mSuspendCounter > 0 ) { |
316 | --mSuspendCounter; | 321 | --mSuspendCounter; |
317 | reject (); | 322 | reject (); |
318 | hide(); | 323 | hide(); |
319 | return; | 324 | return; |
320 | } | 325 | } |
321 | } | 326 | } |
322 | playSoundTimer->start( mPauseCount * 1000, true ); | 327 | playSoundTimer->start( mPauseCount * 1000, true ); |
323 | } | 328 | } |
diff --git a/kalarmd/alarmdialog.h b/kalarmd/alarmdialog.h index 896cf60..1e4636c 100644 --- a/kalarmd/alarmdialog.h +++ b/kalarmd/alarmdialog.h | |||
@@ -1,84 +1,85 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of the KDE alarm daemon. | 2 | This file is part of the KDE alarm daemon. |
3 | Copyright (c) 2000 Cornelius Schumacher <schumacher@kde.org> | 3 | Copyright (c) 2000 Cornelius Schumacher <schumacher@kde.org> |
4 | 4 | ||
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 | ||
37 | class QSpinBox; | 37 | class QSpinBox; |
38 | class QLabel; | 38 | class QLabel; |
39 | class QString; | 39 | class QString; |
40 | 40 | ||
41 | class AlarmDialog : public QDialog { | 41 | class 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 |