summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/desktop.cpp22
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
@@ -262,187 +262,187 @@ public:
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
306private: 306private:
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
319void DesktopApplication::switchLCD ( bool on ) 319void 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
335DesktopApplication::DesktopApplication( int& argc, char **argv, Type appType ) 335DesktopApplication::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
360DesktopApplication::~DesktopApplication() 360DesktopApplication::~DesktopApplication()
361{ 361{
362 delete ps; 362 delete ps;
363 delete pa; 363 delete pa;
364} 364}
365 365
366void DesktopApplication::desktopMessage( const QCString &msg, const QByteArray &data ) 366void 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
390void DesktopApplication::systemMessage( const QCString & msg, const QByteArray & data ) 390void 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
418enum MemState { Unknown, VeryLow, Low, Normal } memstate = Unknown; 418enum MemState { Unknown, VeryLow, Low, Normal } memstate = Unknown;
419 419
420#ifdef Q_WS_QWS 420#ifdef Q_WS_QWS
421bool DesktopApplication::qwsEventFilter( QWSEvent *e ) 421bool 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 }
@@ -614,183 +614,183 @@ Desktop::Desktop() :
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
633void Desktop::show() 633void Desktop::show()
634{ 634{
635 login( TRUE ); 635 login( TRUE );
636 QWidget::show(); 636 QWidget::show();
637} 637}
638 638
639Desktop::~Desktop() 639Desktop::~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
647bool Desktop::recoverMemory() 647bool Desktop::recoverMemory()
648{ 648{
649 return tb->recoverMemory(); 649 return tb->recoverMemory();
650} 650}
651 651
652void Desktop::checkMemory() 652void 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
694static bool isVisibleWindow( int wid ) 694static 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
705static bool hasVisibleWindow( const QString& clientname ) 705static 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
716void Desktop::raiseLauncher() 716void 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
731void Desktop::home ( ) 731void 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
739void Desktop::executeOrModify( const QString& appLnkFile ) 739void 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
758void Desktop::raiseDatebook() 758void 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
771void Desktop::raiseContacts() 771void 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
784void Desktop::raiseMenu() 784void 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;