summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/desktop.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/core/launcher/desktop.cpp b/core/launcher/desktop.cpp
index c4c6050..986ae5d 100644
--- a/core/launcher/desktop.cpp
+++ b/core/launcher/desktop.cpp
@@ -74,293 +74,293 @@ public:
74 } 74 }
75 QString getChannel() const 75 QString getChannel() const
76 { 76 {
77 return channel; 77 return channel;
78 } 78 }
79 QString getMessage() const 79 QString getMessage() const
80 { 80 {
81 return message; 81 return message;
82 } 82 }
83 83
84private: 84private:
85 int keyCode; 85 int keyCode;
86 QString channel, message; 86 QString channel, message;
87}; 87};
88 88
89typedef QValueList<QCopKeyRegister> KeyRegisterList; 89typedef QValueList<QCopKeyRegister> KeyRegisterList;
90KeyRegisterList keyRegisterList; 90KeyRegisterList keyRegisterList;
91 91
92static Desktop* qpedesktop = 0; 92static Desktop* qpedesktop = 0;
93static int loggedin = 0; 93static int loggedin = 0;
94static void login( bool at_poweron ) 94static void login( bool at_poweron )
95{ 95{
96 if ( !loggedin ) { 96 if ( !loggedin ) {
97 Global::terminateBuiltin( "calibrate" ); 97 Global::terminateBuiltin( "calibrate" );
98 Password::authenticate( at_poweron ); 98 Password::authenticate( at_poweron );
99 loggedin = 1; 99 loggedin = 1;
100 QCopEnvelope e( "QPE/Desktop", "unlocked()" ); 100 QCopEnvelope e( "QPE/Desktop", "unlocked()" );
101 } 101 }
102} 102}
103 103
104bool Desktop::screenLocked() 104bool Desktop::screenLocked()
105{ 105{
106 return loggedin == 0; 106 return loggedin == 0;
107} 107}
108 108
109/* 109/*
110 Priority is number of alerts that are needed to pop up 110 Priority is number of alerts that are needed to pop up
111 alert. 111 alert.
112 */ 112 */
113class DesktopPowerAlerter : public QMessageBox 113class DesktopPowerAlerter : public QMessageBox
114{ 114{
115public: 115public:
116 DesktopPowerAlerter( QWidget *parent, const char *name = 0 ) 116 DesktopPowerAlerter( QWidget *parent, const char *name = 0 )
117 : QMessageBox( tr( "Battery Status" ), "Low Battery", 117 : QMessageBox( tr( "Battery Status" ), "Low Battery",
118 QMessageBox::Critical, 118 QMessageBox::Critical,
119 QMessageBox::Ok | QMessageBox::Default, 119 QMessageBox::Ok | QMessageBox::Default,
120 QMessageBox::NoButton, QMessageBox::NoButton, 120 QMessageBox::NoButton, QMessageBox::NoButton,
121 parent, name, FALSE ) 121 parent, name, FALSE )
122 { 122 {
123 currentPriority = INT_MAX; 123 currentPriority = INT_MAX;
124 alertCount = 0; 124 alertCount = 0;
125 } 125 }
126 126
127 void alert( const QString &text, int priority ); 127 void alert( const QString &text, int priority );
128 void hideEvent( QHideEvent * ); 128 void hideEvent( QHideEvent * );
129private: 129private:
130 int currentPriority; 130 int currentPriority;
131 int alertCount; 131 int alertCount;
132}; 132};
133 133
134void DesktopPowerAlerter::alert( const QString &text, int priority ) 134void DesktopPowerAlerter::alert( const QString &text, int priority )
135{ 135{
136 alertCount++; 136 alertCount++;
137 if ( alertCount < priority ) 137 if ( alertCount < priority )
138 return ; 138 return ;
139 if ( priority > currentPriority ) 139 if ( priority > currentPriority )
140 return ; 140 return ;
141 currentPriority = priority; 141 currentPriority = priority;
142 setText( text ); 142 setText( text );
143 show(); 143 show();
144} 144}
145 145
146 146
147void DesktopPowerAlerter::hideEvent( QHideEvent *e ) 147void DesktopPowerAlerter::hideEvent( QHideEvent *e )
148{ 148{
149 QMessageBox::hideEvent( e ); 149 QMessageBox::hideEvent( e );
150 alertCount = 0; 150 alertCount = 0;
151 currentPriority = INT_MAX; 151 currentPriority = INT_MAX;
152} 152}
153 153
154class QPEScreenSaver : public QWSScreenSaver 154class QPEScreenSaver : public QWSScreenSaver
155{ 155{
156private: 156private:
157 int LcdOn; 157 int LcdOn;
158 158
159public: 159public:
160 QPEScreenSaver() 160 QPEScreenSaver()
161 { 161 {
162 m_disable_suspend = 100; 162 m_disable_suspend = 100;
163 m_enable_dim = false; 163 m_enable_dim = false;
164 m_enable_lightoff = false; 164 m_enable_lightoff = false;
165 m_enable_onlylcdoff = false; 165 m_enable_onlylcdoff = false;
166 166
167 m_disable_suspend_ac = 100; 167 m_disable_suspend_ac = 100;
168 m_enable_dim_ac = false; 168 m_enable_dim_ac = false;
169 m_enable_lightoff_ac = false; 169 m_enable_lightoff_ac = false;
170 m_enable_onlylcdoff_ac = false; 170 m_enable_onlylcdoff_ac = false;
171 m_disable_apm_ac = false; 171 m_disable_apm_ac = false;
172 172
173 m_lcd_status = true; 173 m_lcd_status = true;
174 174
175 m_backlight_normal = -1; 175 m_backlight_normal = -1;
176 m_backlight_current = -1; 176 m_backlight_current = -1;
177 m_backlight_forcedoff = false; 177 m_backlight_forcedoff = false;
178 178
179 // Make sure the LCD is in fact on, (if opie was killed while the LCD is off it would still be off) 179 // Make sure the LCD is in fact on, (if opie was killed while the LCD is off it would still be off)
180 ODevice::inst ( )-> setDisplayStatus ( true ); 180 ODevice::inst ( )-> setDisplayStatus ( true );
181 setBacklight ( -1 ); 181 setBacklight ( -1 );
182 } 182 }
183 void restore() 183 void restore()
184 { 184 {
185 if ( !m_lcd_status ) { // We must have turned it off 185 if ( !m_lcd_status ) { // We must have turned it off
186 ODevice::inst ( ) -> setDisplayStatus ( true ); 186 ODevice::inst ( ) -> setDisplayStatus ( true );
187 m_lcd_status = true; 187 m_lcd_status = true;
188 } 188 }
189 189
190 setBacklightInternal ( -1 ); 190 setBacklightInternal ( -1 );
191 } 191 }
192 bool save( int level ) 192 bool save( int level )
193 { 193 {
194 bool onAC = ( PowerStatusManager::readStatus().acStatus() == PowerStatus::Online ); 194 bool onAC = ( PowerStatusManager::readStatus().acStatus() == PowerStatus::Online );
195 195
196 switch ( level ) { 196 switch ( level ) {
197 case 0: 197 case 0:
198 198
199 if ( m_disable_suspend_ac > 0 && m_enable_dim_ac && onAC ) { 199 if ( m_disable_suspend_ac > 0 && m_enable_dim_ac && onAC ) {
200 if ( m_backlight_current > 1 ) 200 if ( m_backlight_current > 1 )
201 setBacklight( 1 ); // lowest non-off 201 setBacklight( 1 ); // lowest non-off
202 } else if ( m_disable_suspend > 0 && m_enable_dim ) { 202 } else if ( !onAC && m_disable_suspend > 0 && m_enable_dim ) {
203 if ( m_backlight_current > 1 ) 203 if ( m_backlight_current > 1 )
204 setBacklightInternal( 1 ); // lowest non-off 204 setBacklightInternal( 1 ); // lowest non-off
205 } 205 }
206 return true; 206 return true;
207 break; 207 break;
208 case 1: 208 case 1:
209 209
210 if ( m_disable_suspend_ac > 1 && m_enable_lightoff_ac && onAC ) { 210 if ( m_disable_suspend_ac > 1 && m_enable_lightoff_ac && onAC ) {
211 setBacklightInternal( 0 ); // off 211 setBacklightInternal( 0 ); // off
212 } else if ( m_disable_suspend > 1 && m_enable_lightoff ) { 212 } else if ( !onAC && m_disable_suspend > 1 && m_enable_lightoff ) {
213 setBacklightInternal( 0 ); // off 213 setBacklightInternal( 0 ); // off
214 } 214 }
215 return true; 215 return true;
216 break; 216 break;
217 case 2: 217 case 2:
218 if ( m_disable_apm_ac && onAC ) { 218 if ( m_disable_apm_ac && onAC ) {
219 return true; 219 return true;
220 } 220 }
221 221
222 if ( m_enable_onlylcdoff_ac && onAC ) { 222 if ( m_enable_onlylcdoff_ac && onAC ) {
223 ODevice::inst ( ) -> setDisplayStatus ( false ); 223 ODevice::inst ( ) -> setDisplayStatus ( false );
224 m_lcd_status = false; 224 m_lcd_status = false;
225 return true; 225 return true;
226 } 226 }
227 else if ( m_enable_onlylcdoff ) { 227 else if ( !onAC && m_enable_onlylcdoff ) {
228 ODevice::inst ( ) -> setDisplayStatus ( false ); 228 ODevice::inst ( ) -> setDisplayStatus ( false );
229 m_lcd_status = false; 229 m_lcd_status = false;
230 return true; 230 return true;
231 } 231 }
232 else // We're going to suspend the whole machine 232 else // We're going to suspend the whole machine
233 { 233 {
234 if ( ( m_disable_suspend_ac > 2 && onAC ) && ( !Network::networkOnline ( ) ) ) { 234 if ( ( m_disable_suspend_ac > 2 && onAC ) && ( !Network::networkOnline ( ) ) ) {
235 QWSServer::sendKeyEvent( 0xffff, Qt::Key_F34, FALSE, TRUE, FALSE ); 235 QWSServer::sendKeyEvent( 0xffff, Qt::Key_F34, FALSE, TRUE, FALSE );
236 return true; 236 return true;
237 } 237 }
238 if ( ( m_disable_suspend > 2 ) && ( !Network::networkOnline ( ) ) ) { 238 if ( !onAC && ( m_disable_suspend > 2 ) && ( !Network::networkOnline ( ) ) ) {
239 QWSServer::sendKeyEvent( 0xffff, Qt::Key_F34, FALSE, TRUE, FALSE ); 239 QWSServer::sendKeyEvent( 0xffff, Qt::Key_F34, FALSE, TRUE, FALSE );
240 return true; 240 return true;
241 } 241 }
242 } 242 }
243 break; 243 break;
244 } 244 }
245 return false; 245 return false;
246 } 246 }
247 247
248private: 248private:
249 static int ssi( int interval, Config & config, const QString & enable, const QString & value, int def ) 249 static int ssi( int interval, Config & config, const QString & enable, const QString & value, int def )
250 { 250 {
251 if ( !enable.isEmpty() && config.readNumEntry( enable, 0 ) == 0 ) 251 if ( !enable.isEmpty() && config.readNumEntry( enable, 0 ) == 0 )
252 return 0; 252 return 0;
253 253
254 if ( interval < 0 ) { 254 if ( interval < 0 ) {
255 // Restore screen blanking and power saving state 255 // Restore screen blanking and power saving state
256 interval = config.readNumEntry( value, def ); 256 interval = config.readNumEntry( value, def );
257 } 257 }
258 return interval; 258 return interval;
259 } 259 }
260 260
261public: 261public:
262 void setIntervals( int i1, int i2, int i3 ) 262 void setIntervals( int i1, int i2, int i3 )
263 { 263 {
264 Config config( "qpe" ); 264 Config config( "qpe" );
265 config.setGroup( "Screensaver" ); 265 config.setGroup( "Screensaver" );
266 266
267 int v[ 4 ]; 267 int v[ 4 ];
268 i1 = ssi( i1, config, "Dim", "Interval_Dim", 30 ); 268 i1 = ssi( i1, config, "Dim", "Interval_Dim", 30 );
269 i2 = ssi( i2, config, "LightOff", "Interval_LightOff", 20 ); 269 i2 = ssi( i2, config, "LightOff", "Interval_LightOff", 20 );
270 i3 = ssi( i3, config, "", "Interval", 60 ); 270 i3 = ssi( i3, config, "", "Interval", 60 );
271 271
272 //qDebug("screen saver intervals: %d %d %d", i1, i2, i3); 272 //qDebug("screen saver intervals: %d %d %d", i1, i2, i3);
273 273
274 v [ 0 ] = QMAX( 1000 * i1, 100 ); 274 v [ 0 ] = QMAX( 1000 * i1, 100 );
275 v [ 1 ] = QMAX( 1000 * i2, 100 ); 275 v [ 1 ] = QMAX( 1000 * i2, 100 );
276 v [ 2 ] = QMAX( 1000 * i3, 100 ); 276 v [ 2 ] = QMAX( 1000 * i3, 100 );
277 v [ 3 ] = 0; 277 v [ 3 ] = 0;
278 m_enable_dim = ( ( i1 != 0 ) ? config. readNumEntry ( "Dim", 1 ) : false ); 278 m_enable_dim = ( ( i1 != 0 ) ? config. readNumEntry ( "Dim", 1 ) : false );
279 m_enable_lightoff = ( ( i2 != 0 ) ? config. readNumEntry ( "LightOff", 1 ) : false ); 279 m_enable_lightoff = ( ( i2 != 0 ) ? config. readNumEntry ( "LightOff", 1 ) : false );
280 m_enable_onlylcdoff = config.readNumEntry ( "LcdOffOnly", 0 ); 280 m_enable_onlylcdoff = config.readNumEntry ( "LcdOffOnly", 0 );
281 281
282 if ( !i1 && !i2 && !i3 ) 282 if ( !i1 && !i2 && !i3 )
283 QWSServer::setScreenSaverInterval( 0 ); 283 QWSServer::setScreenSaverInterval( 0 );
284 else 284 else
285 QWSServer::setScreenSaverIntervals( v ); 285 QWSServer::setScreenSaverIntervals( v );
286 } 286 }
287 287
288 void setIntervalsAC( int i1, int i2, int i3 ) 288 void setIntervalsAC( int i1, int i2, int i3 )
289 { 289 {
290 Config config( "qpe" ); 290 Config config( "qpe" );
291 config.setGroup( "Screensaver" ); 291 config.setGroup( "Screensaver" );
292 292
293 int v[ 4 ]; 293 int v[ 4 ];
294 i1 = ssi( i1, config, "DimAC", "Interval_DimAC", 30 ); 294 i1 = ssi( i1, config, "DimAC", "Interval_DimAC", 30 );
295 i2 = ssi( i2, config, "LightOffAC", "Interval_LightOffAC", 20 ); 295 i2 = ssi( i2, config, "LightOffAC", "Interval_LightOffAC", 20 );
296 i3 = ssi( i3, config, "", "IntervalAC", 60 ); 296 i3 = ssi( i3, config, "", "IntervalAC", 60 );
297 297
298 //qDebug("screen saver intervals: %d %d %d", i1, i2, i3); 298 //qDebug("screen saver intervals: %d %d %d", i1, i2, i3);
299 299
300 v [ 0 ] = QMAX( 1000 * i1, 100 ); 300 v [ 0 ] = QMAX( 1000 * i1, 100 );
301 v [ 1 ] = QMAX( 1000 * i2, 100 ); 301 v [ 1 ] = QMAX( 1000 * i2, 100 );
302 v [ 2 ] = QMAX( 1000 * i3, 100 ); 302 v [ 2 ] = QMAX( 1000 * i3, 100 );
303 v [ 3 ] = 0; 303 v [ 3 ] = 0;
304 m_enable_dim_ac = ( ( i1 != 0 ) ? config.readNumEntry ( "DimAC", 1 ) : false ); 304 m_enable_dim_ac = ( ( i1 != 0 ) ? config.readNumEntry ( "DimAC", 1 ) : false );
305 m_enable_lightoff_ac = ( ( i2 != 0 ) ? config.readNumEntry ( "LightOffAC", 1 ) : false ); 305 m_enable_lightoff_ac = ( ( i2 != 0 ) ? config.readNumEntry ( "LightOffAC", 1 ) : false );
306 m_enable_onlylcdoff_ac = config.readNumEntry ( "LcdOffOnlyAC", 0 ); 306 m_enable_onlylcdoff_ac = config.readNumEntry ( "LcdOffOnlyAC", 0 );
307 m_disable_apm_ac = config.readNumEntry ( "NoApmAC", 0 ); 307 m_disable_apm_ac = config.readNumEntry ( "NoApmAC", 0 );
308 308
309 if ( !i1 && !i2 && !i3 ) 309 if ( !i1 && !i2 && !i3 )
310 QWSServer::setScreenSaverInterval( 0 ); 310 QWSServer::setScreenSaverInterval( 0 );
311 else 311 else
312 QWSServer::setScreenSaverIntervals( v ); 312 QWSServer::setScreenSaverIntervals( v );
313 } 313 }
314 314
315 void setInterval ( int interval ) 315 void setInterval ( int interval )
316 { 316 {
317 setIntervals ( -1, -1, interval ); 317 setIntervals ( -1, -1, interval );
318 } 318 }
319 319
320 void setMode ( int mode ) 320 void setMode ( int mode )
321 { 321 {
322 if ( mode > m_disable_suspend ) 322 if ( mode > m_disable_suspend )
323 setInterval( -1 ); 323 setInterval( -1 );
324 m_disable_suspend = mode; 324 m_disable_suspend = mode;
325 } 325 }
326 326
327 void setBacklight ( int bright ) 327 void setBacklight ( int bright )
328 { 328 {
329 // Read from config 329 // Read from config
330 Config config ( "qpe" ); 330 Config config ( "qpe" );
331 config. setGroup ( "Screensaver" ); 331 config. setGroup ( "Screensaver" );
332 m_backlight_normal = config. readNumEntry ( "Brightness", 255 ); 332 m_backlight_normal = config. readNumEntry ( "Brightness", 255 );
333 333
334 setBacklightInternal ( bright ); 334 setBacklightInternal ( bright );
335 } 335 }
336 336
337private: 337private:
338 void setBacklightInternal ( int bright ) 338 void setBacklightInternal ( int bright )
339 { 339 {
340 if ( bright == -3 ) { 340 if ( bright == -3 ) {
341 // Forced on 341 // Forced on
342 m_backlight_forcedoff = false; 342 m_backlight_forcedoff = false;
343 bright = -1; 343 bright = -1;
344 } 344 }
345 if ( m_backlight_forcedoff && bright != -2 ) 345 if ( m_backlight_forcedoff && bright != -2 )
346 return ; 346 return ;
347 if ( bright == -2 ) { 347 if ( bright == -2 ) {
348 // Toggle between off and on 348 // Toggle between off and on
349 bright = m_backlight_current ? 0 : -1; 349 bright = m_backlight_current ? 0 : -1;
350 m_backlight_forcedoff = !bright; 350 m_backlight_forcedoff = !bright;
351 } 351 }
352 if ( bright == -1 ) 352 if ( bright == -1 )
353 bright = m_backlight_normal; 353 bright = m_backlight_normal;
354 354
355 if ( bright != m_backlight_current ) { 355 if ( bright != m_backlight_current ) {
356 ODevice::inst ( )-> setDisplayBrightness ( bright ); 356 ODevice::inst ( )-> setDisplayBrightness ( bright );
357 m_backlight_current = bright; 357 m_backlight_current = bright;
358 } 358 }
359 } 359 }
360 360
361public: 361public:
362 void setDisplayState ( bool on ) 362 void setDisplayState ( bool on )
363 { 363 {
364 if ( m_lcd_status != on ) { 364 if ( m_lcd_status != on ) {
365 ODevice::inst ( ) -> setDisplayStatus ( on ); 365 ODevice::inst ( ) -> setDisplayStatus ( on );
366 m_lcd_status = on; 366 m_lcd_status = on;
@@ -520,267 +520,267 @@ bool DesktopApplication::qwsEventFilter( QWSEvent *e )
520 if ( !loggedin && ke->simpleData.keycode != Key_F34 ) 520 if ( !loggedin && ke->simpleData.keycode != Key_F34 )
521 return TRUE; 521 return TRUE;
522 bool press = ke->simpleData.is_press; 522 bool press = ke->simpleData.is_press;
523 bool autoRepeat = ke->simpleData.is_auto_repeat; 523 bool autoRepeat = ke->simpleData.is_auto_repeat;
524 524
525 /* 525 /*
526 app that registers key/message to be sent back to the app, when it doesn't have focus, 526 app that registers key/message to be sent back to the app, when it doesn't have focus,
527 when user presses key, unless keyboard has been requested from app. 527 when user presses key, unless keyboard has been requested from app.
528 will not send multiple repeats if user holds key 528 will not send multiple repeats if user holds key
529 i.e. one shot 529 i.e. one shot
530 */ 530 */
531 if ( !keyRegisterList.isEmpty() && ke->simpleData.keycode !=0 && press) { 531 if ( !keyRegisterList.isEmpty() && ke->simpleData.keycode !=0 && press) {
532// qDebug("<<<<<<<<<<<<<keycode %d", ke->simpleData.keycode); 532// qDebug("<<<<<<<<<<<<<keycode %d", ke->simpleData.keycode);
533 KeyRegisterList::Iterator it; 533 KeyRegisterList::Iterator it;
534 for ( it = keyRegisterList.begin(); it != keyRegisterList.end(); ++it ) { 534 for ( it = keyRegisterList.begin(); it != keyRegisterList.end(); ++it ) {
535 if ( ( *it ).getKeyCode() == ke->simpleData.keycode && !autoRepeat && !keyboardGrabbed() ) { 535 if ( ( *it ).getKeyCode() == ke->simpleData.keycode && !autoRepeat && !keyboardGrabbed() ) {
536 if ( press ) 536 if ( press )
537 qDebug( "press" ); 537 qDebug( "press" );
538 else 538 else
539 qDebug( "release" ); 539 qDebug( "release" );
540 QCopEnvelope( ( *it ).getChannel().utf8(), ( *it ).getMessage().utf8() ); 540 QCopEnvelope( ( *it ).getChannel().utf8(), ( *it ).getMessage().utf8() );
541 } 541 }
542 } 542 }
543 } 543 }
544 544
545 if ( !keyboardGrabbed() ) { 545 if ( !keyboardGrabbed() ) {
546 if ( ke->simpleData.keycode == Key_F9 ) { 546 if ( ke->simpleData.keycode == Key_F9 ) {
547 if ( press ) 547 if ( press )
548 emit datebook(); 548 emit datebook();
549 return TRUE; 549 return TRUE;
550 } 550 }
551 if ( ke->simpleData.keycode == Key_F10 ) { 551 if ( ke->simpleData.keycode == Key_F10 ) {
552 if ( !press && cardSendTimer ) { 552 if ( !press && cardSendTimer ) {
553 emit contacts(); 553 emit contacts();
554 delete cardSendTimer; 554 delete cardSendTimer;
555 } 555 }
556 else if ( press ) { 556 else if ( press ) {
557 cardSendTimer = new QTimer(); 557 cardSendTimer = new QTimer();
558 cardSendTimer->start( 2000, TRUE ); 558 cardSendTimer->start( 2000, TRUE );
559 connect( cardSendTimer, SIGNAL( timeout() ), this, SLOT( sendCard() ) ); 559 connect( cardSendTimer, SIGNAL( timeout() ), this, SLOT( sendCard() ) );
560 } 560 }
561 return TRUE; 561 return TRUE;
562 } 562 }
563 563
564// if ( ke->simpleData.keycode == Key_F11 ) { 564// if ( ke->simpleData.keycode == Key_F11 ) {
565// if ( press ) emit menu(); 565// if ( press ) emit menu();
566// return TRUE; 566// return TRUE;
567// } 567// }
568 568
569 if ( ke->simpleData.keycode == Key_F12 ) { 569 if ( ke->simpleData.keycode == Key_F12 ) {
570 while ( activePopupWidget() ) 570 while ( activePopupWidget() )
571 activePopupWidget() ->close(); 571 activePopupWidget() ->close();
572 if ( press ) 572 if ( press )
573 emit launch(); 573 emit launch();
574 return TRUE; 574 return TRUE;
575 } 575 }
576 if ( ke->simpleData.keycode == Key_F13 ) { 576 if ( ke->simpleData.keycode == Key_F13 ) {
577 if ( press ) 577 if ( press )
578 emit email(); 578 emit email();
579 return TRUE; 579 return TRUE;
580 } 580 }
581 } 581 }
582 582
583 if ( ke->simpleData.keycode == Key_F34 ) { 583 if ( ke->simpleData.keycode == Key_F34 ) {
584 if ( press ) 584 if ( press )
585 emit power(); 585 emit power();
586 return TRUE; 586 return TRUE;
587 } 587 }
588 // This was used for the iPAQ PowerButton 588 // This was used for the iPAQ PowerButton
589 // See main.cpp for new KeyboardFilter 589 // See main.cpp for new KeyboardFilter
590 // 590 //
591 // if ( ke->simpleData.keycode == Key_SysReq ) { 591 // if ( ke->simpleData.keycode == Key_SysReq ) {
592 // if ( press ) emit power(); 592 // if ( press ) emit power();
593 // return TRUE; 593 // return TRUE;
594 // } 594 // }
595 if ( ke->simpleData.keycode == Key_F35 ) { 595 if ( ke->simpleData.keycode == Key_F35 ) {
596 if ( press ) 596 if ( press )
597 emit backlight(); 597 emit backlight();
598 return TRUE; 598 return TRUE;
599 } 599 }
600 if ( ke->simpleData.keycode == Key_F32 ) { 600 if ( ke->simpleData.keycode == Key_F32 ) {
601 if ( press ) 601 if ( press )
602 QCopEnvelope e( "QPE/Desktop", "startSync()" ); 602 QCopEnvelope e( "QPE/Desktop", "startSync()" );
603 return TRUE; 603 return TRUE;
604 } 604 }
605 if ( ke->simpleData.keycode == Key_F31 && !ke->simpleData.modifiers ) { 605 if ( ke->simpleData.keycode == Key_F31 && !ke->simpleData.modifiers ) {
606 if ( press ) 606 if ( press )
607 emit symbol(); 607 emit symbol();
608 return TRUE; 608 return TRUE;
609 } 609 }
610 if ( ke->simpleData.keycode == Key_NumLock ) { 610 if ( ke->simpleData.keycode == Key_NumLock ) {
611 if ( press ) 611 if ( press )
612 emit numLockStateToggle(); 612 emit numLockStateToggle();
613 } 613 }
614 if ( ke->simpleData.keycode == Key_CapsLock ) { 614 if ( ke->simpleData.keycode == Key_CapsLock ) {
615 if ( press ) 615 if ( press )
616 emit capsLockStateToggle(); 616 emit capsLockStateToggle();
617 } 617 }
618 if ( ( press && !autoRepeat ) || ( !press && autoRepeat ) ) 618 if ( ( press && !autoRepeat ) || ( !press && autoRepeat ) )
619 qpedesktop->keyClick(); 619 qpedesktop->keyClick();
620 } 620 }
621 else { 621 else {
622 if ( e->type == QWSEvent::Mouse ) { 622 if ( e->type == QWSEvent::Mouse ) {
623 QWSMouseEvent * me = ( QWSMouseEvent * ) e; 623 QWSMouseEvent * me = ( QWSMouseEvent * ) e;
624 static bool up = TRUE; 624 static bool up = TRUE;
625 if ( me->simpleData.state & LeftButton ) { 625 if ( me->simpleData.state & LeftButton ) {
626 if ( up ) { 626 if ( up ) {
627 up = FALSE; 627 up = FALSE;
628 qpedesktop->screenClick(); 628 qpedesktop->screenClick();
629 } 629 }
630 } 630 }
631 else { 631 else {
632 up = TRUE; 632 up = TRUE;
633 } 633 }
634 } 634 }
635 } 635 }
636 636
637 return QPEApplication::qwsEventFilter( e ); 637 return QPEApplication::qwsEventFilter( e );
638} 638}
639#endif 639#endif
640 640
641void DesktopApplication::psTimeout( int batRemaining ) 641void DesktopApplication::psTimeout( int batRemaining )
642{ 642{
643 *ps = PowerStatusManager::readStatus(); 643 *ps = PowerStatusManager::readStatus();
644 644
645 // maybe now since its triggered by apm change there might be to few warnings 645 // maybe now since its triggered by apm change there might be to few warnings
646 // if ( ( ps->batteryStatus() == PowerStatus::VeryLow ) ) { 646 // if ( ( ps->batteryStatus() == PowerStatus::VeryLow ) ) {
647 if ( ( batRemaining == m_powerVeryLow ) ) { 647 if ( ( batRemaining == m_powerVeryLow ) ) {
648 pa->alert( tr( "Battery is running very low." ), 6 ); 648 pa->alert( tr( "Battery is running very low." ), 2 );
649 } 649 }
650 650
651 // if ( ps->batteryStatus() == PowerStatus::Critical ) { 651 // if ( ps->batteryStatus() == PowerStatus::Critical ) {
652 if ( batRemaining == m_powerCritical ) { 652 if ( batRemaining == m_powerCritical ) {
653 pa->alert( tr( "Battery level is critical!\n" 653 pa->alert( tr( "Battery level is critical!\n"
654 "Keep power off until power restored!" ), 1 ); 654 "Keep power off until power restored!" ), 1 );
655 } 655 }
656 656
657 if ( ps->backupBatteryStatus() == PowerStatus::VeryLow ) { 657 if ( ps->backupBatteryStatus() == PowerStatus::VeryLow ) {
658 pa->alert( tr( "The Back-up battery is very low.\nPlease charge the back-up battery." ), 3 ); 658 pa->alert( tr( "The Back-up battery is very low.\nPlease charge the back-up battery." ), 2 );
659 } 659 }
660} 660}
661 661
662void DesktopApplication::apmTimeout() 662void DesktopApplication::apmTimeout()
663{ 663{
664 qpedesktop->checkMemory(); // in case no events are being generated 664 qpedesktop->checkMemory(); // in case no events are being generated
665 665
666 *ps = PowerStatusManager::readStatus(); 666 *ps = PowerStatusManager::readStatus();
667 667
668 if ( m_currentPowerLevel != ps->batteryPercentRemaining() ) { 668 if ( m_currentPowerLevel != ps->batteryPercentRemaining() ) {
669 // not very nice, since psTimeout parses the again 669 // not very nice, since psTimeout parses the again
670 m_currentPowerLevel = ps->batteryPercentRemaining(); 670 m_currentPowerLevel = ps->batteryPercentRemaining();
671 psTimeout( m_currentPowerLevel ); 671 psTimeout( m_currentPowerLevel );
672 } 672 }
673} 673}
674 674
675void DesktopApplication::sendCard() 675void DesktopApplication::sendCard()
676{ 676{
677 delete cardSendTimer; 677 delete cardSendTimer;
678 cardSendTimer = 0; 678 cardSendTimer = 0;
679 QString card = getenv( "HOME" ); 679 QString card = getenv( "HOME" );
680 card += "/Applications/addressbook/businesscard.vcf"; 680 card += "/Applications/addressbook/businesscard.vcf";
681 681
682 if ( QFile::exists( card ) ) { 682 if ( QFile::exists( card ) ) {
683 QCopEnvelope e( "QPE/Obex", "send(QString,QString,QString)" ); 683 QCopEnvelope e( "QPE/Obex", "send(QString,QString,QString)" );
684 QString mimetype = "text/x-vCard"; 684 QString mimetype = "text/x-vCard";
685 e << tr( "business card" ) << card << mimetype; 685 e << tr( "business card" ) << card << mimetype;
686 } 686 }
687} 687}
688 688
689#if defined(QPE_HAVE_MEMALERTER) 689#if defined(QPE_HAVE_MEMALERTER)
690QPE_MEMALERTER_IMPL 690QPE_MEMALERTER_IMPL
691#endif 691#endif
692 692
693//=========================================================================== 693//===========================================================================
694 694
695Desktop::Desktop() : 695Desktop::Desktop() :
696 QWidget( 0, 0, WStyle_Tool | WStyle_Customize ), 696 QWidget( 0, 0, WStyle_Tool | WStyle_Customize ),
697 qcopBridge( 0 ), 697 qcopBridge( 0 ),
698 transferServer( 0 ), 698 transferServer( 0 ),
699 packageSlave( 0 ) 699 packageSlave( 0 )
700{ 700{
701 qpedesktop = this; 701 qpedesktop = this;
702 702
703 // bg = new Info( this ); 703 // bg = new Info( this );
704 tb = new TaskBar; 704 tb = new TaskBar;
705 705
706 launcher = new Launcher( 0, 0, WStyle_Customize | QWidget::WGroupLeader ); 706 launcher = new Launcher( 0, 0, WStyle_Customize | QWidget::WGroupLeader );
707 707
708 connect( launcher, SIGNAL( busy() ), tb, SLOT( startWait() ) ); 708 connect( launcher, SIGNAL( busy() ), tb, SLOT( startWait() ) );
709 connect( launcher, SIGNAL( notBusy( const QString& ) ), tb, SLOT( stopWait( const QString& ) ) ); 709 connect( launcher, SIGNAL( notBusy( const QString& ) ), tb, SLOT( stopWait( const QString& ) ) );
710 710
711 int displayw = qApp->desktop() ->width(); 711 int displayw = qApp->desktop() ->width();
712 int displayh = qApp->desktop() ->height(); 712 int displayh = qApp->desktop() ->height();
713 713
714 714
715 QSize sz = tb->sizeHint(); 715 QSize sz = tb->sizeHint();
716 716
717 setGeometry( 0, displayh - sz.height(), displayw, sz.height() ); 717 setGeometry( 0, displayh - sz.height(), displayw, sz.height() );
718 tb->setGeometry( 0, displayh - sz.height(), displayw, sz.height() ); 718 tb->setGeometry( 0, displayh - sz.height(), displayw, sz.height() );
719 719
720 tb->show(); 720 tb->show();
721 launcher->showMaximized(); 721 launcher->showMaximized();
722 launcher->show(); 722 launcher->show();
723 launcher->raise(); 723 launcher->raise();
724#if defined(QPE_HAVE_MEMALERTER) 724#if defined(QPE_HAVE_MEMALERTER)
725 725
726 initMemalerter(); 726 initMemalerter();
727#endif 727#endif
728 // start services 728 // start services
729 startTransferServer(); 729 startTransferServer();
730 ( void ) new IrServer( this ); 730 ( void ) new IrServer( this );
731 rereadVolumes(); 731 rereadVolumes();
732 732
733 packageSlave = new PackageSlave( this ); 733 packageSlave = new PackageSlave( this );
734 connect( qApp, SIGNAL( volumeChanged( bool ) ), this, SLOT( rereadVolumes() ) ); 734 connect( qApp, SIGNAL( volumeChanged( bool ) ), this, SLOT( rereadVolumes() ) );
735 735
736 qApp->installEventFilter( this ); 736 qApp->installEventFilter( this );
737 737
738 qApp-> setMainWidget ( launcher ); 738 qApp-> setMainWidget ( launcher );
739} 739}
740 740
741void Desktop::show() 741void Desktop::show()
742{ 742{
743 login( TRUE ); 743 login( TRUE );
744 QWidget::show(); 744 QWidget::show();
745} 745}
746 746
747Desktop::~Desktop() 747Desktop::~Desktop()
748{ 748{
749 delete launcher; 749 delete launcher;
750 delete tb; 750 delete tb;
751 delete qcopBridge; 751 delete qcopBridge;
752 delete transferServer; 752 delete transferServer;
753} 753}
754 754
755bool Desktop::recoverMemory() 755bool Desktop::recoverMemory()
756{ 756{
757 return tb->recoverMemory(); 757 return tb->recoverMemory();
758} 758}
759 759
760void Desktop::checkMemory() 760void Desktop::checkMemory()
761{ 761{
762#if defined(QPE_HAVE_MEMALERTER) 762#if defined(QPE_HAVE_MEMALERTER)
763 static bool ignoreNormal = FALSE; 763 static bool ignoreNormal = FALSE;
764 static bool existingMessage = FALSE; 764 static bool existingMessage = FALSE;
765 765
766 if ( existingMessage ) 766 if ( existingMessage )
767 return ; // don't show a second message while still on first 767 return ; // don't show a second message while still on first
768 768
769 existingMessage = TRUE; 769 existingMessage = TRUE;
770 switch ( memstate ) { 770 switch ( memstate ) {
771 case Unknown: 771 case Unknown:
772 break; 772 break;
773 case Low: 773 case Low:
774 memstate = Unknown; 774 memstate = Unknown;
775 if ( recoverMemory() ) 775 if ( recoverMemory() )
776 ignoreNormal = TRUE; 776 ignoreNormal = TRUE;
777 else 777 else
778 QMessageBox::warning( 0 , "Memory Status", 778 QMessageBox::warning( 0 , "Memory Status",
779 "The memory smacks of shortage. \n" 779 "The memory smacks of shortage. \n"
780 "Please save data. " ); 780 "Please save data. " );
781 break; 781 break;
782 case Normal: 782 case Normal:
783 memstate = Unknown; 783 memstate = Unknown;
784 if ( ignoreNormal ) 784 if ( ignoreNormal )
785 ignoreNormal = FALSE; 785 ignoreNormal = FALSE;
786// else 786// else