summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-09-17 21:37:24 (UTC)
committer zautrix <zautrix>2005-09-17 21:37:24 (UTC)
commite228113016abd6f75824633da9520c1ec1763f23 (patch) (unidiff)
treef574255c93d80de4461c6c2743d4ad0c80102144
parent2cde25d8061acd536bccd698722952ce8555f5db (diff)
downloadkdepimpi-e228113016abd6f75824633da9520c1ec1763f23.zip
kdepimpi-e228113016abd6f75824633da9520c1ec1763f23.tar.gz
kdepimpi-e228113016abd6f75824633da9520c1ec1763f23.tar.bz2
aa
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kalarmd/simplealarmdaemonimpl.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/kalarmd/simplealarmdaemonimpl.cpp b/kalarmd/simplealarmdaemonimpl.cpp
index eff96eb..2acfacf 100644
--- a/kalarmd/simplealarmdaemonimpl.cpp
+++ b/kalarmd/simplealarmdaemonimpl.cpp
@@ -7,129 +7,133 @@
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#include "simplealarmdaemonimpl.h" 24#include "simplealarmdaemonimpl.h"
25 25
26#include "alarmdialog.h" 26#include "alarmdialog.h"
27#include <qpopupmenu.h> 27#include <qpopupmenu.h>
28#include <qapp.h> 28#include <qapp.h>
29#include <qdir.h> 29#include <qdir.h>
30#include <qfile.h> 30#include <qfile.h>
31#include <qhbox.h> 31#include <qhbox.h>
32#include <qtimer.h> 32#include <qtimer.h>
33#include <qfile.h> 33#include <qfile.h>
34#include <qdatetime.h> 34#include <qdatetime.h>
35#include <qpushbutton.h> 35#include <qpushbutton.h>
36#include <qlayout.h> 36#include <qlayout.h>
37#include <qlineedit.h> 37#include <qlineedit.h>
38#include <qdialog.h> 38#include <qdialog.h>
39#define protected public 39#define protected public
40#include <qspinbox.h> 40#include <qspinbox.h>
41#undef protected 41#undef protected
42#include <qtextstream.h> 42#include <qtextstream.h>
43#include <qtopia/qcopenvelope_qws.h> 43#include <qtopia/qcopenvelope_qws.h>
44#include <qtopia/alarmserver.h> 44#include <qtopia/alarmserver.h>
45 45
46#include <stdlib.h> 46#include <stdlib.h>
47#include <stdio.h> 47#include <stdio.h>
48#include <unistd.h> 48#include <unistd.h>
49 49
50 50
51SimpleAlarmDaemonImpl::SimpleAlarmDaemonImpl( QWidget *parent ) 51SimpleAlarmDaemonImpl::SimpleAlarmDaemonImpl( QWidget *parent )
52 : QLabel( parent ) 52 : QLabel( parent )
53{ 53{
54 mAlarmDialog = new AlarmDialog( 0 ); 54 mAlarmDialog = new AlarmDialog( 0 );
55 mPopUp = new QPopupMenu( this ); 55 mPopUp = new QPopupMenu( this );
56 mPopUp->insertItem( "What's Next?", this, SLOT ( showWN() ) ); 56 mPopUp->insertItem( "What's Next?", this, SLOT ( showWN() ) );
57 mPopUp->insertItem( "Next Days!", this, SLOT ( showKO() ) ); 57 mPopUp->insertItem( "Next Days!", this, SLOT ( showKO() ) );
58 mPopUp->insertSeparator(); 58 mPopUp->insertSeparator();
59 mPopUp->insertItem( "Todo List", this, SLOT ( showTodo() ) ); 59 mPopUp->insertItem( "Todo List", this, SLOT ( showTodo() ) );
60 mPopUp->insertSeparator(); 60 mPopUp->insertSeparator();
61 mPopUp->insertItem( "Addresses", this, SLOT ( showAdd() ) ); 61 mPopUp->insertItem( "Addresses", this, SLOT ( showAdd() ) );
62 mPopUp->insertSeparator(); 62 mPopUp->insertSeparator();
63 mPopUp->insertItem( "Edit Journal", this, SLOT ( writeJournal() ) ); 63 mPopUp->insertItem( "Edit Journal", this, SLOT ( writeJournal() ) );
64 mPopUp->insertItem( "New Event", this, SLOT ( newEvent() ) ); 64 mPopUp->insertItem( "New Event", this, SLOT ( newEvent() ) );
65 mPopUp->insertItem( "New Todo", this, SLOT ( newTodo() ) ); 65 mPopUp->insertItem( "New Todo", this, SLOT ( newTodo() ) );
66 mPopUp->insertItem( "New Mail", this, SLOT ( newMail() ) ); 66 mPopUp->insertItem( "New Mail", this, SLOT ( newMail() ) );
67 mPopUp->insertSeparator(); 67 mPopUp->insertSeparator();
68 mPopUp->insertItem( "Multi Sync", this, SLOT ( ringSync() ) ); 68 mPopUp->insertItem( "Multi Sync", this, SLOT ( ringSync() ) );
69 mTimerPopUp = new QPopupMenu( this ); 69 mTimerPopUp = new QPopupMenu( this );
70 QFont fon = mTimerPopUp->font(); 70 QFont fon = mTimerPopUp->font();
71 fon.setPointSize( fon.pointSize() *3/2 ); 71 int points = 16;
72 if ( QApplication::desktop()->width() < 480 )
73 points = 12;
74 fon.setPointSize( points );
75 //qDebug("point s %d ", fon.pointSize());
72 mTimerPopUp->setFont( fon ); 76 mTimerPopUp->setFont( fon );
73 mPopUp->setFont( fon ); 77 mPopUp->setFont( fon );
74 mBeepPopUp = new QPopupMenu( this ); 78 mBeepPopUp = new QPopupMenu( this );
75 mSoundPopUp = new QPopupMenu( this ); 79 mSoundPopUp = new QPopupMenu( this );
76 mPausePopUp = new QPopupMenu( this ); 80 mPausePopUp = new QPopupMenu( this );
77 QPopupMenu* savePopUp = new QPopupMenu( this ); 81 QPopupMenu* savePopUp = new QPopupMenu( this );
78 savePopUp->insertItem( "Save", 0 ); 82 savePopUp->insertItem( "Save", 0 );
79 savePopUp->insertItem( "Load", 1 ); 83 savePopUp->insertItem( "Load", 1 );
80 mSoundPopUp->insertItem( "Buzzer", 0 ); 84 mSoundPopUp->insertItem( "Buzzer", 0 );
81 mSoundPopUp->insertItem( "Wav file", 1 ); 85 mSoundPopUp->insertItem( "Wav file", 1 );
82 mPausePopUp->insertItem( " 1 sec", 1 ); 86 mPausePopUp->insertItem( " 1 sec", 1 );
83 mPausePopUp->insertItem( " 2 sec", 2 ); 87 mPausePopUp->insertItem( " 2 sec", 2 );
84 mPausePopUp->insertItem( " 3 sec", 3 ); 88 mPausePopUp->insertItem( " 3 sec", 3 );
85 mPausePopUp->insertItem( " 5 sec", 5 ); 89 mPausePopUp->insertItem( " 5 sec", 5 );
86 mPausePopUp->insertItem( "10 sec", 10 ); 90 mPausePopUp->insertItem( "10 sec", 10 );
87 mPausePopUp->insertItem( "30 sec", 30 ); 91 mPausePopUp->insertItem( "30 sec", 30 );
88 mPausePopUp->insertItem( " 1 min", 60 ); 92 mPausePopUp->insertItem( " 1 min", 60 );
89 mPausePopUp->insertItem( " 5 min", 300 ); 93 mPausePopUp->insertItem( " 5 min", 300 );
90 mPausePopUp->insertItem( "10 min", 600 ); 94 mPausePopUp->insertItem( "10 min", 600 );
91 mSuspendPopUp = new QPopupMenu( this ); 95 mSuspendPopUp = new QPopupMenu( this );
92 mSuspendPopUp->insertItem( "Off", 0 ); 96 mSuspendPopUp->insertItem( "Off", 0 );
93 mSuspendPopUp->insertItem( " 1x", 1 ); 97 mSuspendPopUp->insertItem( " 1x", 1 );
94 mSuspendPopUp->insertItem( " 2x", 2 ); 98 mSuspendPopUp->insertItem( " 2x", 2 );
95 mSuspendPopUp->insertItem( " 3x", 3 ); 99 mSuspendPopUp->insertItem( " 3x", 3 );
96 mSuspendPopUp->insertItem( " 5x", 5 ); 100 mSuspendPopUp->insertItem( " 5x", 5 );
97 mSuspendPopUp->insertItem( "10x", 10 ); 101 mSuspendPopUp->insertItem( "10x", 10 );
98 mSuspendPopUp->insertItem( "20x", 20 ); 102 mSuspendPopUp->insertItem( "20x", 20 );
99 mSuspendPopUp->insertItem( "30x", 30 ); 103 mSuspendPopUp->insertItem( "30x", 30 );
100 mBeepPopUp->insertItem( "Auto suspend",mSuspendPopUp ); 104 mBeepPopUp->insertItem( "Auto suspend",mSuspendPopUp );
101 mBeepPopUp->insertItem( "Beep interval",mPausePopUp ); 105 mBeepPopUp->insertItem( "Beep interval",mPausePopUp );
102 mBeepPopUp->insertItem( "Replay",mSoundPopUp ); 106 mBeepPopUp->insertItem( "Replay",mSoundPopUp );
103 mBeepPopUp->insertItem( "Config",savePopUp ); 107 mBeepPopUp->insertItem( "Config",savePopUp );
104 mBeepPopUp->insertItem( "300", 300 ); 108 mBeepPopUp->insertItem( "300", 300 );
105 mBeepPopUp->insertItem( "180", 180 ); 109 mBeepPopUp->insertItem( "180", 180 );
106 mBeepPopUp->insertItem( "60", 60 ); 110 mBeepPopUp->insertItem( "60", 60 );
107 mBeepPopUp->insertItem( "30", 30 ); 111 mBeepPopUp->insertItem( "30", 30 );
108 mBeepPopUp->insertItem( "10", 10 ); 112 mBeepPopUp->insertItem( "10", 10 );
109 mBeepPopUp->insertItem( "3", 3 ); 113 mBeepPopUp->insertItem( "3", 3 );
110 mBeepPopUp->insertItem( "1", 1 ); 114 mBeepPopUp->insertItem( "1", 1 );
111 mBeepPopUp->insertItem( "Off", 0 ); 115 mBeepPopUp->insertItem( "Off", 0 );
112 mBeepPopUp->insertSeparator(); 116 mBeepPopUp->insertSeparator();
113 mBeepPopUp->insertItem( "Simulate", 1000 ); 117 mBeepPopUp->insertItem( "Simulate", 1000 );
114 mBeepPopUp->setCheckable( true ); 118 mBeepPopUp->setCheckable( true );
115 mPopUp->insertSeparator(); 119 mPopUp->insertSeparator();
116 mPopUp->insertItem( "Play beeps", mBeepPopUp ); 120 mPopUp->insertItem( "Play beeps", mBeepPopUp );
117 mPopUp->insertSeparator(); 121 mPopUp->insertSeparator();
118 mPopUp->insertItem( "Timer", mTimerPopUp ); 122 mPopUp->insertItem( "Timer", mTimerPopUp );
119 //mPopUp->insertSeparator(); 123 //mPopUp->insertSeparator();
120 //mPopUp->insertItem( "Simulate", this, SLOT ( simulate() ) ); 124 //mPopUp->insertItem( "Simulate", this, SLOT ( simulate() ) );
121 125
122 mPopUp->resize( mPopUp->sizeHint() ); 126 mPopUp->resize( mPopUp->sizeHint() );
123 mPlayBeeps = 60; 127 mPlayBeeps = 60;
124 mBeepPopUp->setItemChecked ( mPlayBeeps, true ); 128 mBeepPopUp->setItemChecked ( mPlayBeeps, true );
125 connect ( mBeepPopUp, SIGNAL( activated ( int ) ), this, SLOT (slotPlayBeep( int ) ) ); 129 connect ( mBeepPopUp, SIGNAL( activated ( int ) ), this, SLOT (slotPlayBeep( int ) ) );
126 connect ( mTimerPopUp, SIGNAL( activated ( int ) ), this, SLOT (confTimer( int ) ) ); 130 connect ( mTimerPopUp, SIGNAL( activated ( int ) ), this, SLOT (confTimer( int ) ) );
127 connect ( mTimerPopUp, SIGNAL(aboutToShow() ), this, SLOT ( showTimer( ) ) ); 131 connect ( mTimerPopUp, SIGNAL(aboutToShow() ), this, SLOT ( showTimer( ) ) );
128 connect ( mSoundPopUp, SIGNAL( activated ( int ) ), this, SLOT (confSound( int ) ) ); 132 connect ( mSoundPopUp, SIGNAL( activated ( int ) ), this, SLOT (confSound( int ) ) );
129 connect ( mPausePopUp, SIGNAL( activated ( int ) ), this, SLOT (confPause( int ) ) ); 133 connect ( mPausePopUp, SIGNAL( activated ( int ) ), this, SLOT (confPause( int ) ) );
130 connect ( mSuspendPopUp, SIGNAL( activated ( int ) ), this, SLOT (confSuspend( int ) ) ); 134 connect ( mSuspendPopUp, SIGNAL( activated ( int ) ), this, SLOT (confSuspend( int ) ) );
131 connect ( savePopUp, SIGNAL( activated ( int ) ), this, SLOT (saveSlot( int ) ) ); 135 connect ( savePopUp, SIGNAL( activated ( int ) ), this, SLOT (saveSlot( int ) ) );
132 mTimerTime = 0; 136 mTimerTime = 0;
133 mCustomText = "Custom Text"; 137 mCustomText = "Custom Text";
134 mCustomMinutes = 7; 138 mCustomMinutes = 7;
135 mTimerPopupConf = 1; 139 mTimerPopupConf = 1;
@@ -251,162 +255,160 @@ void SimpleAlarmDaemonImpl::confSound( int num )
251 mSoundPopUp->setItemChecked ( 0, true ); 255 mSoundPopUp->setItemChecked ( 0, true );
252 mSoundPopUp->setItemChecked ( 1, false ); 256 mSoundPopUp->setItemChecked ( 1, false );
253 } else { 257 } else {
254 wavAlarm = true; 258 wavAlarm = true;
255 mSoundPopUp->setItemChecked ( 0, false ); 259 mSoundPopUp->setItemChecked ( 0, false );
256 mSoundPopUp->setItemChecked ( 1, true ); 260 mSoundPopUp->setItemChecked ( 1, true );
257 } 261 }
258} 262}
259void SimpleAlarmDaemonImpl::slotPlayBeep( int num ) 263void SimpleAlarmDaemonImpl::slotPlayBeep( int num )
260{ 264{
261 if ( num == 1000 ) { 265 if ( num == 1000 ) {
262 simulate(); 266 simulate();
263 return; 267 return;
264 } 268 }
265 mBeepPopUp->setItemChecked ( mPlayBeeps,false ); 269 mBeepPopUp->setItemChecked ( mPlayBeeps,false );
266 mPlayBeeps = num; 270 mPlayBeeps = num;
267 mBeepPopUp->setItemChecked ( mPlayBeeps, true ); 271 mBeepPopUp->setItemChecked ( mPlayBeeps, true );
268} 272}
269 273
270void SimpleAlarmDaemonImpl::recieve( const QCString& msg, const QByteArray& ) 274void SimpleAlarmDaemonImpl::recieve( const QCString& msg, const QByteArray& )
271{ 275{
272 //qDebug("SimpleAlarmDaemonImpl::ALARM RECEIVED! %s", msg.data()); 276 //qDebug("SimpleAlarmDaemonImpl::ALARM RECEIVED! %s", msg.data());
273 QString mess = QString::fromUtf8(msg.data()); 277 QString mess = QString::fromUtf8(msg.data());
274 mAlarmMessage = mess.mid( 9 ); 278 mAlarmMessage = mess.mid( 9 );
275 QString filename = getenv("QPEDIR") ; 279 QString filename = getenv("QPEDIR") ;
276 filename += "/pics/kdepim/korganizer/koalarm.wav"; 280 filename += "/pics/kdepim/korganizer/koalarm.wav";
277 QString tempfilename; 281 QString tempfilename;
278 if ( mess.left( 13 ) == "suspend_alarm") { 282 if ( mess.left( 13 ) == "suspend_alarm") {
279 bool error = false; 283 bool error = false;
280 int len = mess.mid( 13 ).find("+++"); 284 int len = mess.mid( 13 ).find("+++");
281 if ( len < 2 ) 285 if ( len < 2 )
282 error = true; 286 error = true;
283 else { 287 else {
284 tempfilename = mess.mid( 13, len ); 288 tempfilename = mess.mid( 13, len );
285 if ( !QFile::exists( tempfilename ) ) 289 if ( !QFile::exists( tempfilename ) )
286 error = true; 290 error = true;
287 } 291 }
288 if ( ! error ) { 292 if ( ! error ) {
289 filename = tempfilename; 293 filename = tempfilename;
290 } 294 }
291 mAlarmMessage = mess.mid( 13+len+3 ); 295 mAlarmMessage = mess.mid( 13+len+3 );
292 //qDebug("suspend file %s ",tempfilename.latin1() ); 296 //qDebug("suspend file %s ",tempfilename.latin1() );
293 startAlarm( mAlarmMessage, filename); 297 startAlarm( mAlarmMessage, filename);
294 return; 298 return;
295 } 299 }
296 if ( mess.left( 11 ) == "timer_alarm") { 300 if ( mess.left( 11 ) == "timer_alarm") {
297 mTimerTime = 0; 301 mTimerTime = 0;
298 startAlarm( mess.mid( 11 ), filename ); 302 startAlarm( mess.mid( 11 ), filename );
299 return; 303 return;
300 } 304 }
301 if ( mess.left( 10 ) == "proc_alarm") { 305 if ( mess.left( 10 ) == "proc_alarm") {
302 bool error = false; 306 bool error = false;
303 int len = mess.mid( 10 ).find("+++"); 307 int len = mess.mid( 10 ).find("+++");
304 if ( len < 2 ) 308 if ( len < 2 )
305 error = true; 309 error = true;
306 else { 310 else {
307 tempfilename = mess.mid( 10, len ); 311 tempfilename = mess.mid( 10, len );
308 if ( !QFile::exists( tempfilename ) ) 312 if ( !QFile::exists( tempfilename ) )
309 error = true; 313 error = true;
310 } 314 }
311 if ( error ) { 315 if ( error ) {
312 mAlarmMessage = "Procedure Alarm\nError - File not found\n"; 316 mAlarmMessage = "Procedure Alarm\nError - File not found\n";
313 mAlarmMessage += mess.mid( 10+len+3+9 ); 317 mAlarmMessage += mess.mid( 10+len+3+9 );
314 } else { 318 } else {
315 {
316 QCopEnvelope e("QPE/Application/kopi", "-writeFileSilent");
317 }
318 //qDebug("-----system command %s ",tempfilename.latin1() ); 319 //qDebug("-----system command %s ",tempfilename.latin1() );
319 if ( vfork () == 0 ) { 320 if ( vfork () == 0 ) {
320 execl ( tempfilename.latin1(), 0 ); 321 execl ( tempfilename.latin1(), 0 );
321 return; 322 return;
322 } 323 }
324 QTimer::singleShot( 10000, this, SLOT ( writeFile() ) );
323 return; 325 return;
324 } 326 }
325 327
326 //qDebug("+++++++system command %s ",tempfilename.latin1() ); 328 //qDebug("+++++++system command %s ",tempfilename.latin1() );
327 } 329 }
328 if ( mess.left( 11 ) == "audio_alarm") { 330 if ( mess.left( 11 ) == "audio_alarm") {
329 bool error = false; 331 bool error = false;
330 int len = mess.mid( 11 ).find("+++"); 332 int len = mess.mid( 11 ).find("+++");
331 if ( len < 2 ) 333 if ( len < 2 )
332 error = true; 334 error = true;
333 else { 335 else {
334 tempfilename = mess.mid( 11, len ); 336 tempfilename = mess.mid( 11, len );
335 if ( !QFile::exists( tempfilename ) ) 337 if ( !QFile::exists( tempfilename ) )
336 error = true; 338 error = true;
337 } 339 }
338 if ( ! error ) { 340 if ( ! error ) {
339 filename = tempfilename; 341 filename = tempfilename;
340 } 342 }
341 mAlarmMessage = mess.mid( 11+len+3+9 ); 343 mAlarmMessage = mess.mid( 11+len+3+9 );
342 //qDebug("audio file command %s ",tempfilename.latin1() ); 344 //qDebug("audio file command %s ",tempfilename.latin1() );
343 } 345 }
344 if ( mess.left( 9 ) == "cal_alarm") { 346 if ( mess.left( 9 ) == "cal_alarm") {
345 mAlarmMessage = mess.mid( 9 ) ; 347 mAlarmMessage = mess.mid( 9 ) ;
346 } 348 }
347 349
348 writeFile(); 350 QTimer::singleShot( 10000, this, SLOT ( writeFile() ) );
349 startAlarm( mAlarmMessage, filename ); 351 startAlarm( mAlarmMessage, filename );
350 352
351} 353}
352 354
353int SimpleAlarmDaemonImpl::getFileNameLen( QString mess ) 355int SimpleAlarmDaemonImpl::getFileNameLen( QString mess )
354{ 356{
355 return 0; 357 return 0;
356} 358}
357void SimpleAlarmDaemonImpl::startAlarm( QString mess, QString filename ) 359void SimpleAlarmDaemonImpl::startAlarm( QString mess, QString filename )
358{ 360{
359 //mAlarmDialog->show(); 361 //mAlarmDialog->show();
360 //mAlarmDialog->raise(); 362 //mAlarmDialog->raise();
361 mAlarmDialog->eventNotification( mess, mPlayBeeps, filename, wavAlarm,mPausePlay ,mSuspend ); 363 mAlarmDialog->eventNotification( mess, mPlayBeeps, filename, wavAlarm,mPausePlay ,mSuspend );
362} 364}
363 365
364 366
365void SimpleAlarmDaemonImpl::fillTimerPopUp() 367void SimpleAlarmDaemonImpl::fillTimerPopUp()
366{ 368{
367 369
368 // qDebug(" timer %d %d ",mTimerPopupConf, mTimerTime ); 370 // qDebug(" timer %d %d ",mTimerPopupConf, mTimerTime );
369 if ( mTimerPopupConf == mTimerTime ) { 371 if ( mTimerPopupConf == mTimerTime ) {
370 if ( mTimerTime ) { 372 if ( mTimerTime ) {
371 int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer ); 373 int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer );
372 QTime t ( secs/3600, (secs/60)%60, secs%60 ); 374 QTime t ( secs/3600, (secs/60)%60, secs%60 );
373 mTimerPopUp->changeItem ( 1 , t.toString() + " (countdown)"); 375 mTimerPopUp->changeItem ( 1 , t.toString() + " (countdown)");
374 } 376 }
375 else { 377 else {
376 QString text = mCustomText.stripWhiteSpace (); 378 QString text = mCustomText.stripWhiteSpace ();
377 int in = text.find( " " ); 379 int in = text.find( " " );
378 text = text.left ( in ); 380 text = text.left ( in );
379 mTimerPopUp->changeItem ( 3, text ); 381 mTimerPopUp->changeItem ( 3, text );
380 } 382 }
381 return; 383 return;
382 } 384 }
383 mTimerPopupConf = mTimerTime; 385 mTimerPopupConf = mTimerTime;
384 mTimerPopUp->clear(); 386 mTimerPopUp->clear();
385 if ( mTimerTime ) { 387 if ( mTimerTime ) {
386 int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer ); 388 int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer );
387 QTime t ( secs/3600, (secs/60)%60, secs%60 ); 389 QTime t ( secs/3600, (secs/60)%60, secs%60 );
388 390
389 391
390 mTimerPopUp->insertItem( "Stop timer "+ mRunningTimerText , 0 ); 392 mTimerPopUp->insertItem( "Stop timer "+ mRunningTimerText , 0 );
391 mTimerPopUp->insertItem( t.toString() + " (countdown)",1); 393 mTimerPopUp->insertItem( t.toString() + " (countdown)",1);
392 mTimerPopUp->insertItem( mRunningTimer.time().toString() + " (alarm)",2); 394 mTimerPopUp->insertItem( mRunningTimer.time().toString() + " (alarm)",2);
393 } else { 395 } else {
394 396
395 QString fileName = QDir::homeDirPath() +"/.kopialarmtimerrc"; 397 QString fileName = QDir::homeDirPath() +"/.kopialarmtimerrc";
396 QFile file( fileName ); 398 QFile file( fileName );
397 if( !QFile::exists( fileName) ) { 399 if( !QFile::exists( fileName) ) {
398 // write defaults 400 // write defaults
399 if (!file.open( IO_WriteOnly ) ) { 401 if (!file.open( IO_WriteOnly ) ) {
400 return; 402 return;
401 } 403 }
402 QString configString ; 404 QString configString ;
403 configString += "#config file for kopi alarm timer\n"; 405 configString += "#config file for kopi alarm timer\n";
404 configString += "#format: <Text for popup menu>;<timer countdown in minutes>\n"; 406 configString += "#format: <Text for popup menu>;<timer countdown in minutes>\n";
405 configString += "24 hours; 1440\n"; 407 configString += "24 hours; 1440\n";
406 configString += "8 hours; 480\n"; 408 configString += "8 hours; 480\n";
407 configString += "5 hours; 300\n"; 409 configString += "5 hours; 300\n";
408 configString += "1 hour; 60\n"; 410 configString += "1 hour; 60\n";
409 configString += "30 min; 30\n"; 411 configString += "30 min; 30\n";
410 configString += "15 min; 15\n"; 412 configString += "15 min; 15\n";
411 configString += "SEPARATOR\n"; 413 configString += "SEPARATOR\n";
412 configString += "Pizza; 22\n"; 414 configString += "Pizza; 22\n";
@@ -587,94 +589,94 @@ void SimpleAlarmDaemonImpl::confTimer( int time )
587 mCustomText = lEdit.text(); 589 mCustomText = lEdit.text();
588 mCustomMinutes = spinh.value()*60+spinm.value(); 590 mCustomMinutes = spinh.value()*60+spinm.value();
589 if ( mCustomMinutes == 0 ) 591 if ( mCustomMinutes == 0 )
590 mCustomMinutes = 1; 592 mCustomMinutes = 1;
591 if ( mCustomMinutes > 1440 ) 593 if ( mCustomMinutes > 1440 )
592 mCustomMinutes = 1440; 594 mCustomMinutes = 1440;
593 mess += mCustomText; 595 mess += mCustomText;
594 minutes = mCustomMinutes; 596 minutes = mCustomMinutes;
595 mRunningTimerText = mCustomText.stripWhiteSpace (); 597 mRunningTimerText = mCustomText.stripWhiteSpace ();
596 int in = mRunningTimerText.find( " " ); 598 int in = mRunningTimerText.find( " " );
597 mRunningTimerText = mRunningTimerText.left ( in ); 599 mRunningTimerText = mRunningTimerText.left ( in );
598 } 600 }
599 else { 601 else {
600 mess += mTimerPopUp->text( minutes ); 602 mess += mTimerPopUp->text( minutes );
601 mRunningTimerText = mTimerPopUp->text( minutes ); 603 mRunningTimerText = mTimerPopUp->text( minutes );
602 minutes -= 10; 604 minutes -= 10;
603 } 605 }
604 } 606 }
605 //minutes = 1; 607 //minutes = 1;
606 608
607 mRunningTimer = QDateTime::currentDateTime().addSecs( minutes * 60 ); 609 mRunningTimer = QDateTime::currentDateTime().addSecs( minutes * 60 );
608 timerMesssage = mess; 610 timerMesssage = mess;
609 AlarmServer::addAlarm ( mRunningTimer,"koalarm",timerMesssage.utf8()); 611 AlarmServer::addAlarm ( mRunningTimer,"koalarm",timerMesssage.utf8());
610 mTimerTime = 1; 612 mTimerTime = 1;
611} 613}
612 614
613void SimpleAlarmDaemonImpl::writeFile() 615void SimpleAlarmDaemonImpl::writeFile()
614{ 616{
615 QCopEnvelope e("QPE/Application/kopi", "-writeFileSilent"); 617 QCopEnvelope e("QPE/Application/kopi", "-writeFileSilent");
616 //QCopEnvelope e("QPE/Application/kopi", "-writeFile"); 618 //QCopEnvelope e("QPE/Application/kopi", "-writeFile");
617} 619}
618void SimpleAlarmDaemonImpl::showWN() 620void SimpleAlarmDaemonImpl::showWN()
619{ 621{
620 QCopEnvelope e("QPE/Application/kopi", "-showWN"); 622 QCopEnvelope e("QPE/Application/kopi", "-showWN");
621} 623}
622void SimpleAlarmDaemonImpl::newTodo() 624void SimpleAlarmDaemonImpl::newTodo()
623{ 625{
624 QCopEnvelope e("QPE/Application/kopi", "-newTodo"); 626 QCopEnvelope e("QPE/Application/kopi", "-newTodo");
625} 627}
626 628
627void SimpleAlarmDaemonImpl::newEvent() 629void SimpleAlarmDaemonImpl::newEvent()
628{ 630{
629 QCopEnvelope e("QPE/Application/kopi", "-newEvent"); 631 QCopEnvelope e("QPE/Application/kopi", "-newEvent");
630 632
631} 633}
632void SimpleAlarmDaemonImpl::newMail() 634void SimpleAlarmDaemonImpl::newMail()
633{ 635{
634 QCopEnvelope e("QPE/Application/ompi", "newMail()"); 636 QCopEnvelope e("QPE/Application/ompi", "newMail()");
635} 637}
636void SimpleAlarmDaemonImpl::showAdd() 638void SimpleAlarmDaemonImpl::showAdd()
637{ 639{
638 QCopEnvelope e("QPE/Application/kapi", "raise()"); 640 QCopEnvelope e("QPE/Application/kapi", "raise()");
639} 641}
640void SimpleAlarmDaemonImpl::ringSync() 642void SimpleAlarmDaemonImpl::ringSync()
641{ 643{
642 QCopEnvelope e("QPE/Application/kopi", "-ringSync"); 644 QCopEnvelope e("QPE/Application/kopi", "-ringSync");
643 645
644} 646}
645void SimpleAlarmDaemonImpl::newCountdown() 647void SimpleAlarmDaemonImpl::newCountdown()
646{ 648{
647 //recieve("cal_alarm", 10 ); 649 //recieve("cal_alarm", 10 );
648} 650}
649void SimpleAlarmDaemonImpl::simulate() 651void SimpleAlarmDaemonImpl::simulate()
650{ 652{
651 writeFile(); 653 QTimer::singleShot( 10000, this, SLOT ( writeFile() ) );
652 QString filename = getenv("QPEDIR") ; 654 QString filename = getenv("QPEDIR") ;
653 filename += "/pics/kdepim/korganizer/koalarm.wav"; 655 filename += "/pics/kdepim/korganizer/koalarm.wav";
654 startAlarm("Alarm simulation", filename ); 656 startAlarm("Alarm simulation", filename );
655} 657}
656void SimpleAlarmDaemonImpl::showKO() 658void SimpleAlarmDaemonImpl::showKO()
657{ 659{
658 QCopEnvelope e("QPE/Application/kopi", "-showKO"); 660 QCopEnvelope e("QPE/Application/kopi", "-showKO");
659 // testing only 661 // testing only
660 //QCopEnvelope e("QPE/Application/kopi", "nextView()"); 662 //QCopEnvelope e("QPE/Application/kopi", "nextView()");
661 663
662} 664}
663void SimpleAlarmDaemonImpl::showTodo() 665void SimpleAlarmDaemonImpl::showTodo()
664{ 666{
665 QCopEnvelope e("QPE/Application/kopi", "-showTodo"); 667 QCopEnvelope e("QPE/Application/kopi", "-showTodo");
666 668
667} 669}
668void SimpleAlarmDaemonImpl::writeJournal() 670void SimpleAlarmDaemonImpl::writeJournal()
669{ 671{
670 QCopEnvelope e("QPE/Application/kopi", "-showJournal"); 672 QCopEnvelope e("QPE/Application/kopi", "-showJournal");
671 673
672} 674}
673 675
674void SimpleAlarmDaemonImpl::mousePressEvent( QMouseEvent * ) 676void SimpleAlarmDaemonImpl::mousePressEvent( QMouseEvent * )
675{ 677{
676 678
677 mPopUp->popup(mapToGlobal(QPoint (0, -mPopUp->height() ))); 679 mPopUp->popup(mapToGlobal(QPoint (0, -mPopUp->height() )));
678 680
679} 681}
680 682