Diffstat (limited to 'kalarmd/simplealarmdaemonimpl.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | kalarmd/simplealarmdaemonimpl.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kalarmd/simplealarmdaemonimpl.cpp b/kalarmd/simplealarmdaemonimpl.cpp index 2a463b3..c747dfd 100644 --- a/kalarmd/simplealarmdaemonimpl.cpp +++ b/kalarmd/simplealarmdaemonimpl.cpp | |||
@@ -1,689 +1,690 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of the KOrganizer alarm daemon. | 2 | This file is part of the KOrganizer alarm daemon. |
3 | Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org> | 3 | Copyright (c) 2002 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 | #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 | ||
51 | SimpleAlarmDaemonImpl::SimpleAlarmDaemonImpl( QWidget *parent ) | 51 | SimpleAlarmDaemonImpl::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 | fon.setPointSize( fon.pointSize() *3/2 ); |
72 | mTimerPopUp->setFont( fon ); | 72 | mTimerPopUp->setFont( fon ); |
73 | mPopUp->setFont( fon ); | ||
73 | mBeepPopUp = new QPopupMenu( this ); | 74 | mBeepPopUp = new QPopupMenu( this ); |
74 | mSoundPopUp = new QPopupMenu( this ); | 75 | mSoundPopUp = new QPopupMenu( this ); |
75 | mPausePopUp = new QPopupMenu( this ); | 76 | mPausePopUp = new QPopupMenu( this ); |
76 | QPopupMenu* savePopUp = new QPopupMenu( this ); | 77 | QPopupMenu* savePopUp = new QPopupMenu( this ); |
77 | savePopUp->insertItem( "Save", 0 ); | 78 | savePopUp->insertItem( "Save", 0 ); |
78 | savePopUp->insertItem( "Load", 1 ); | 79 | savePopUp->insertItem( "Load", 1 ); |
79 | mSoundPopUp->insertItem( "Buzzer", 0 ); | 80 | mSoundPopUp->insertItem( "Buzzer", 0 ); |
80 | mSoundPopUp->insertItem( "Wav file", 1 ); | 81 | mSoundPopUp->insertItem( "Wav file", 1 ); |
81 | mPausePopUp->insertItem( " 1 sec", 1 ); | 82 | mPausePopUp->insertItem( " 1 sec", 1 ); |
82 | mPausePopUp->insertItem( " 2 sec", 2 ); | 83 | mPausePopUp->insertItem( " 2 sec", 2 ); |
83 | mPausePopUp->insertItem( " 3 sec", 3 ); | 84 | mPausePopUp->insertItem( " 3 sec", 3 ); |
84 | mPausePopUp->insertItem( " 5 sec", 5 ); | 85 | mPausePopUp->insertItem( " 5 sec", 5 ); |
85 | mPausePopUp->insertItem( "10 sec", 10 ); | 86 | mPausePopUp->insertItem( "10 sec", 10 ); |
86 | mPausePopUp->insertItem( "30 sec", 30 ); | 87 | mPausePopUp->insertItem( "30 sec", 30 ); |
87 | mPausePopUp->insertItem( " 1 min", 60 ); | 88 | mPausePopUp->insertItem( " 1 min", 60 ); |
88 | mPausePopUp->insertItem( " 5 min", 300 ); | 89 | mPausePopUp->insertItem( " 5 min", 300 ); |
89 | mPausePopUp->insertItem( "10 min", 600 ); | 90 | mPausePopUp->insertItem( "10 min", 600 ); |
90 | mSuspendPopUp = new QPopupMenu( this ); | 91 | mSuspendPopUp = new QPopupMenu( this ); |
91 | mSuspendPopUp->insertItem( "Off", 0 ); | 92 | mSuspendPopUp->insertItem( "Off", 0 ); |
92 | mSuspendPopUp->insertItem( " 1x", 1 ); | 93 | mSuspendPopUp->insertItem( " 1x", 1 ); |
93 | mSuspendPopUp->insertItem( " 2x", 2 ); | 94 | mSuspendPopUp->insertItem( " 2x", 2 ); |
94 | mSuspendPopUp->insertItem( " 3x", 3 ); | 95 | mSuspendPopUp->insertItem( " 3x", 3 ); |
95 | mSuspendPopUp->insertItem( " 5x", 5 ); | 96 | mSuspendPopUp->insertItem( " 5x", 5 ); |
96 | mSuspendPopUp->insertItem( "10x", 10 ); | 97 | mSuspendPopUp->insertItem( "10x", 10 ); |
97 | mSuspendPopUp->insertItem( "20x", 20 ); | 98 | mSuspendPopUp->insertItem( "20x", 20 ); |
98 | mSuspendPopUp->insertItem( "30x", 30 ); | 99 | mSuspendPopUp->insertItem( "30x", 30 ); |
99 | mBeepPopUp->insertItem( "Auto suspend",mSuspendPopUp ); | 100 | mBeepPopUp->insertItem( "Auto suspend",mSuspendPopUp ); |
100 | mBeepPopUp->insertItem( "Beep interval",mPausePopUp ); | 101 | mBeepPopUp->insertItem( "Beep interval",mPausePopUp ); |
101 | mBeepPopUp->insertItem( "Replay",mSoundPopUp ); | 102 | mBeepPopUp->insertItem( "Replay",mSoundPopUp ); |
102 | mBeepPopUp->insertItem( "Config",savePopUp ); | 103 | mBeepPopUp->insertItem( "Config",savePopUp ); |
103 | mBeepPopUp->insertItem( "300", 300 ); | 104 | mBeepPopUp->insertItem( "300", 300 ); |
104 | mBeepPopUp->insertItem( "180", 180 ); | 105 | mBeepPopUp->insertItem( "180", 180 ); |
105 | mBeepPopUp->insertItem( "60", 60 ); | 106 | mBeepPopUp->insertItem( "60", 60 ); |
106 | mBeepPopUp->insertItem( "30", 30 ); | 107 | mBeepPopUp->insertItem( "30", 30 ); |
107 | mBeepPopUp->insertItem( "10", 10 ); | 108 | mBeepPopUp->insertItem( "10", 10 ); |
108 | mBeepPopUp->insertItem( "3", 3 ); | 109 | mBeepPopUp->insertItem( "3", 3 ); |
109 | mBeepPopUp->insertItem( "1", 1 ); | 110 | mBeepPopUp->insertItem( "1", 1 ); |
110 | mBeepPopUp->insertItem( "Off", 0 ); | 111 | mBeepPopUp->insertItem( "Off", 0 ); |
111 | mBeepPopUp->setCheckable( true ); | 112 | mBeepPopUp->setCheckable( true ); |
112 | mPopUp->insertSeparator(); | 113 | mPopUp->insertSeparator(); |
113 | mPopUp->insertItem( "Play beeps", mBeepPopUp ); | 114 | mPopUp->insertItem( "Play beeps", mBeepPopUp ); |
114 | mPopUp->insertSeparator(); | 115 | mPopUp->insertSeparator(); |
115 | mPopUp->insertItem( "Timer", mTimerPopUp ); | 116 | mPopUp->insertItem( "Timer", mTimerPopUp ); |
116 | mPopUp->insertSeparator(); | 117 | mPopUp->insertSeparator(); |
117 | mPopUp->insertItem( "Simulate", this, SLOT ( simulate() ) ); | 118 | mPopUp->insertItem( "Simulate", this, SLOT ( simulate() ) ); |
118 | 119 | ||
119 | mPopUp->resize( mPopUp->sizeHint() ); | 120 | mPopUp->resize( mPopUp->sizeHint() ); |
120 | mPlayBeeps = 60; | 121 | mPlayBeeps = 60; |
121 | mBeepPopUp->setItemChecked ( mPlayBeeps, true ); | 122 | mBeepPopUp->setItemChecked ( mPlayBeeps, true ); |
122 | connect ( mBeepPopUp, SIGNAL( activated ( int ) ), this, SLOT (slotPlayBeep( int ) ) ); | 123 | connect ( mBeepPopUp, SIGNAL( activated ( int ) ), this, SLOT (slotPlayBeep( int ) ) ); |
123 | connect ( mTimerPopUp, SIGNAL( activated ( int ) ), this, SLOT (confTimer( int ) ) ); | 124 | connect ( mTimerPopUp, SIGNAL( activated ( int ) ), this, SLOT (confTimer( int ) ) ); |
124 | connect ( mTimerPopUp, SIGNAL(aboutToShow() ), this, SLOT ( showTimer( ) ) ); | 125 | connect ( mTimerPopUp, SIGNAL(aboutToShow() ), this, SLOT ( showTimer( ) ) ); |
125 | connect ( mSoundPopUp, SIGNAL( activated ( int ) ), this, SLOT (confSound( int ) ) ); | 126 | connect ( mSoundPopUp, SIGNAL( activated ( int ) ), this, SLOT (confSound( int ) ) ); |
126 | connect ( mPausePopUp, SIGNAL( activated ( int ) ), this, SLOT (confPause( int ) ) ); | 127 | connect ( mPausePopUp, SIGNAL( activated ( int ) ), this, SLOT (confPause( int ) ) ); |
127 | connect ( mSuspendPopUp, SIGNAL( activated ( int ) ), this, SLOT (confSuspend( int ) ) ); | 128 | connect ( mSuspendPopUp, SIGNAL( activated ( int ) ), this, SLOT (confSuspend( int ) ) ); |
128 | connect ( savePopUp, SIGNAL( activated ( int ) ), this, SLOT (saveSlot( int ) ) ); | 129 | connect ( savePopUp, SIGNAL( activated ( int ) ), this, SLOT (saveSlot( int ) ) ); |
129 | mTimerTime = 0; | 130 | mTimerTime = 0; |
130 | mCustomText = "Custom Text"; | 131 | mCustomText = "Custom Text"; |
131 | mCustomMinutes = 7; | 132 | mCustomMinutes = 7; |
132 | mTimerPopupConf = 1; | 133 | mTimerPopupConf = 1; |
133 | fillTimerPopUp(); | 134 | fillTimerPopUp(); |
134 | mPausePlay = 0; | 135 | mPausePlay = 0; |
135 | confPause( 1 ); | 136 | confPause( 1 ); |
136 | mSuspend = 0; | 137 | mSuspend = 0; |
137 | confSuspend( 0 ); | 138 | confSuspend( 0 ); |
138 | if ( QApplication::desktop()->width() < 480 ) { | 139 | if ( QApplication::desktop()->width() < 480 ) { |
139 | wavAlarm = false; | 140 | wavAlarm = false; |
140 | mSoundPopUp->setItemChecked ( 0, true ); | 141 | mSoundPopUp->setItemChecked ( 0, true ); |
141 | } | 142 | } |
142 | else { | 143 | else { |
143 | wavAlarm = true; | 144 | wavAlarm = true; |
144 | mSoundPopUp->setItemChecked ( 1, true ); | 145 | mSoundPopUp->setItemChecked ( 1, true ); |
145 | } | 146 | } |
146 | saveSlot( 1 ); | 147 | saveSlot( 1 ); |
147 | } | 148 | } |
148 | 149 | ||
149 | SimpleAlarmDaemonImpl::~SimpleAlarmDaemonImpl() | 150 | SimpleAlarmDaemonImpl::~SimpleAlarmDaemonImpl() |
150 | { | 151 | { |
151 | //delete mPopUp; | 152 | //delete mPopUp; |
152 | delete mAlarmDialog; | 153 | delete mAlarmDialog; |
153 | } | 154 | } |
154 | void SimpleAlarmDaemonImpl::saveSlot( int load ) | 155 | void SimpleAlarmDaemonImpl::saveSlot( int load ) |
155 | { | 156 | { |
156 | QString fileName = QDir::homeDirPath() +"/.kopialarmrc"; | 157 | QString fileName = QDir::homeDirPath() +"/.kopialarmrc"; |
157 | //qDebug("save %d ", load ); | 158 | //qDebug("save %d ", load ); |
158 | QFile file( fileName ); | 159 | QFile file( fileName ); |
159 | if ( load ) { | 160 | if ( load ) { |
160 | if( !QFile::exists( fileName) ) | 161 | if( !QFile::exists( fileName) ) |
161 | return; | 162 | return; |
162 | if (!file.open( IO_ReadOnly ) ) { | 163 | if (!file.open( IO_ReadOnly ) ) { |
163 | return ; | 164 | return ; |
164 | } | 165 | } |
165 | QString line; | 166 | QString line; |
166 | bool ok; | 167 | bool ok; |
167 | int val; | 168 | int val; |
168 | int len; | 169 | int len; |
169 | while ( file.readLine( line, 1024 ) > 0 ) { | 170 | while ( file.readLine( line, 1024 ) > 0 ) { |
170 | //qDebug("read %s ", line.latin1()); | 171 | //qDebug("read %s ", line.latin1()); |
171 | len = line.length(); | 172 | len = line.length(); |
172 | if ( line.left(4 ) == "PPAU" ) { | 173 | if ( line.left(4 ) == "PPAU" ) { |
173 | val = line.mid( 4,len-5).toInt( &ok ); | 174 | val = line.mid( 4,len-5).toInt( &ok ); |
174 | if ( ok ) { | 175 | if ( ok ) { |
175 | confPause( val ); | 176 | confPause( val ); |
176 | } | 177 | } |
177 | } | 178 | } |
178 | if ( line.left(4 ) == "SUCO" ) { | 179 | if ( line.left(4 ) == "SUCO" ) { |
179 | val = line.mid( 4,len-5).toInt( &ok ); | 180 | val = line.mid( 4,len-5).toInt( &ok ); |
180 | if ( ok ) | 181 | if ( ok ) |
181 | confSuspend ( val ); | 182 | confSuspend ( val ); |
182 | } | 183 | } |
183 | if ( line.left(4 ) == "WAAL" ) { | 184 | if ( line.left(4 ) == "WAAL" ) { |
184 | val = line.mid( 4,len-5).toInt( &ok ); | 185 | val = line.mid( 4,len-5).toInt( &ok ); |
185 | if ( ok ) | 186 | if ( ok ) |
186 | confSound( val ); | 187 | confSound( val ); |
187 | 188 | ||
188 | } | 189 | } |
189 | if ( line.left(4 ) == "PLBE" ) { | 190 | if ( line.left(4 ) == "PLBE" ) { |
190 | val = line.mid( 4,len-5).toInt( &ok ); | 191 | val = line.mid( 4,len-5).toInt( &ok ); |
191 | if ( ok ) | 192 | if ( ok ) |
192 | slotPlayBeep( val ); | 193 | slotPlayBeep( val ); |
193 | 194 | ||
194 | } | 195 | } |
195 | if ( line.left(4 ) == "CUTE" ) { | 196 | if ( line.left(4 ) == "CUTE" ) { |
196 | mCustomText = line.mid( 5,len-6); | 197 | mCustomText = line.mid( 5,len-6); |
197 | // qDebug("text ***%s*** ",mCustomText.latin1() ); | 198 | // qDebug("text ***%s*** ",mCustomText.latin1() ); |
198 | 199 | ||
199 | } | 200 | } |
200 | if ( line.left(4 ) == "CUMI" ) { | 201 | if ( line.left(4 ) == "CUMI" ) { |
201 | val = line.mid( 4,len-5).toInt( &ok ); | 202 | val = line.mid( 4,len-5).toInt( &ok ); |
202 | if ( ok ) | 203 | if ( ok ) |
203 | mCustomMinutes = val; | 204 | mCustomMinutes = val; |
204 | 205 | ||
205 | } | 206 | } |
206 | if ( line.left(4 ) == "SUTI" ) { | 207 | if ( line.left(4 ) == "SUTI" ) { |
207 | val = line.mid( 4,len-5).toInt( &ok ); | 208 | val = line.mid( 4,len-5).toInt( &ok ); |
208 | if ( ok ) | 209 | if ( ok ) |
209 | mAlarmDialog->setSuspendTime( val );; | 210 | mAlarmDialog->setSuspendTime( val );; |
210 | 211 | ||
211 | } | 212 | } |
212 | } | 213 | } |
213 | file.close(); | 214 | file.close(); |
214 | } else { | 215 | } else { |
215 | if (!file.open( IO_WriteOnly ) ) { | 216 | if (!file.open( IO_WriteOnly ) ) { |
216 | return; | 217 | return; |
217 | } | 218 | } |
218 | QString configString ; | 219 | QString configString ; |
219 | configString += "PPAU " + QString::number( mPausePlay ) + "\n"; | 220 | configString += "PPAU " + QString::number( mPausePlay ) + "\n"; |
220 | configString += "SUCO " + QString::number( mSuspend ) + "\n"; | 221 | configString += "SUCO " + QString::number( mSuspend ) + "\n"; |
221 | configString += "WAAL " + QString::number( wavAlarm ) + "\n"; | 222 | configString += "WAAL " + QString::number( wavAlarm ) + "\n"; |
222 | configString += "PLBE " + QString::number( mPlayBeeps ) + "\n"; | 223 | configString += "PLBE " + QString::number( mPlayBeeps ) + "\n"; |
223 | configString += "CUTE " + mCustomText + "\n"; | 224 | configString += "CUTE " + mCustomText + "\n"; |
224 | configString += "CUMI " + QString::number( mCustomMinutes ) + "\n"; | 225 | configString += "CUMI " + QString::number( mCustomMinutes ) + "\n"; |
225 | configString += "SUTI " + QString::number( mAlarmDialog->getSuspendTime( )) + "\n"; | 226 | configString += "SUTI " + QString::number( mAlarmDialog->getSuspendTime( )) + "\n"; |
226 | QTextStream ts( &file ); | 227 | QTextStream ts( &file ); |
227 | ts << configString ; | 228 | ts << configString ; |
228 | file.close(); | 229 | file.close(); |
229 | } | 230 | } |
230 | 231 | ||
231 | } | 232 | } |
232 | void SimpleAlarmDaemonImpl::confSuspend( int num ) | 233 | void SimpleAlarmDaemonImpl::confSuspend( int num ) |
233 | { | 234 | { |
234 | mSuspendPopUp->setItemChecked ( mSuspend,false ); | 235 | mSuspendPopUp->setItemChecked ( mSuspend,false ); |
235 | mSuspend = num; | 236 | mSuspend = num; |
236 | mSuspendPopUp->setItemChecked ( mSuspend,true ); | 237 | mSuspendPopUp->setItemChecked ( mSuspend,true ); |
237 | } | 238 | } |
238 | void SimpleAlarmDaemonImpl::confPause( int num ) | 239 | void SimpleAlarmDaemonImpl::confPause( int num ) |
239 | { | 240 | { |
240 | mPausePopUp->setItemChecked ( mPausePlay,false ); | 241 | mPausePopUp->setItemChecked ( mPausePlay,false ); |
241 | mPausePlay = num; | 242 | mPausePlay = num; |
242 | mPausePopUp->setItemChecked ( mPausePlay,true ); | 243 | mPausePopUp->setItemChecked ( mPausePlay,true ); |
243 | } | 244 | } |
244 | void SimpleAlarmDaemonImpl::confSound( int num ) | 245 | void SimpleAlarmDaemonImpl::confSound( int num ) |
245 | { | 246 | { |
246 | if ( num == 0 ) { | 247 | if ( num == 0 ) { |
247 | wavAlarm = false; | 248 | wavAlarm = false; |
248 | mSoundPopUp->setItemChecked ( 0, true ); | 249 | mSoundPopUp->setItemChecked ( 0, true ); |
249 | mSoundPopUp->setItemChecked ( 1, false ); | 250 | mSoundPopUp->setItemChecked ( 1, false ); |
250 | } else { | 251 | } else { |
251 | wavAlarm = true; | 252 | wavAlarm = true; |
252 | mSoundPopUp->setItemChecked ( 0, false ); | 253 | mSoundPopUp->setItemChecked ( 0, false ); |
253 | mSoundPopUp->setItemChecked ( 1, true ); | 254 | mSoundPopUp->setItemChecked ( 1, true ); |
254 | } | 255 | } |
255 | } | 256 | } |
256 | void SimpleAlarmDaemonImpl::slotPlayBeep( int num ) | 257 | void SimpleAlarmDaemonImpl::slotPlayBeep( int num ) |
257 | { | 258 | { |
258 | mBeepPopUp->setItemChecked ( mPlayBeeps,false ); | 259 | mBeepPopUp->setItemChecked ( mPlayBeeps,false ); |
259 | mPlayBeeps = num; | 260 | mPlayBeeps = num; |
260 | mBeepPopUp->setItemChecked ( mPlayBeeps, true ); | 261 | mBeepPopUp->setItemChecked ( mPlayBeeps, true ); |
261 | } | 262 | } |
262 | 263 | ||
263 | void SimpleAlarmDaemonImpl::recieve( const QCString& msg, const QByteArray& ) | 264 | void SimpleAlarmDaemonImpl::recieve( const QCString& msg, const QByteArray& ) |
264 | { | 265 | { |
265 | //qDebug("SimpleAlarmDaemonImpl::ALARM RECEIVED! %s", msg.data()); | 266 | //qDebug("SimpleAlarmDaemonImpl::ALARM RECEIVED! %s", msg.data()); |
266 | QString mess = msg; | 267 | QString mess = msg; |
267 | mAlarmMessage = mess.mid( 9 ); | 268 | mAlarmMessage = mess.mid( 9 ); |
268 | QString filename = getenv("QPEDIR") ; | 269 | QString filename = getenv("QPEDIR") ; |
269 | filename += "/pics/kdepim/korganizer/koalarm.wav"; | 270 | filename += "/pics/kdepim/korganizer/koalarm.wav"; |
270 | QString tempfilename; | 271 | QString tempfilename; |
271 | if ( mess.left( 13 ) == "suspend_alarm") { | 272 | if ( mess.left( 13 ) == "suspend_alarm") { |
272 | bool error = false; | 273 | bool error = false; |
273 | int len = mess.mid( 13 ).find("+++"); | 274 | int len = mess.mid( 13 ).find("+++"); |
274 | if ( len < 2 ) | 275 | if ( len < 2 ) |
275 | error = true; | 276 | error = true; |
276 | else { | 277 | else { |
277 | tempfilename = mess.mid( 13, len ); | 278 | tempfilename = mess.mid( 13, len ); |
278 | if ( !QFile::exists( tempfilename ) ) | 279 | if ( !QFile::exists( tempfilename ) ) |
279 | error = true; | 280 | error = true; |
280 | } | 281 | } |
281 | if ( ! error ) { | 282 | if ( ! error ) { |
282 | filename = tempfilename; | 283 | filename = tempfilename; |
283 | } | 284 | } |
284 | mAlarmMessage = mess.mid( 13+len+3 ); | 285 | mAlarmMessage = mess.mid( 13+len+3 ); |
285 | //qDebug("suspend file %s ",tempfilename.latin1() ); | 286 | //qDebug("suspend file %s ",tempfilename.latin1() ); |
286 | startAlarm( mAlarmMessage, filename); | 287 | startAlarm( mAlarmMessage, filename); |
287 | return; | 288 | return; |
288 | } | 289 | } |
289 | if ( mess.left( 11 ) == "timer_alarm") { | 290 | if ( mess.left( 11 ) == "timer_alarm") { |
290 | mTimerTime = 0; | 291 | mTimerTime = 0; |
291 | startAlarm( mess.mid( 11 ), filename ); | 292 | startAlarm( mess.mid( 11 ), filename ); |
292 | return; | 293 | return; |
293 | } | 294 | } |
294 | if ( mess.left( 10 ) == "proc_alarm") { | 295 | if ( mess.left( 10 ) == "proc_alarm") { |
295 | bool error = false; | 296 | bool error = false; |
296 | int len = mess.mid( 10 ).find("+++"); | 297 | int len = mess.mid( 10 ).find("+++"); |
297 | if ( len < 2 ) | 298 | if ( len < 2 ) |
298 | error = true; | 299 | error = true; |
299 | else { | 300 | else { |
300 | tempfilename = mess.mid( 10, len ); | 301 | tempfilename = mess.mid( 10, len ); |
301 | if ( !QFile::exists( tempfilename ) ) | 302 | if ( !QFile::exists( tempfilename ) ) |
302 | error = true; | 303 | error = true; |
303 | } | 304 | } |
304 | if ( error ) { | 305 | if ( error ) { |
305 | mAlarmMessage = "Procedure Alarm\nError - File not found\n"; | 306 | mAlarmMessage = "Procedure Alarm\nError - File not found\n"; |
306 | mAlarmMessage += mess.mid( 10+len+3+9 ); | 307 | mAlarmMessage += mess.mid( 10+len+3+9 ); |
307 | } else { | 308 | } else { |
308 | { | 309 | { |
309 | QCopEnvelope e("QPE/Application/kopi", "-writeFileSilent"); | 310 | QCopEnvelope e("QPE/Application/kopi", "-writeFileSilent"); |
310 | } | 311 | } |
311 | //qDebug("-----system command %s ",tempfilename.latin1() ); | 312 | //qDebug("-----system command %s ",tempfilename.latin1() ); |
312 | if ( vfork () == 0 ) { | 313 | if ( vfork () == 0 ) { |
313 | execl ( tempfilename.latin1(), 0 ); | 314 | execl ( tempfilename.latin1(), 0 ); |
314 | return; | 315 | return; |
315 | } | 316 | } |
316 | return; | 317 | return; |
317 | } | 318 | } |
318 | 319 | ||
319 | //qDebug("+++++++system command %s ",tempfilename.latin1() ); | 320 | //qDebug("+++++++system command %s ",tempfilename.latin1() ); |
320 | } | 321 | } |
321 | if ( mess.left( 11 ) == "audio_alarm") { | 322 | if ( mess.left( 11 ) == "audio_alarm") { |
322 | bool error = false; | 323 | bool error = false; |
323 | int len = mess.mid( 11 ).find("+++"); | 324 | int len = mess.mid( 11 ).find("+++"); |
324 | if ( len < 2 ) | 325 | if ( len < 2 ) |
325 | error = true; | 326 | error = true; |
326 | else { | 327 | else { |
327 | tempfilename = mess.mid( 11, len ); | 328 | tempfilename = mess.mid( 11, len ); |
328 | if ( !QFile::exists( tempfilename ) ) | 329 | if ( !QFile::exists( tempfilename ) ) |
329 | error = true; | 330 | error = true; |
330 | } | 331 | } |
331 | if ( ! error ) { | 332 | if ( ! error ) { |
332 | filename = tempfilename; | 333 | filename = tempfilename; |
333 | } | 334 | } |
334 | mAlarmMessage = mess.mid( 11+len+3+9 ); | 335 | mAlarmMessage = mess.mid( 11+len+3+9 ); |
335 | //qDebug("audio file command %s ",tempfilename.latin1() ); | 336 | //qDebug("audio file command %s ",tempfilename.latin1() ); |
336 | } | 337 | } |
337 | if ( mess.left( 9 ) == "cal_alarm") { | 338 | if ( mess.left( 9 ) == "cal_alarm") { |
338 | mAlarmMessage = mess.mid( 9 ) ; | 339 | mAlarmMessage = mess.mid( 9 ) ; |
339 | } | 340 | } |
340 | 341 | ||
341 | writeFile(); | 342 | writeFile(); |
342 | startAlarm( mAlarmMessage, filename ); | 343 | startAlarm( mAlarmMessage, filename ); |
343 | 344 | ||
344 | } | 345 | } |
345 | 346 | ||
346 | int SimpleAlarmDaemonImpl::getFileNameLen( QString mess ) | 347 | int SimpleAlarmDaemonImpl::getFileNameLen( QString mess ) |
347 | { | 348 | { |
348 | return 0; | 349 | return 0; |
349 | } | 350 | } |
350 | void SimpleAlarmDaemonImpl::startAlarm( QString mess, QString filename ) | 351 | void SimpleAlarmDaemonImpl::startAlarm( QString mess, QString filename ) |
351 | { | 352 | { |
352 | //mAlarmDialog->show(); | 353 | //mAlarmDialog->show(); |
353 | //mAlarmDialog->raise(); | 354 | //mAlarmDialog->raise(); |
354 | mAlarmDialog->eventNotification( mess, mPlayBeeps, filename, wavAlarm,mPausePlay ,mSuspend ); | 355 | mAlarmDialog->eventNotification( mess, mPlayBeeps, filename, wavAlarm,mPausePlay ,mSuspend ); |
355 | } | 356 | } |
356 | 357 | ||
357 | 358 | ||
358 | void SimpleAlarmDaemonImpl::fillTimerPopUp() | 359 | void SimpleAlarmDaemonImpl::fillTimerPopUp() |
359 | { | 360 | { |
360 | 361 | ||
361 | // qDebug(" timer %d %d ",mTimerPopupConf, mTimerTime ); | 362 | // qDebug(" timer %d %d ",mTimerPopupConf, mTimerTime ); |
362 | if ( mTimerPopupConf == mTimerTime ) { | 363 | if ( mTimerPopupConf == mTimerTime ) { |
363 | if ( mTimerTime ) { | 364 | if ( mTimerTime ) { |
364 | int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer ); | 365 | int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer ); |
365 | QTime t ( secs/3600, (secs/60)%60, secs%60 ); | 366 | QTime t ( secs/3600, (secs/60)%60, secs%60 ); |
366 | mTimerPopUp->changeItem ( 1 , t.toString() + " (countdown)"); | 367 | mTimerPopUp->changeItem ( 1 , t.toString() + " (countdown)"); |
367 | } | 368 | } |
368 | else { | 369 | else { |
369 | QString text = mCustomText.stripWhiteSpace (); | 370 | QString text = mCustomText.stripWhiteSpace (); |
370 | int in = text.find( " " ); | 371 | int in = text.find( " " ); |
371 | text = text.left ( in ); | 372 | text = text.left ( in ); |
372 | mTimerPopUp->changeItem ( 3, text ); | 373 | mTimerPopUp->changeItem ( 3, text ); |
373 | } | 374 | } |
374 | return; | 375 | return; |
375 | } | 376 | } |
376 | mTimerPopupConf = mTimerTime; | 377 | mTimerPopupConf = mTimerTime; |
377 | mTimerPopUp->clear(); | 378 | mTimerPopUp->clear(); |
378 | if ( mTimerTime ) { | 379 | if ( mTimerTime ) { |
379 | int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer ); | 380 | int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer ); |
380 | QTime t ( secs/3600, (secs/60)%60, secs%60 ); | 381 | QTime t ( secs/3600, (secs/60)%60, secs%60 ); |
381 | 382 | ||
382 | 383 | ||
383 | mTimerPopUp->insertItem( "Stop timer "+ mRunningTimerText , 0 ); | 384 | mTimerPopUp->insertItem( "Stop timer "+ mRunningTimerText , 0 ); |
384 | mTimerPopUp->insertItem( t.toString() + " (countdown)",1); | 385 | mTimerPopUp->insertItem( t.toString() + " (countdown)",1); |
385 | mTimerPopUp->insertItem( mRunningTimer.time().toString() + " (alarm)",2); | 386 | mTimerPopUp->insertItem( mRunningTimer.time().toString() + " (alarm)",2); |
386 | } else { | 387 | } else { |
387 | 388 | ||
388 | QString fileName = QDir::homeDirPath() +"/.kopialarmtimerrc"; | 389 | QString fileName = QDir::homeDirPath() +"/.kopialarmtimerrc"; |
389 | QFile file( fileName ); | 390 | QFile file( fileName ); |
390 | if( !QFile::exists( fileName) ) { | 391 | if( !QFile::exists( fileName) ) { |
391 | // write defaults | 392 | // write defaults |
392 | if (!file.open( IO_WriteOnly ) ) { | 393 | if (!file.open( IO_WriteOnly ) ) { |
393 | return; | 394 | return; |
394 | } | 395 | } |
395 | QString configString ; | 396 | QString configString ; |
396 | configString += "#config file for kopi alarm timer\n"; | 397 | configString += "#config file for kopi alarm timer\n"; |
397 | configString += "#format: <Text for popup menu>;<timer countdown in minutes>\n"; | 398 | configString += "#format: <Text for popup menu>;<timer countdown in minutes>\n"; |
398 | configString += "#NOTE: minimum value for timer are 3 minutes!\n"; | 399 | configString += "#NOTE: minimum value for timer are 3 minutes!\n"; |
399 | configString += "24 h; 1440\n"; | 400 | configString += "24 h; 1440\n"; |
400 | configString += " 8 h; 480\n"; | 401 | configString += " 8 h; 480\n"; |
401 | configString += " 5 h; 300\n"; | 402 | configString += " 5 h; 300\n"; |
402 | configString += " 1 h; 60\n"; | 403 | configString += " 1 h; 60\n"; |
403 | configString += "30 min; 30\n"; | 404 | configString += "30 min; 30\n"; |
404 | configString += "15 min; 15\n"; | 405 | configString += "15 min; 15\n"; |
405 | configString += "SEPARATOR\n"; | 406 | configString += "SEPARATOR\n"; |
406 | configString += "Pizza; 22\n"; | 407 | configString += "Pizza; 22\n"; |
407 | configString += "Nap; 45\n"; | 408 | configString += "Nap; 45\n"; |
408 | configString += "Tea; 5\n"; | 409 | configString += "Tea; 5\n"; |
409 | QTextStream ts( &file ); | 410 | QTextStream ts( &file ); |
410 | ts << configString ; | 411 | ts << configString ; |
411 | file.close(); | 412 | file.close(); |
412 | } | 413 | } |
413 | 414 | ||
414 | if (!file.open( IO_ReadOnly ) ) { | 415 | if (!file.open( IO_ReadOnly ) ) { |
415 | return ; | 416 | return ; |
416 | } | 417 | } |
417 | QString line; | 418 | QString line; |
418 | bool ok; | 419 | bool ok; |
419 | while ( file.readLine( line, 1024 ) > 0 ) { | 420 | while ( file.readLine( line, 1024 ) > 0 ) { |
420 | //qDebug("read %s ", line.latin1()); | 421 | //qDebug("read %s ", line.latin1()); |
421 | if ( line.left(1 ) != "#" ) { | 422 | if ( line.left(1 ) != "#" ) { |
422 | // no comment | 423 | // no comment |
423 | if ( line.left(9 ) == "SEPARATOR" ) { | 424 | if ( line.left(9 ) == "SEPARATOR" ) { |
424 | mTimerPopUp->insertSeparator(); | 425 | mTimerPopUp->insertSeparator(); |
425 | } else { | 426 | } else { |
426 | QStringList li = QStringList::split(";",line); | 427 | QStringList li = QStringList::split(";",line); |
427 | ok = false; | 428 | ok = false; |
428 | if ( li.count() == 2 ) { | 429 | if ( li.count() == 2 ) { |
429 | int val = li[1].toInt( &ok ); | 430 | int val = li[1].toInt( &ok ); |
430 | if ( ok && val > 2 ) { | 431 | if ( ok && val > 2 ) { |
431 | mTimerPopUp->insertItem( li[0], val); | 432 | mTimerPopUp->insertItem( li[0], val); |
432 | } | 433 | } |
433 | } | 434 | } |
434 | } | 435 | } |
435 | } | 436 | } |
436 | } | 437 | } |
437 | file.close(); | 438 | file.close(); |
438 | #if 0 | 439 | #if 0 |
439 | mTimerPopUp->insertItem( "24 h", 1440 ); | 440 | mTimerPopUp->insertItem( "24 h", 1440 ); |
440 | // mTimerPopUp->insertItem( i18n("12 h"), 720 ); | 441 | // mTimerPopUp->insertItem( i18n("12 h"), 720 ); |
441 | mTimerPopUp->insertItem( " 8 h", 480 ); | 442 | mTimerPopUp->insertItem( " 8 h", 480 ); |
442 | mTimerPopUp->insertItem( " 5 h", 300 ); | 443 | mTimerPopUp->insertItem( " 5 h", 300 ); |
443 | // mTimerPopUp->insertItem( i18n(" 2 h"), 120 ); | 444 | // mTimerPopUp->insertItem( i18n(" 2 h"), 120 ); |
444 | mTimerPopUp->insertItem( " 1 h", 60 ); | 445 | mTimerPopUp->insertItem( " 1 h", 60 ); |
445 | mTimerPopUp->insertItem( "30 min", 30 ); | 446 | mTimerPopUp->insertItem( "30 min", 30 ); |
446 | mTimerPopUp->insertItem( "15 min", 15 ); | 447 | mTimerPopUp->insertItem( "15 min", 15 ); |
447 | mTimerPopUp->insertItem( "10 min", 10 ); | 448 | mTimerPopUp->insertItem( "10 min", 10 ); |
448 | //mTimerPopUp->insertItem( " 5 min", 5 ); | 449 | //mTimerPopUp->insertItem( " 5 min", 5 ); |
449 | mTimerPopUp->insertSeparator(); | 450 | mTimerPopUp->insertSeparator(); |
450 | mTimerPopUp->insertItem( "Pizza", 22 ); | 451 | mTimerPopUp->insertItem( "Pizza", 22 ); |
451 | mTimerPopUp->insertItem( "Nap", 45 ); | 452 | mTimerPopUp->insertItem( "Nap", 45 ); |
452 | mTimerPopUp->insertItem( "Tea", 5 ); | 453 | mTimerPopUp->insertItem( "Tea", 5 ); |
453 | #endif | 454 | #endif |
454 | QString text = mCustomText.stripWhiteSpace (); | 455 | QString text = mCustomText.stripWhiteSpace (); |
455 | int in = text.find( " " ); | 456 | int in = text.find( " " ); |
456 | text = text.left ( in ); | 457 | text = text.left ( in ); |
457 | mTimerPopUp->insertItem( text, 3 ); | 458 | mTimerPopUp->insertItem( text, 3 ); |
458 | mTimerPopUp->insertSeparator(); | 459 | mTimerPopUp->insertSeparator(); |
459 | mTimerPopUp->insertItem( "Customize", 2 ); | 460 | mTimerPopUp->insertItem( "Customize", 2 ); |
460 | } | 461 | } |
461 | 462 | ||
462 | } | 463 | } |
463 | 464 | ||
464 | void SimpleAlarmDaemonImpl::showTimer() | 465 | void SimpleAlarmDaemonImpl::showTimer() |
465 | { | 466 | { |
466 | fillTimerPopUp(); | 467 | fillTimerPopUp(); |
467 | } | 468 | } |
468 | 469 | ||
469 | void SimpleAlarmDaemonImpl::confTimer( int time ) | 470 | void SimpleAlarmDaemonImpl::confTimer( int time ) |
470 | { | 471 | { |
471 | //qDebug("impleAlarmDaemonImpl::confTimer() %d ", time ); | 472 | //qDebug("impleAlarmDaemonImpl::confTimer() %d ", time ); |
472 | int minutes = time; | 473 | int minutes = time; |
473 | if ( minutes == 0 ) { | 474 | if ( minutes == 0 ) { |
474 | if ( ! mTimerTime ) | 475 | if ( ! mTimerTime ) |
475 | return; | 476 | return; |
476 | 477 | ||
477 | QDialog dia ( 0, ("Stop Timer" ), true ); | 478 | QDialog dia ( 0, ("Stop Timer" ), true ); |
478 | QLabel lab (("Really stop the timer?\n\n"+ mRunningTimerText+"\n"), &dia ); | 479 | QLabel lab (("Really stop the timer?\n\n"+ mRunningTimerText+"\n"), &dia ); |
479 | lab.setAlignment( AlignCenter ); | 480 | lab.setAlignment( AlignCenter ); |
480 | dia.setCaption(("KO/Pi Timer Stop" )); | 481 | dia.setCaption(("KO/Pi Timer Stop" )); |
481 | QVBoxLayout lay( &dia ); | 482 | QVBoxLayout lay( &dia ); |
482 | lay.addWidget( &lab); | 483 | lay.addWidget( &lab); |
483 | QPushButton ok ( "Stop timer!", &dia); | 484 | QPushButton ok ( "Stop timer!", &dia); |
484 | QFont fo = dia.font(); | 485 | QFont fo = dia.font(); |
485 | fo.setPointSize( 36 ); | 486 | fo.setPointSize( 36 ); |
486 | ok.setFont( fo ); | 487 | ok.setFont( fo ); |
487 | lay.addWidget( &ok); | 488 | lay.addWidget( &ok); |
488 | connect ( &ok, SIGNAL (clicked()), &dia, SLOT ( accept() ) ); | 489 | connect ( &ok, SIGNAL (clicked()), &dia, SLOT ( accept() ) ); |
489 | QPushButton con ( "Continue timer!", &dia); | 490 | QPushButton con ( "Continue timer!", &dia); |
490 | fo.setPointSize( 36 ); | 491 | fo.setPointSize( 36 ); |
491 | con.setFont( fo ); | 492 | con.setFont( fo ); |
492 | lay.addWidget( &con); | 493 | lay.addWidget( &con); |
493 | connect ( &con, SIGNAL (clicked()), &dia, SLOT ( reject() ) ); | 494 | connect ( &con, SIGNAL (clicked()), &dia, SLOT ( reject() ) ); |
494 | lay.setMargin(5); | 495 | lay.setMargin(5); |
495 | lay.setSpacing(5); | 496 | lay.setSpacing(5); |
496 | dia.resize(dia.sizeHint() ); | 497 | dia.resize(dia.sizeHint() ); |
497 | 498 | ||
498 | if ( !dia.exec() ) | 499 | if ( !dia.exec() ) |
499 | return; | 500 | return; |
500 | 501 | ||
501 | AlarmServer::deleteAlarm ( mRunningTimer,"koalarm" , timerMesssage.latin1() ); | 502 | AlarmServer::deleteAlarm ( mRunningTimer,"koalarm" , timerMesssage.latin1() ); |
502 | mTimerTime = 0; | 503 | mTimerTime = 0; |
503 | return; | 504 | return; |
504 | } | 505 | } |
505 | if ( mTimerTime ) | 506 | if ( mTimerTime ) |
506 | return; | 507 | return; |
507 | if ( minutes == 1 ) { | 508 | if ( minutes == 1 ) { |
508 | return; | 509 | return; |
509 | } | 510 | } |
510 | QString mess = "timer_alarm"; | 511 | QString mess = "timer_alarm"; |
511 | mess += ("Timer Alarm!\n"); | 512 | mess += ("Timer Alarm!\n"); |
512 | if ( minutes == 22 ) { | 513 | if ( minutes == 22 ) { |
513 | mess += ( "Pizza is ready"); | 514 | mess += ( "Pizza is ready"); |
514 | mRunningTimerText = "Pizza"; | 515 | mRunningTimerText = "Pizza"; |
515 | } | 516 | } |
516 | else if ( minutes == 45 ) { | 517 | else if ( minutes == 45 ) { |
517 | mess += ( "Please wake up!"); | 518 | mess += ( "Please wake up!"); |
518 | mRunningTimerText = "Nap"; | 519 | mRunningTimerText = "Nap"; |
519 | } | 520 | } |
520 | else if ( minutes == 5 ) { | 521 | else if ( minutes == 5 ) { |
521 | mess += ( "Tea is ready"); | 522 | mess += ( "Tea is ready"); |
522 | mRunningTimerText = "Tea"; | 523 | mRunningTimerText = "Tea"; |
523 | } | 524 | } |
524 | else if ( minutes == 3 ) { | 525 | else if ( minutes == 3 ) { |
525 | mess += mCustomText; | 526 | mess += mCustomText; |
526 | minutes = mCustomMinutes ; | 527 | minutes = mCustomMinutes ; |
527 | mRunningTimerText = mCustomText.stripWhiteSpace (); | 528 | mRunningTimerText = mCustomText.stripWhiteSpace (); |
528 | int in = mRunningTimerText.find( " " ); | 529 | int in = mRunningTimerText.find( " " ); |
529 | mRunningTimerText = mRunningTimerText.left ( in ); | 530 | mRunningTimerText = mRunningTimerText.left ( in ); |
530 | } | 531 | } |
531 | else { | 532 | else { |
532 | if ( minutes == 2 ) { | 533 | if ( minutes == 2 ) { |
533 | // ask time | 534 | // ask time |
534 | QDialog dia ( 0, ("Customize Timer" ), true ); | 535 | QDialog dia ( 0, ("Customize Timer" ), true ); |
535 | QLabel lab (("Message Text:"), &dia ); | 536 | QLabel lab (("Message Text:"), &dia ); |
536 | dia.setCaption(("KO/Pi Timer" )); | 537 | dia.setCaption(("KO/Pi Timer" )); |
537 | QVBoxLayout lay( &dia ); | 538 | QVBoxLayout lay( &dia ); |
538 | lay.setMargin(5); | 539 | lay.setMargin(5); |
539 | lay.setSpacing(5); | 540 | lay.setSpacing(5); |
540 | lay.addWidget( &lab); | 541 | lay.addWidget( &lab); |
541 | QLineEdit lEdit( mCustomText, &dia ); | 542 | QLineEdit lEdit( mCustomText, &dia ); |
542 | lay.addWidget( &lEdit); | 543 | lay.addWidget( &lEdit); |
543 | QLabel lab2 (("Countdown time (1 min - 24 h):"), &dia ); | 544 | QLabel lab2 (("Countdown time (1 min - 24 h):"), &dia ); |
544 | lay.addWidget( &lab2); | 545 | lay.addWidget( &lab2); |
545 | QHBox hbox1 ( &dia ); | 546 | QHBox hbox1 ( &dia ); |
546 | lay.addWidget( &hbox1); | 547 | lay.addWidget( &hbox1); |
547 | QLabel lab3 (("Hours"), &hbox1 ); | 548 | QLabel lab3 (("Hours"), &hbox1 ); |
548 | QLabel lab4 (("Minutes"), &hbox1 ); | 549 | QLabel lab4 (("Minutes"), &hbox1 ); |
549 | QHBox hbox ( &dia ); | 550 | QHBox hbox ( &dia ); |
550 | QSpinBox spinh( 0, 24, 1,& hbox ); | 551 | QSpinBox spinh( 0, 24, 1,& hbox ); |
551 | QFont fo = dia.font(); | 552 | QFont fo = dia.font(); |
552 | fo.setPointSize( 36 ); | 553 | fo.setPointSize( 36 ); |
553 | QSpinBox spinm( 0, 59, 1,&hbox ); | 554 | QSpinBox spinm( 0, 59, 1,&hbox ); |
554 | spinm.setFont( fo ); | 555 | spinm.setFont( fo ); |
555 | spinh.setFont( fo ); | 556 | spinh.setFont( fo ); |
556 | spinh.setButtonSymbols( QSpinBox::PlusMinus ); | 557 | spinh.setButtonSymbols( QSpinBox::PlusMinus ); |
557 | spinm.setButtonSymbols( QSpinBox::PlusMinus ); | 558 | spinm.setButtonSymbols( QSpinBox::PlusMinus ); |
558 | spinh.upButton ()->setFixedSize( QSize( 48, 30 )); | 559 | spinh.upButton ()->setFixedSize( QSize( 48, 30 )); |
559 | spinh.downButton ()->setFixedSize( QSize( 48, 30 )); | 560 | spinh.downButton ()->setFixedSize( QSize( 48, 30 )); |
560 | //spinh.editor ()->setFixedSize( QSize( 50, 100 )); | 561 | //spinh.editor ()->setFixedSize( QSize( 50, 100 )); |
561 | spinh.setFixedSize( 100,62 ); | 562 | spinh.setFixedSize( 100,62 ); |
562 | spinm.upButton ()->setFixedSize( QSize( 48, 30 )); | 563 | spinm.upButton ()->setFixedSize( QSize( 48, 30 )); |
563 | spinm.downButton ()->setFixedSize( QSize( 48, 30 )); | 564 | spinm.downButton ()->setFixedSize( QSize( 48, 30 )); |
564 | spinm.downButton ()->setGeometry( 50,50,50,50); | 565 | spinm.downButton ()->setGeometry( 50,50,50,50); |
565 | // spinm.setSuffix( " m" ); | 566 | // spinm.setSuffix( " m" ); |
566 | //spinh.setSuffix( " h" ); | 567 | //spinh.setSuffix( " h" ); |
567 | spinm.setWrapping ( true ); | 568 | spinm.setWrapping ( true ); |
568 | //spinm.editor ()->setFixedSize( QSize( 50, 100 )); | 569 | //spinm.editor ()->setFixedSize( QSize( 50, 100 )); |
569 | spinm.setLineStep( 1 ); | 570 | spinm.setLineStep( 1 ); |
570 | spinm.setFixedSize( 110,62 ); | 571 | spinm.setFixedSize( 110,62 ); |
571 | lay.addWidget( &hbox); | 572 | lay.addWidget( &hbox); |
572 | QLabel lab5 ("Timer fires at:", &dia ); | 573 | QLabel lab5 ("Timer fires at:", &dia ); |
573 | lab5.setAlignment( AlignCenter ); | 574 | lab5.setAlignment( AlignCenter ); |
574 | lay.addWidget( &lab5); | 575 | lay.addWidget( &lab5); |
575 | KODateLabel dl ( &dia ); | 576 | KODateLabel dl ( &dia ); |
576 | dl.setAlignment( AlignCenter ); | 577 | dl.setAlignment( AlignCenter ); |
577 | dl.setFont( fo ); | 578 | dl.setFont( fo ); |
578 | connect ( &spinh, SIGNAL ( valueChanged (int)), &dl, SLOT ( slot_hours( int ) ) ); | 579 | connect ( &spinh, SIGNAL ( valueChanged (int)), &dl, SLOT ( slot_hours( int ) ) ); |
579 | connect ( &spinm, SIGNAL ( valueChanged (int)), &dl, SLOT ( slot_minutes( int ) ) ); | 580 | connect ( &spinm, SIGNAL ( valueChanged (int)), &dl, SLOT ( slot_minutes( int ) ) ); |
580 | lay.addWidget( &dl); | 581 | lay.addWidget( &dl); |
581 | spinh.setValue( mCustomMinutes/60 ); | 582 | spinh.setValue( mCustomMinutes/60 ); |
582 | spinm.setValue( mCustomMinutes%60 ); | 583 | spinm.setValue( mCustomMinutes%60 ); |
583 | QPushButton ok ( "Start timer", &dia); | 584 | QPushButton ok ( "Start timer", &dia); |
584 | ok.setDefault( true ); | 585 | ok.setDefault( true ); |
585 | ok.setFont( fo ); | 586 | ok.setFont( fo ); |
586 | spinh.setFocus(); | 587 | spinh.setFocus(); |
587 | lay.addWidget( &ok); | 588 | lay.addWidget( &ok); |
588 | connect ( &ok, SIGNAL (clicked()), &dia, SLOT ( accept() ) ); | 589 | connect ( &ok, SIGNAL (clicked()), &dia, SLOT ( accept() ) ); |
589 | dia.resize( dia.sizeHint().width(), dia.sizeHint().height() ); | 590 | dia.resize( dia.sizeHint().width(), dia.sizeHint().height() ); |
590 | 591 | ||
591 | if ( !dia.exec() ) | 592 | if ( !dia.exec() ) |
592 | return; | 593 | return; |
593 | mCustomText = lEdit.text(); | 594 | mCustomText = lEdit.text(); |
594 | mCustomMinutes = spinh.value()*60+spinm.value(); | 595 | mCustomMinutes = spinh.value()*60+spinm.value(); |
595 | if ( mCustomMinutes == 0 ) | 596 | if ( mCustomMinutes == 0 ) |
596 | mCustomMinutes = 1; | 597 | mCustomMinutes = 1; |
597 | if ( mCustomMinutes > 1440 ) | 598 | if ( mCustomMinutes > 1440 ) |
598 | mCustomMinutes = 1440; | 599 | mCustomMinutes = 1440; |
599 | mess += mCustomText; | 600 | mess += mCustomText; |
600 | minutes = mCustomMinutes; | 601 | minutes = mCustomMinutes; |
601 | mRunningTimerText = mCustomText.stripWhiteSpace (); | 602 | mRunningTimerText = mCustomText.stripWhiteSpace (); |
602 | int in = mRunningTimerText.find( " " ); | 603 | int in = mRunningTimerText.find( " " ); |
603 | mRunningTimerText = mRunningTimerText.left ( in ); | 604 | mRunningTimerText = mRunningTimerText.left ( in ); |
604 | } | 605 | } |
605 | else { | 606 | else { |
606 | mess+= QString::number ( minutes ) + ( " minutes are past!"); | 607 | mess+= QString::number ( minutes ) + ( " minutes are past!"); |
607 | int min = minutes; | 608 | int min = minutes; |
608 | if ( min % 60 == 0 ) | 609 | if ( min % 60 == 0 ) |
609 | mRunningTimerText = QString::number ( min/60 ) + ( " hours"); | 610 | mRunningTimerText = QString::number ( min/60 ) + ( " hours"); |
610 | else | 611 | else |
611 | mRunningTimerText = QString::number ( minutes ) + ( " minutes"); | 612 | mRunningTimerText = QString::number ( minutes ) + ( " minutes"); |
612 | } | 613 | } |
613 | } | 614 | } |
614 | //minutes = 1; | 615 | //minutes = 1; |
615 | 616 | ||
616 | mRunningTimer = QDateTime::currentDateTime().addSecs( minutes * 60 ); | 617 | mRunningTimer = QDateTime::currentDateTime().addSecs( minutes * 60 ); |
617 | timerMesssage = mess; | 618 | timerMesssage = mess; |
618 | AlarmServer::addAlarm ( mRunningTimer,"koalarm",timerMesssage.latin1()); | 619 | AlarmServer::addAlarm ( mRunningTimer,"koalarm",timerMesssage.latin1()); |
619 | mTimerTime = 1; | 620 | mTimerTime = 1; |
620 | } | 621 | } |
621 | 622 | ||
622 | void SimpleAlarmDaemonImpl::writeFile() | 623 | void SimpleAlarmDaemonImpl::writeFile() |
623 | { | 624 | { |
624 | QCopEnvelope e("QPE/Application/kopi", "-writeFileSilent"); | 625 | QCopEnvelope e("QPE/Application/kopi", "-writeFileSilent"); |
625 | //QCopEnvelope e("QPE/Application/kopi", "-writeFile"); | 626 | //QCopEnvelope e("QPE/Application/kopi", "-writeFile"); |
626 | } | 627 | } |
627 | void SimpleAlarmDaemonImpl::showWN() | 628 | void SimpleAlarmDaemonImpl::showWN() |
628 | { | 629 | { |
629 | QCopEnvelope e("QPE/Application/kopi", "-showWN"); | 630 | QCopEnvelope e("QPE/Application/kopi", "-showWN"); |
630 | } | 631 | } |
631 | void SimpleAlarmDaemonImpl::newTodo() | 632 | void SimpleAlarmDaemonImpl::newTodo() |
632 | { | 633 | { |
633 | QCopEnvelope e("QPE/Application/kopi", "-newTodo"); | 634 | QCopEnvelope e("QPE/Application/kopi", "-newTodo"); |
634 | } | 635 | } |
635 | 636 | ||
636 | void SimpleAlarmDaemonImpl::newEvent() | 637 | void SimpleAlarmDaemonImpl::newEvent() |
637 | { | 638 | { |
638 | QCopEnvelope e("QPE/Application/kopi", "-newEvent"); | 639 | QCopEnvelope e("QPE/Application/kopi", "-newEvent"); |
639 | 640 | ||
640 | } | 641 | } |
641 | void SimpleAlarmDaemonImpl::newMail() | 642 | void SimpleAlarmDaemonImpl::newMail() |
642 | { | 643 | { |
643 | QCopEnvelope e("QPE/Application/ompi", "newMail()"); | 644 | QCopEnvelope e("QPE/Application/ompi", "newMail()"); |
644 | } | 645 | } |
645 | void SimpleAlarmDaemonImpl::showAdd() | 646 | void SimpleAlarmDaemonImpl::showAdd() |
646 | { | 647 | { |
647 | QCopEnvelope e("QPE/Application/kapi", "raise()"); | 648 | QCopEnvelope e("QPE/Application/kapi", "raise()"); |
648 | } | 649 | } |
649 | void SimpleAlarmDaemonImpl::ringSync() | 650 | void SimpleAlarmDaemonImpl::ringSync() |
650 | { | 651 | { |
651 | QCopEnvelope e("QPE/Application/kopi", "-ringSync"); | 652 | QCopEnvelope e("QPE/Application/kopi", "-ringSync"); |
652 | 653 | ||
653 | } | 654 | } |
654 | void SimpleAlarmDaemonImpl::newCountdown() | 655 | void SimpleAlarmDaemonImpl::newCountdown() |
655 | { | 656 | { |
656 | //recieve("cal_alarm", 10 ); | 657 | //recieve("cal_alarm", 10 ); |
657 | } | 658 | } |
658 | void SimpleAlarmDaemonImpl::simulate() | 659 | void SimpleAlarmDaemonImpl::simulate() |
659 | { | 660 | { |
660 | writeFile(); | 661 | writeFile(); |
661 | QString filename = getenv("QPEDIR") ; | 662 | QString filename = getenv("QPEDIR") ; |
662 | filename += "/pics/kdepim/korganizer/koalarm.wav"; | 663 | filename += "/pics/kdepim/korganizer/koalarm.wav"; |
663 | startAlarm("Alarm simulation", filename ); | 664 | startAlarm("Alarm simulation", filename ); |
664 | } | 665 | } |
665 | void SimpleAlarmDaemonImpl::showKO() | 666 | void SimpleAlarmDaemonImpl::showKO() |
666 | { | 667 | { |
667 | QCopEnvelope e("QPE/Application/kopi", "-showKO"); | 668 | QCopEnvelope e("QPE/Application/kopi", "-showKO"); |
668 | // testing only | 669 | // testing only |
669 | //QCopEnvelope e("QPE/Application/kopi", "nextView()"); | 670 | //QCopEnvelope e("QPE/Application/kopi", "nextView()"); |
670 | 671 | ||
671 | } | 672 | } |
672 | void SimpleAlarmDaemonImpl::showTodo() | 673 | void SimpleAlarmDaemonImpl::showTodo() |
673 | { | 674 | { |
674 | QCopEnvelope e("QPE/Application/kopi", "-showTodo"); | 675 | QCopEnvelope e("QPE/Application/kopi", "-showTodo"); |
675 | 676 | ||
676 | } | 677 | } |
677 | void SimpleAlarmDaemonImpl::writeJournal() | 678 | void SimpleAlarmDaemonImpl::writeJournal() |
678 | { | 679 | { |
679 | QCopEnvelope e("QPE/Application/kopi", "-showJournal"); | 680 | QCopEnvelope e("QPE/Application/kopi", "-showJournal"); |
680 | 681 | ||
681 | } | 682 | } |
682 | 683 | ||
683 | void SimpleAlarmDaemonImpl::mousePressEvent( QMouseEvent * ) | 684 | void SimpleAlarmDaemonImpl::mousePressEvent( QMouseEvent * ) |
684 | { | 685 | { |
685 | 686 | ||
686 | mPopUp->popup(mapToGlobal(QPoint (0, -mPopUp->height() ))); | 687 | mPopUp->popup(mapToGlobal(QPoint (0, -mPopUp->height() ))); |
687 | 688 | ||
688 | } | 689 | } |
689 | 690 | ||