-rw-r--r-- | core/launcher/desktop.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/core/launcher/desktop.cpp b/core/launcher/desktop.cpp index 1a33b36..6ee7132 100644 --- a/core/launcher/desktop.cpp +++ b/core/launcher/desktop.cpp | |||
@@ -230,251 +230,251 @@ private: | |||
230 | return interval; | 230 | return interval; |
231 | } | 231 | } |
232 | 232 | ||
233 | public: | 233 | public: |
234 | void setIntervals( int i1, int i2, int i3 ) | 234 | void setIntervals( int i1, int i2, int i3 ) |
235 | { | 235 | { |
236 | Config config( "qpe" ); | 236 | Config config( "qpe" ); |
237 | config.setGroup( "Screensaver" ); | 237 | config.setGroup( "Screensaver" ); |
238 | 238 | ||
239 | int v[ 4 ]; | 239 | int v[ 4 ]; |
240 | i1 = ssi( i1, config, "Dim", "Interval_Dim", 30 ); | 240 | i1 = ssi( i1, config, "Dim", "Interval_Dim", 30 ); |
241 | i2 = ssi( i2, config, "LightOff", "Interval_LightOff", 20 ); | 241 | i2 = ssi( i2, config, "LightOff", "Interval_LightOff", 20 ); |
242 | i3 = ssi( i3, config, "", "Interval", 60 ); | 242 | i3 = ssi( i3, config, "", "Interval", 60 ); |
243 | 243 | ||
244 | //qDebug("screen saver intervals: %d %d %d", i1, i2, i3); | 244 | //qDebug("screen saver intervals: %d %d %d", i1, i2, i3); |
245 | 245 | ||
246 | v [ 0 ] = QMAX( 1000 * i1, 100 ); | 246 | v [ 0 ] = QMAX( 1000 * i1, 100 ); |
247 | v [ 1 ] = QMAX( 1000 * i2, 100 ); | 247 | v [ 1 ] = QMAX( 1000 * i2, 100 ); |
248 | v [ 2 ] = QMAX( 1000 * i3, 100 ); | 248 | v [ 2 ] = QMAX( 1000 * i3, 100 ); |
249 | v [ 3 ] = 0; | 249 | v [ 3 ] = 0; |
250 | m_enable_dim = ( ( i1 != 0 ) ? config. readNumEntry ( "Dim", 1 ) : false ); | 250 | m_enable_dim = ( ( i1 != 0 ) ? config. readNumEntry ( "Dim", 1 ) : false ); |
251 | m_enable_lightoff = ( ( i2 != 0 ) ? config. readNumEntry ( "LightOff", 1 ) : false ); | 251 | m_enable_lightoff = ( ( i2 != 0 ) ? config. readNumEntry ( "LightOff", 1 ) : false ); |
252 | m_enable_onlylcdoff = config. readNumEntry ( "LcdOffOnly", 0 ); | 252 | m_enable_onlylcdoff = config. readNumEntry ( "LcdOffOnly", 0 ); |
253 | 253 | ||
254 | if ( !i1 && !i2 && !i3 ) | 254 | if ( !i1 && !i2 && !i3 ) |
255 | QWSServer::setScreenSaverInterval( 0 ); | 255 | QWSServer::setScreenSaverInterval( 0 ); |
256 | else | 256 | else |
257 | QWSServer::setScreenSaverIntervals( v ); | 257 | QWSServer::setScreenSaverIntervals( v ); |
258 | } | 258 | } |
259 | 259 | ||
260 | void setInterval ( int interval ) | 260 | void setInterval ( int interval ) |
261 | { | 261 | { |
262 | setIntervals ( -1, -1, interval ); | 262 | setIntervals ( -1, -1, interval ); |
263 | } | 263 | } |
264 | 264 | ||
265 | void setMode ( int mode ) | 265 | void setMode ( int mode ) |
266 | { | 266 | { |
267 | if ( mode > m_disable_suspend ) | 267 | if ( mode > m_disable_suspend ) |
268 | setInterval( -1 ); | 268 | setInterval( -1 ); |
269 | m_disable_suspend = mode; | 269 | m_disable_suspend = mode; |
270 | } | 270 | } |
271 | 271 | ||
272 | int backlight ( ) | 272 | int backlight ( ) |
273 | { | 273 | { |
274 | if ( m_backlight_bright == -1 ) { | 274 | if ( m_backlight_bright == -1 ) { |
275 | // Read from config | 275 | // Read from config |
276 | Config config ( "qpe" ); | 276 | Config config ( "qpe" ); |
277 | config. setGroup ( "Screensaver" ); | 277 | config. setGroup ( "Screensaver" ); |
278 | m_backlight_bright = config. readNumEntry ( "Brightness", 255 ); | 278 | m_backlight_bright = config. readNumEntry ( "Brightness", 255 ); |
279 | } | 279 | } |
280 | return m_backlight_bright; | 280 | return m_backlight_bright; |
281 | } | 281 | } |
282 | 282 | ||
283 | void setBacklight ( int bright ) | 283 | void setBacklight ( int bright ) |
284 | { | 284 | { |
285 | if ( bright == -3 ) { | 285 | if ( bright == -3 ) { |
286 | // Forced on | 286 | // Forced on |
287 | m_backlight_forcedoff = false; | 287 | m_backlight_forcedoff = false; |
288 | bright = -1; | 288 | bright = -1; |
289 | } | 289 | } |
290 | if ( m_backlight_forcedoff && bright != -2 ) | 290 | if ( m_backlight_forcedoff && bright != -2 ) |
291 | return ; | 291 | return ; |
292 | if ( bright == -2 ) { | 292 | if ( bright == -2 ) { |
293 | // Toggle between off and on | 293 | // Toggle between off and on |
294 | bright = m_backlight_bright ? 0 : -1; | 294 | bright = m_backlight_bright ? 0 : -1; |
295 | m_backlight_forcedoff = !bright; | 295 | m_backlight_forcedoff = !bright; |
296 | } | 296 | } |
297 | 297 | ||
298 | m_backlight_bright = bright; | 298 | m_backlight_bright = bright; |
299 | 299 | ||
300 | bright = backlight ( ); | 300 | bright = backlight ( ); |
301 | ODevice::inst ( ) -> setDisplayBrightness ( bright ); | 301 | ODevice::inst ( ) -> setDisplayBrightness ( bright ); |
302 | 302 | ||
303 | m_backlight_bright = bright; | 303 | m_backlight_bright = bright; |
304 | } | 304 | } |
305 | 305 | ||
306 | private: | 306 | private: |
307 | int m_disable_suspend; | 307 | int m_disable_suspend; |
308 | bool m_enable_dim; | 308 | bool m_enable_dim; |
309 | bool m_enable_lightoff; | 309 | bool m_enable_lightoff; |
310 | bool m_enable_onlylcdoff; | 310 | bool m_enable_onlylcdoff; |
311 | 311 | ||
312 | bool m_lcd_status; | 312 | bool m_lcd_status; |
313 | 313 | ||
314 | int m_backlight_bright; | 314 | int m_backlight_bright; |
315 | bool m_backlight_forcedoff; | 315 | bool m_backlight_forcedoff; |
316 | }; | 316 | }; |
317 | 317 | ||
318 | 318 | ||
319 | void DesktopApplication::switchLCD ( bool on ) | 319 | void DesktopApplication::switchLCD ( bool on ) |
320 | { | 320 | { |
321 | if ( qApp ) { | 321 | if ( qApp ) { |
322 | DesktopApplication *dapp = (DesktopApplication *) qApp; | 322 | DesktopApplication *dapp = (DesktopApplication *) qApp; |
323 | 323 | ||
324 | if ( dapp-> m_screensaver ) { | 324 | if ( dapp-> m_screensaver ) { |
325 | if ( on ) | 325 | if ( on ) |
326 | dapp-> m_screensaver-> restore ( ); //setBacklight ( on ? -3 : -1 ); | 326 | dapp-> m_screensaver-> restore ( ); //setBacklight ( on ? -3 : -1 ); |
327 | else | 327 | else |
328 | dapp-> m_screensaver-> save ( 1 ); | 328 | dapp-> m_screensaver-> save ( 1 ); |
329 | 329 | ||
330 | } | 330 | } |
331 | } | 331 | } |
332 | } | 332 | } |
333 | 333 | ||
334 | 334 | ||
335 | DesktopApplication::DesktopApplication( int& argc, char **argv, Type appType ) | 335 | DesktopApplication::DesktopApplication( int& argc, char **argv, Type appType ) |
336 | : QPEApplication( argc, argv, appType ) | 336 | : QPEApplication( argc, argv, appType ) |
337 | { | 337 | { |
338 | 338 | ||
339 | QTimer * t = new QTimer( this ); | 339 | QTimer * t = new QTimer( this ); |
340 | connect( t, SIGNAL( timeout() ), this, SLOT( psTimeout() ) ); | 340 | connect( t, SIGNAL( timeout() ), this, SLOT( psTimeout() ) ); |
341 | t->start( 10000 ); | 341 | t->start( 10000 ); |
342 | ps = new PowerStatus; | 342 | ps = new PowerStatus; |
343 | pa = new DesktopPowerAlerter( 0 ); | 343 | pa = new DesktopPowerAlerter( 0 ); |
344 | 344 | ||
345 | channel = new QCopChannel( "QPE/Desktop", this ); | 345 | channel = new QCopChannel( "QPE/Desktop", this ); |
346 | connect( channel, SIGNAL( received( const QCString&, const QByteArray& ) ), | 346 | connect( channel, SIGNAL( received( const QCString&, const QByteArray& ) ), |
347 | this, SLOT( desktopMessage( const QCString&, const QByteArray& ) ) ); | 347 | this, SLOT( desktopMessage( const QCString&, const QByteArray& ) ) ); |
348 | 348 | ||
349 | channel = new QCopChannel( "QPE/System", this ); | 349 | channel = new QCopChannel( "QPE/System", this ); |
350 | connect( channel, SIGNAL( received( const QCString&, const QByteArray& ) ), | 350 | connect( channel, SIGNAL( received( const QCString&, const QByteArray& ) ), |
351 | this, SLOT( systemMessage( const QCString&, const QByteArray& ) ) ); | 351 | this, SLOT( systemMessage( const QCString&, const QByteArray& ) ) ); |
352 | 352 | ||
353 | m_screensaver = new QPEScreenSaver; | 353 | m_screensaver = new QPEScreenSaver; |
354 | 354 | ||
355 | m_screensaver-> setInterval ( -1 ); | 355 | m_screensaver-> setInterval ( -1 ); |
356 | QWSServer::setScreenSaver( m_screensaver ); | 356 | QWSServer::setScreenSaver( m_screensaver ); |
357 | } | 357 | } |
358 | 358 | ||
359 | 359 | ||
360 | DesktopApplication::~DesktopApplication() | 360 | DesktopApplication::~DesktopApplication() |
361 | { | 361 | { |
362 | delete ps; | 362 | delete ps; |
363 | delete pa; | 363 | delete pa; |
364 | } | 364 | } |
365 | 365 | ||
366 | void DesktopApplication::desktopMessage( const QCString &msg, const QByteArray &data ) | 366 | void DesktopApplication::desktopMessage( const QCString &msg, const QByteArray &data ) |
367 | { | 367 | { |
368 | #ifdef Q_WS_QWS | 368 | #ifdef Q_WS_QWS |
369 | QDataStream stream( data, IO_ReadOnly ); | 369 | QDataStream stream( data, IO_ReadOnly ); |
370 | if ( msg == "keyRegister(int key, QString channel, QString message)" ) { | 370 | if ( msg == "keyRegister(int key, QString channel, QString message)" ) { |
371 | int k; | 371 | int k; |
372 | QString c, m; | 372 | QString c, m; |
373 | stream >> k; | 373 | stream >> k; |
374 | stream >> c; | 374 | stream >> c; |
375 | stream >> m; | 375 | stream >> m; |
376 | 376 | ||
377 | qWarning( "KeyRegisterReceived: %i, %s, %s", k, ( const char* ) c, ( const char * ) m ); | 377 | qWarning( "KeyRegisterReceived: %i, %s, %s", k, ( const char* ) c, ( const char * ) m ); |
378 | keyRegisterList.append( QCopKeyRegister( k, c, m ) ); | 378 | keyRegisterList.append( QCopKeyRegister( k, c, m ) ); |
379 | } | 379 | } |
380 | else if ( msg == "suspend()" ) { | 380 | else if ( msg == "suspend()" ) { |
381 | emit power(); | 381 | emit power(); |
382 | } | 382 | } |
383 | else if ( msg == "home()" ) { | 383 | else if ( msg == "home()" ) { |
384 | qpedesktop-> home ( ); | 384 | qpedesktop-> home ( ); |
385 | } | 385 | } |
386 | #endif | 386 | #endif |
387 | } | 387 | } |
388 | 388 | ||
389 | 389 | ||
390 | void DesktopApplication::systemMessage( const QCString & msg, const QByteArray & data ) | 390 | void DesktopApplication::systemMessage( const QCString & msg, const QByteArray & data ) |
391 | { | 391 | { |
392 | #ifdef Q_WS_QWS | 392 | #ifdef Q_WS_QWS |
393 | QDataStream stream ( data, IO_ReadOnly ); | 393 | QDataStream stream ( data, IO_ReadOnly ); |
394 | 394 | ||
395 | if ( msg == "setScreenSaverInterval(int)" ) { | 395 | if ( msg == "setScreenSaverInterval(int)" ) { |
396 | int time; | 396 | int time; |
397 | stream >> time; | 397 | stream >> time; |
398 | m_screensaver-> setInterval( time ); | 398 | m_screensaver-> setInterval( time ); |
399 | } | 399 | } |
400 | else if ( msg == "setScreenSaverIntervals(int,int,int)" ) { | 400 | else if ( msg == "setScreenSaverIntervals(int,int,int)" ) { |
401 | int t1, t2, t3; | 401 | int t1, t2, t3; |
402 | stream >> t1 >> t2 >> t3; | 402 | stream >> t1 >> t2 >> t3; |
403 | m_screensaver-> setIntervals( t1, t2, t3 ); | 403 | m_screensaver-> setIntervals( t1, t2, t3 ); |
404 | } | 404 | } |
405 | else if ( msg == "setBacklight(int)" ) { | 405 | else if ( msg == "setBacklight(int)" ) { |
406 | int bright; | 406 | int bright; |
407 | stream >> bright; | 407 | stream >> bright; |
408 | m_screensaver-> setBacklight( bright ); | 408 | m_screensaver-> setBacklight( bright ); |
409 | } | 409 | } |
410 | else if ( msg == "setScreenSaverMode(int)" ) { | 410 | else if ( msg == "setScreenSaverMode(int)" ) { |
411 | int mode; | 411 | int mode; |
412 | stream >> mode; | 412 | stream >> mode; |
413 | m_screensaver-> setMode ( mode ); | 413 | m_screensaver-> setMode ( mode ); |
414 | } | 414 | } |
415 | #endif | 415 | #endif |
416 | } | 416 | } |
417 | 417 | ||
418 | enum MemState { Unknown, VeryLow, Low, Normal } memstate = Unknown; | 418 | enum MemState { Unknown, VeryLow, Low, Normal } memstate = Unknown; |
419 | 419 | ||
420 | #ifdef Q_WS_QWS | 420 | #ifdef Q_WS_QWS |
421 | bool DesktopApplication::qwsEventFilter( QWSEvent *e ) | 421 | bool DesktopApplication::qwsEventFilter( QWSEvent *e ) |
422 | { | 422 | { |
423 | qpedesktop->checkMemory(); | 423 | qpedesktop->checkMemory(); |
424 | 424 | ||
425 | if ( e->type == QWSEvent::Key ) { | 425 | if ( e->type == QWSEvent::Key ) { |
426 | QWSKeyEvent * ke = ( QWSKeyEvent * ) e; | 426 | QWSKeyEvent * ke = ( QWSKeyEvent * ) e; |
427 | if ( !loggedin && ke->simpleData.keycode != Key_F34 ) | 427 | if ( !loggedin && ke->simpleData.keycode != Key_F34 ) |
428 | return TRUE; | 428 | return TRUE; |
429 | bool press = ke->simpleData.is_press; | 429 | bool press = ke->simpleData.is_press; |
430 | bool autoRepeat = ke->simpleData.is_auto_repeat; | 430 | bool autoRepeat = ke->simpleData.is_auto_repeat; |
431 | 431 | ||
432 | /* | 432 | /* |
433 | app that registers key/message to be sent back to the app, when it doesn't have focus, | 433 | app that registers key/message to be sent back to the app, when it doesn't have focus, |
434 | when user presses key, unless keyboard has been requested from app. | 434 | when user presses key, unless keyboard has been requested from app. |
435 | will not send multiple repeats if user holds key | 435 | will not send multiple repeats if user holds key |
436 | i.e. one shot | 436 | i.e. one shot |
437 | */ | 437 | */ |
438 | if ( !keyRegisterList.isEmpty() && ke->simpleData.keycode !=0 && press) { | 438 | if ( !keyRegisterList.isEmpty() && ke->simpleData.keycode !=0 && press) { |
439 | // qDebug("<<<<<<<<<<<<<keycode %d", ke->simpleData.keycode); | 439 | // qDebug("<<<<<<<<<<<<<keycode %d", ke->simpleData.keycode); |
440 | KeyRegisterList::Iterator it; | 440 | KeyRegisterList::Iterator it; |
441 | for ( it = keyRegisterList.begin(); it != keyRegisterList.end(); ++it ) { | 441 | for ( it = keyRegisterList.begin(); it != keyRegisterList.end(); ++it ) { |
442 | if ( ( *it ).getKeyCode() == ke->simpleData.keycode && !autoRepeat && !keyboardGrabbed() ) { | 442 | if ( ( *it ).getKeyCode() == ke->simpleData.keycode && !autoRepeat && !keyboardGrabbed() ) { |
443 | if ( press ) | 443 | if ( press ) |
444 | qDebug( "press" ); | 444 | qDebug( "press" ); |
445 | else | 445 | else |
446 | qDebug( "release" ); | 446 | qDebug( "release" ); |
447 | QCopEnvelope( ( *it ).getChannel().utf8(), ( *it ).getMessage().utf8() ); | 447 | QCopEnvelope( ( *it ).getChannel().utf8(), ( *it ).getMessage().utf8() ); |
448 | } | 448 | } |
449 | } | 449 | } |
450 | } | 450 | } |
451 | 451 | ||
452 | if ( !keyboardGrabbed() ) { | 452 | if ( !keyboardGrabbed() ) { |
453 | if ( ke->simpleData.keycode == Key_F9 ) { | 453 | if ( ke->simpleData.keycode == Key_F9 ) { |
454 | if ( press ) | 454 | if ( press ) |
455 | emit datebook(); | 455 | emit datebook(); |
456 | return TRUE; | 456 | return TRUE; |
457 | } | 457 | } |
458 | if ( ke->simpleData.keycode == Key_F10 ) { | 458 | if ( ke->simpleData.keycode == Key_F10 ) { |
459 | if ( !press && cardSendTimer ) { | 459 | if ( !press && cardSendTimer ) { |
460 | emit contacts(); | 460 | emit contacts(); |
461 | delete cardSendTimer; | 461 | delete cardSendTimer; |
462 | } | 462 | } |
463 | else if ( press ) { | 463 | else if ( press ) { |
464 | cardSendTimer = new QTimer(); | 464 | cardSendTimer = new QTimer(); |
465 | cardSendTimer->start( 2000, TRUE ); | 465 | cardSendTimer->start( 2000, TRUE ); |
466 | connect( cardSendTimer, SIGNAL( timeout() ), this, SLOT( sendCard() ) ); | 466 | connect( cardSendTimer, SIGNAL( timeout() ), this, SLOT( sendCard() ) ); |
467 | } | 467 | } |
468 | return TRUE; | 468 | return TRUE; |
469 | } | 469 | } |
470 | /* menu key now opens application menu/toolbar | 470 | /* menu key now opens application menu/toolbar |
471 | if ( ke->simpleData.keycode == Key_F11 ) { | 471 | if ( ke->simpleData.keycode == Key_F11 ) { |
472 | if ( press ) emit menu(); | 472 | if ( press ) emit menu(); |
473 | return TRUE; | 473 | return TRUE; |
474 | } | 474 | } |
475 | */ | 475 | */ |
476 | if ( ke->simpleData.keycode == Key_F12 ) { | 476 | if ( ke->simpleData.keycode == Key_F12 ) { |
477 | while ( activePopupWidget() ) | 477 | while ( activePopupWidget() ) |
478 | activePopupWidget() ->close(); | 478 | activePopupWidget() ->close(); |
479 | if ( press ) | 479 | if ( press ) |
480 | emit launch(); | 480 | emit launch(); |
@@ -582,247 +582,247 @@ void DesktopApplication::sendCard() | |||
582 | 582 | ||
583 | #if defined(QPE_HAVE_MEMALERTER) | 583 | #if defined(QPE_HAVE_MEMALERTER) |
584 | QPE_MEMALERTER_IMPL | 584 | QPE_MEMALERTER_IMPL |
585 | #endif | 585 | #endif |
586 | 586 | ||
587 | //=========================================================================== | 587 | //=========================================================================== |
588 | 588 | ||
589 | Desktop::Desktop() : | 589 | Desktop::Desktop() : |
590 | QWidget( 0, 0, WStyle_Tool | WStyle_Customize ), | 590 | QWidget( 0, 0, WStyle_Tool | WStyle_Customize ), |
591 | qcopBridge( 0 ), | 591 | qcopBridge( 0 ), |
592 | transferServer( 0 ), | 592 | transferServer( 0 ), |
593 | packageSlave( 0 ) | 593 | packageSlave( 0 ) |
594 | { | 594 | { |
595 | qpedesktop = this; | 595 | qpedesktop = this; |
596 | 596 | ||
597 | // bg = new Info( this ); | 597 | // bg = new Info( this ); |
598 | tb = new TaskBar; | 598 | tb = new TaskBar; |
599 | 599 | ||
600 | launcher = new Launcher( 0, 0, WStyle_Customize | QWidget::WGroupLeader ); | 600 | launcher = new Launcher( 0, 0, WStyle_Customize | QWidget::WGroupLeader ); |
601 | 601 | ||
602 | connect( launcher, SIGNAL( busy() ), tb, SLOT( startWait() ) ); | 602 | connect( launcher, SIGNAL( busy() ), tb, SLOT( startWait() ) ); |
603 | connect( launcher, SIGNAL( notBusy( const QString& ) ), tb, SLOT( stopWait( const QString& ) ) ); | 603 | connect( launcher, SIGNAL( notBusy( const QString& ) ), tb, SLOT( stopWait( const QString& ) ) ); |
604 | 604 | ||
605 | int displayw = qApp->desktop() ->width(); | 605 | int displayw = qApp->desktop() ->width(); |
606 | int displayh = qApp->desktop() ->height(); | 606 | int displayh = qApp->desktop() ->height(); |
607 | 607 | ||
608 | 608 | ||
609 | QSize sz = tb->sizeHint(); | 609 | QSize sz = tb->sizeHint(); |
610 | 610 | ||
611 | setGeometry( 0, displayh - sz.height(), displayw, sz.height() ); | 611 | setGeometry( 0, displayh - sz.height(), displayw, sz.height() ); |
612 | tb->setGeometry( 0, displayh - sz.height(), displayw, sz.height() ); | 612 | tb->setGeometry( 0, displayh - sz.height(), displayw, sz.height() ); |
613 | 613 | ||
614 | tb->show(); | 614 | tb->show(); |
615 | launcher->showMaximized(); | 615 | launcher->showMaximized(); |
616 | launcher->show(); | 616 | launcher->show(); |
617 | launcher->raise(); | 617 | launcher->raise(); |
618 | #if defined(QPE_HAVE_MEMALERTER) | 618 | #if defined(QPE_HAVE_MEMALERTER) |
619 | 619 | ||
620 | initMemalerter(); | 620 | initMemalerter(); |
621 | #endif | 621 | #endif |
622 | // start services | 622 | // start services |
623 | startTransferServer(); | 623 | startTransferServer(); |
624 | ( void ) new IrServer( this ); | 624 | ( void ) new IrServer( this ); |
625 | rereadVolumes(); | 625 | rereadVolumes(); |
626 | 626 | ||
627 | packageSlave = new PackageSlave( this ); | 627 | packageSlave = new PackageSlave( this ); |
628 | connect( qApp, SIGNAL( volumeChanged( bool ) ), this, SLOT( rereadVolumes() ) ); | 628 | connect( qApp, SIGNAL( volumeChanged( bool ) ), this, SLOT( rereadVolumes() ) ); |
629 | 629 | ||
630 | qApp->installEventFilter( this ); | 630 | qApp->installEventFilter( this ); |
631 | } | 631 | } |
632 | 632 | ||
633 | void Desktop::show() | 633 | void Desktop::show() |
634 | { | 634 | { |
635 | login( TRUE ); | 635 | login( TRUE ); |
636 | QWidget::show(); | 636 | QWidget::show(); |
637 | } | 637 | } |
638 | 638 | ||
639 | Desktop::~Desktop() | 639 | Desktop::~Desktop() |
640 | { | 640 | { |
641 | delete launcher; | 641 | delete launcher; |
642 | delete tb; | 642 | delete tb; |
643 | delete qcopBridge; | 643 | delete qcopBridge; |
644 | delete transferServer; | 644 | delete transferServer; |
645 | } | 645 | } |
646 | 646 | ||
647 | bool Desktop::recoverMemory() | 647 | bool Desktop::recoverMemory() |
648 | { | 648 | { |
649 | return tb->recoverMemory(); | 649 | return tb->recoverMemory(); |
650 | } | 650 | } |
651 | 651 | ||
652 | void Desktop::checkMemory() | 652 | void Desktop::checkMemory() |
653 | { | 653 | { |
654 | #if defined(QPE_HAVE_MEMALERTER) | 654 | #if defined(QPE_HAVE_MEMALERTER) |
655 | static bool ignoreNormal = FALSE; | 655 | static bool ignoreNormal = FALSE; |
656 | static bool existingMessage = FALSE; | 656 | static bool existingMessage = FALSE; |
657 | 657 | ||
658 | if ( existingMessage ) | 658 | if ( existingMessage ) |
659 | return ; // don't show a second message while still on first | 659 | return ; // don't show a second message while still on first |
660 | 660 | ||
661 | existingMessage = TRUE; | 661 | existingMessage = TRUE; |
662 | switch ( memstate ) { | 662 | switch ( memstate ) { |
663 | case Unknown: | 663 | case Unknown: |
664 | break; | 664 | break; |
665 | case Low: | 665 | case Low: |
666 | memstate = Unknown; | 666 | memstate = Unknown; |
667 | if ( recoverMemory() ) | 667 | if ( recoverMemory() ) |
668 | ignoreNormal = TRUE; | 668 | ignoreNormal = TRUE; |
669 | else | 669 | else |
670 | QMessageBox::warning( 0 , "Memory Status", | 670 | QMessageBox::warning( 0 , "Memory Status", |
671 | "The memory smacks of shortage. \n" | 671 | "The memory smacks of shortage. \n" |
672 | "Please save data. " ); | 672 | "Please save data. " ); |
673 | break; | 673 | break; |
674 | case Normal: | 674 | case Normal: |
675 | memstate = Unknown; | 675 | memstate = Unknown; |
676 | if ( ignoreNormal ) | 676 | if ( ignoreNormal ) |
677 | ignoreNormal = FALSE; | 677 | ignoreNormal = FALSE; |
678 | else | 678 | // else |
679 | QMessageBox::information ( 0 , "Memory Status", | 679 | // QMessageBox::information ( 0 , "Memory Status", |
680 | "There is enough memory again." ); | 680 | // "There is enough memory again." ); |
681 | break; | 681 | break; |
682 | case VeryLow: | 682 | case VeryLow: |
683 | memstate = Unknown; | 683 | memstate = Unknown; |
684 | QMessageBox::critical( 0 , "Memory Status", | 684 | QMessageBox::critical( 0 , "Memory Status", |
685 | "The memory is very low. \n" | 685 | "The memory is very low. \n" |
686 | "Please end this application \n" | 686 | "Please end this application \n" |
687 | "immediately." ); | 687 | "immediately." ); |
688 | recoverMemory(); | 688 | recoverMemory(); |
689 | } | 689 | } |
690 | existingMessage = FALSE; | 690 | existingMessage = FALSE; |
691 | #endif | 691 | #endif |
692 | } | 692 | } |
693 | 693 | ||
694 | static bool isVisibleWindow( int wid ) | 694 | static bool isVisibleWindow( int wid ) |
695 | { | 695 | { |
696 | const QList<QWSWindow> &list = qwsServer->clientWindows(); | 696 | const QList<QWSWindow> &list = qwsServer->clientWindows(); |
697 | QWSWindow* w; | 697 | QWSWindow* w; |
698 | for ( QListIterator<QWSWindow> it( list ); ( w = it.current() ); ++it ) { | 698 | for ( QListIterator<QWSWindow> it( list ); ( w = it.current() ); ++it ) { |
699 | if ( w->winId() == wid ) | 699 | if ( w->winId() == wid ) |
700 | return !w->isFullyObscured(); | 700 | return !w->isFullyObscured(); |
701 | } | 701 | } |
702 | return FALSE; | 702 | return FALSE; |
703 | } | 703 | } |
704 | 704 | ||
705 | static bool hasVisibleWindow( const QString& clientname ) | 705 | static bool hasVisibleWindow( const QString& clientname ) |
706 | { | 706 | { |
707 | const QList<QWSWindow> &list = qwsServer->clientWindows(); | 707 | const QList<QWSWindow> &list = qwsServer->clientWindows(); |
708 | QWSWindow* w; | 708 | QWSWindow* w; |
709 | for ( QListIterator<QWSWindow> it( list ); ( w = it.current() ); ++it ) { | 709 | for ( QListIterator<QWSWindow> it( list ); ( w = it.current() ); ++it ) { |
710 | if ( w->client() ->identity() == clientname && !w->isFullyObscured() ) | 710 | if ( w->client() ->identity() == clientname && !w->isFullyObscured() ) |
711 | return TRUE; | 711 | return TRUE; |
712 | } | 712 | } |
713 | return FALSE; | 713 | return FALSE; |
714 | } | 714 | } |
715 | 715 | ||
716 | void Desktop::raiseLauncher() | 716 | void Desktop::raiseLauncher() |
717 | { | 717 | { |
718 | Config cfg( "qpe" ); //F12 'Home' | 718 | Config cfg( "qpe" ); //F12 'Home' |
719 | cfg.setGroup( "AppsKey" ); | 719 | cfg.setGroup( "AppsKey" ); |
720 | QString tempItem; | 720 | QString tempItem; |
721 | tempItem = cfg.readEntry( "Middle", "Home" ); | 721 | tempItem = cfg.readEntry( "Middle", "Home" ); |
722 | if ( tempItem == "Home" || tempItem.isEmpty() ) { | 722 | if ( tempItem == "Home" || tempItem.isEmpty() ) { |
723 | home ( ); | 723 | home ( ); |
724 | } | 724 | } |
725 | else { | 725 | else { |
726 | QCopEnvelope e( "QPE/System", "execute(QString)" ); | 726 | QCopEnvelope e( "QPE/System", "execute(QString)" ); |
727 | e << tempItem; | 727 | e << tempItem; |
728 | } | 728 | } |
729 | } | 729 | } |
730 | 730 | ||
731 | void Desktop::home ( ) | 731 | void Desktop::home ( ) |
732 | { | 732 | { |
733 | if ( isVisibleWindow( launcher->winId() ) ) | 733 | if ( isVisibleWindow( launcher->winId() ) ) |
734 | launcher->nextView(); | 734 | launcher->nextView(); |
735 | else | 735 | else |
736 | launcher->raise(); | 736 | launcher->raise(); |
737 | } | 737 | } |
738 | 738 | ||
739 | void Desktop::executeOrModify( const QString& appLnkFile ) | 739 | void Desktop::executeOrModify( const QString& appLnkFile ) |
740 | { | 740 | { |
741 | AppLnk lnk( MimeType::appsFolderName() + "/" + appLnkFile ); | 741 | AppLnk lnk( MimeType::appsFolderName() + "/" + appLnkFile ); |
742 | if ( lnk.isValid() ) { | 742 | if ( lnk.isValid() ) { |
743 | QCString app = lnk.exec().utf8(); | 743 | QCString app = lnk.exec().utf8(); |
744 | Global::terminateBuiltin( "calibrate" ); | 744 | Global::terminateBuiltin( "calibrate" ); |
745 | if ( QCopChannel::isRegistered( "QPE/Application/" + app ) ) { | 745 | if ( QCopChannel::isRegistered( "QPE/Application/" + app ) ) { |
746 | // MRUList::addTask( &lnk ); | 746 | // MRUList::addTask( &lnk ); |
747 | if ( hasVisibleWindow( app ) ) | 747 | if ( hasVisibleWindow( app ) ) |
748 | QCopChannel::send( "QPE/Application/" + app, "nextView()" ); | 748 | QCopChannel::send( "QPE/Application/" + app, "nextView()" ); |
749 | else | 749 | else |
750 | QCopChannel::send( "QPE/Application/" + app, "raise()" ); | 750 | QCopChannel::send( "QPE/Application/" + app, "raise()" ); |
751 | } | 751 | } |
752 | else { | 752 | else { |
753 | lnk.execute(); | 753 | lnk.execute(); |
754 | } | 754 | } |
755 | } | 755 | } |
756 | } | 756 | } |
757 | 757 | ||
758 | void Desktop::raiseDatebook() | 758 | void Desktop::raiseDatebook() |
759 | { | 759 | { |
760 | Config cfg( "qpe" ); //F9 'Activity' | 760 | Config cfg( "qpe" ); //F9 'Activity' |
761 | cfg.setGroup( "AppsKey" ); | 761 | cfg.setGroup( "AppsKey" ); |
762 | QString tempItem; | 762 | QString tempItem; |
763 | tempItem = cfg.readEntry( "LeftEnd" , "Calendar" ); | 763 | tempItem = cfg.readEntry( "LeftEnd" , "Calendar" ); |
764 | if ( tempItem == "Calendar" || tempItem.isEmpty() ) { | 764 | if ( tempItem == "Calendar" || tempItem.isEmpty() ) { |
765 | tempItem = "datebook"; | 765 | tempItem = "datebook"; |
766 | } | 766 | } |
767 | QCopEnvelope e( "QPE/System", "execute(QString)" ); | 767 | QCopEnvelope e( "QPE/System", "execute(QString)" ); |
768 | e << tempItem; | 768 | e << tempItem; |
769 | } | 769 | } |
770 | 770 | ||
771 | void Desktop::raiseContacts() | 771 | void Desktop::raiseContacts() |
772 | { | 772 | { |
773 | Config cfg( "qpe" ); //F10, 'Contacts' | 773 | Config cfg( "qpe" ); //F10, 'Contacts' |
774 | cfg.setGroup( "AppsKey" ); | 774 | cfg.setGroup( "AppsKey" ); |
775 | QString tempItem; | 775 | QString tempItem; |
776 | tempItem = cfg.readEntry( "Left2nd", "Address Book" ); | 776 | tempItem = cfg.readEntry( "Left2nd", "Address Book" ); |
777 | if ( tempItem == "Address Book" || tempItem.isEmpty() ) { | 777 | if ( tempItem == "Address Book" || tempItem.isEmpty() ) { |
778 | tempItem = "addressbook"; | 778 | tempItem = "addressbook"; |
779 | } | 779 | } |
780 | QCopEnvelope e( "QPE/System", "execute(QString)" ); | 780 | QCopEnvelope e( "QPE/System", "execute(QString)" ); |
781 | e << tempItem; | 781 | e << tempItem; |
782 | } | 782 | } |
783 | 783 | ||
784 | void Desktop::raiseMenu() | 784 | void Desktop::raiseMenu() |
785 | { | 785 | { |
786 | Config cfg( "qpe" ); //F11, 'Menu | 786 | Config cfg( "qpe" ); //F11, 'Menu |
787 | cfg.setGroup( "AppsKey" ); | 787 | cfg.setGroup( "AppsKey" ); |
788 | QString tempItem; | 788 | QString tempItem; |
789 | tempItem = cfg.readEntry( "Right2nd" , "Popup Menu" ); | 789 | tempItem = cfg.readEntry( "Right2nd" , "Popup Menu" ); |
790 | if ( tempItem == "Popup Menu" || tempItem.isEmpty() ) { | 790 | if ( tempItem == "Popup Menu" || tempItem.isEmpty() ) { |
791 | Global::terminateBuiltin( "calibrate" ); | 791 | Global::terminateBuiltin( "calibrate" ); |
792 | tb->startMenu() ->launch(); | 792 | tb->startMenu() ->launch(); |
793 | } | 793 | } |
794 | else { | 794 | else { |
795 | QCopEnvelope e( "QPE/System", "execute(QString)" ); | 795 | QCopEnvelope e( "QPE/System", "execute(QString)" ); |
796 | e << tempItem; | 796 | e << tempItem; |
797 | } | 797 | } |
798 | } | 798 | } |
799 | 799 | ||
800 | void Desktop::raiseEmail() | 800 | void Desktop::raiseEmail() |
801 | { | 801 | { |
802 | Config cfg( "qpe" ); //F13, 'Mail' // only in zaurus, on ipaq mail key is F11 | 802 | Config cfg( "qpe" ); //F13, 'Mail' // only in zaurus, on ipaq mail key is F11 |
803 | cfg.setGroup( "AppsKey" ); | 803 | cfg.setGroup( "AppsKey" ); |
804 | QString tempItem; | 804 | QString tempItem; |
805 | tempItem = cfg.readEntry( "RightEnd", "Mail" ); | 805 | tempItem = cfg.readEntry( "RightEnd", "Mail" ); |
806 | if ( tempItem == "Mail" || tempItem == "qtmail" || tempItem.isEmpty() ) { | 806 | if ( tempItem == "Mail" || tempItem == "qtmail" || tempItem.isEmpty() ) { |
807 | tempItem = "mail"; | 807 | tempItem = "mail"; |
808 | } | 808 | } |
809 | QCopEnvelope e( "QPE/System", "execute(QString)" ); | 809 | QCopEnvelope e( "QPE/System", "execute(QString)" ); |
810 | e << tempItem; | 810 | e << tempItem; |
811 | } | 811 | } |
812 | 812 | ||
813 | // autoStarts apps on resume and start | 813 | // autoStarts apps on resume and start |
814 | void Desktop::execAutoStart() | 814 | void Desktop::execAutoStart() |
815 | { | 815 | { |
816 | QString appName; | 816 | QString appName; |
817 | int delay; | 817 | int delay; |
818 | QDateTime now = QDateTime::currentDateTime(); | 818 | QDateTime now = QDateTime::currentDateTime(); |
819 | Config cfg( "autostart" ); | 819 | Config cfg( "autostart" ); |
820 | cfg.setGroup( "AutoStart" ); | 820 | cfg.setGroup( "AutoStart" ); |
821 | appName = cfg.readEntry( "Apps", "" ); | 821 | appName = cfg.readEntry( "Apps", "" ); |
822 | delay = ( cfg.readEntry( "Delay", "0" ) ).toInt(); | 822 | delay = ( cfg.readEntry( "Delay", "0" ) ).toInt(); |
823 | // If the time between suspend and resume was longer then the | 823 | // If the time between suspend and resume was longer then the |
824 | // value saved as delay, start the app | 824 | // value saved as delay, start the app |
825 | if ( suspendTime.secsTo( now ) >= ( delay * 60 ) && !appName.isEmpty() ) { | 825 | if ( suspendTime.secsTo( now ) >= ( delay * 60 ) && !appName.isEmpty() ) { |
826 | QCopEnvelope e( "QPE/System", "execute(QString)" ); | 826 | QCopEnvelope e( "QPE/System", "execute(QString)" ); |
827 | e << QString( appName ); | 827 | e << QString( appName ); |
828 | } | 828 | } |