summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/desktop.cpp28
1 files changed, 21 insertions, 7 deletions
diff --git a/core/launcher/desktop.cpp b/core/launcher/desktop.cpp
index 6ee7132..0e60839 100644
--- a/core/launcher/desktop.cpp
+++ b/core/launcher/desktop.cpp
@@ -163,34 +163,36 @@ public:
163 { 163 {
164 m_disable_suspend = 100; 164 m_disable_suspend = 100;
165 m_enable_dim = false; 165 m_enable_dim = false;
166 m_enable_lightoff = false; 166 m_enable_lightoff = false;
167 m_enable_onlylcdoff = false; 167 m_enable_onlylcdoff = false;
168 168
169 m_lcd_status = true; 169 m_lcd_status = true;
170 170
171 m_backlight_bright = -1; 171 m_backlight_bright = -1;
172 m_backlight_forcedoff = false; 172 m_backlight_forcedoff = false;
173 173
174 // Make sure the LCD is in fact on, (if opie was killed while the LCD is off it would still be off) 174 // Make sure the LCD is in fact on, (if opie was killed while the LCD is off it would still be off)
175 ODevice::inst ( ) -> setDisplayStatus ( true ); 175 ODevice::inst ( ) -> setDisplayStatus ( true );
176 } 176 }
177 void restore() 177 void restore()
178 { 178 {
179 if ( !m_lcd_status ) // We must have turned it off 179 if ( !m_lcd_status ) { // We must have turned it off
180 ODevice::inst ( ) -> setDisplayStatus ( true ); 180 ODevice::inst ( ) -> setDisplayStatus ( true );
181 m_lcd_status = true;
182 }
181 183
182 setBacklight ( -3 ); 184 setBacklight ( -3 );
183 } 185 }
184 bool save( int level ) 186 bool save( int level )
185 { 187 {
186 switch ( level ) { 188 switch ( level ) {
187 case 0: 189 case 0:
188 if ( m_disable_suspend > 0 && m_enable_dim ) { 190 if ( m_disable_suspend > 0 && m_enable_dim ) {
189 if ( backlight() > 1 ) 191 if ( backlight() > 1 )
190 setBacklight( 1 ); // lowest non-off 192 setBacklight( 1 ); // lowest non-off
191 } 193 }
192 return true; 194 return true;
193 break; 195 break;
194 case 1: 196 case 1:
195 if ( m_disable_suspend > 1 && m_enable_lightoff ) { 197 if ( m_disable_suspend > 1 && m_enable_lightoff ) {
196 setBacklight( 0 ); // off 198 setBacklight( 0 ); // off
@@ -290,32 +292,40 @@ public:
290 if ( m_backlight_forcedoff && bright != -2 ) 292 if ( m_backlight_forcedoff && bright != -2 )
291 return ; 293 return ;
292 if ( bright == -2 ) { 294 if ( bright == -2 ) {
293 // Toggle between off and on 295 // Toggle between off and on
294 bright = m_backlight_bright ? 0 : -1; 296 bright = m_backlight_bright ? 0 : -1;
295 m_backlight_forcedoff = !bright; 297 m_backlight_forcedoff = !bright;
296 } 298 }
297 299
298 m_backlight_bright = bright; 300 m_backlight_bright = bright;
299 301
300 bright = backlight ( ); 302 bright = backlight ( );
301 ODevice::inst ( ) -> setDisplayBrightness ( bright ); 303 ODevice::inst ( ) -> setDisplayBrightness ( bright );
302 304
303 m_backlight_bright = bright; 305 m_backlight_bright = bright;
304 } 306 }
305 307
308 void setDisplayState ( bool on )
309 {
310 if ( m_lcd_status != on ) {
311 ODevice::inst ( ) -> setDisplayStatus ( on );
312 m_lcd_status = on;
313 }
314 }
315
306private: 316private:
307 int m_disable_suspend; 317 int m_disable_suspend;
308 bool m_enable_dim; 318 bool m_enable_dim;
309 bool m_enable_lightoff; 319 bool m_enable_lightoff;
310 bool m_enable_onlylcdoff; 320 bool m_enable_onlylcdoff;
311 321
312 bool m_lcd_status; 322 bool m_lcd_status;
313 323
314 int m_backlight_bright; 324 int m_backlight_bright;
315 bool m_backlight_forcedoff; 325 bool m_backlight_forcedoff;
316}; 326};
317 327
318 328
319void DesktopApplication::switchLCD ( bool on ) 329void DesktopApplication::switchLCD ( bool on )
320{ 330{
321 if ( qApp ) { 331 if ( qApp ) {
@@ -364,67 +374,69 @@ DesktopApplication::~DesktopApplication()
364} 374}
365 375
366void DesktopApplication::desktopMessage( const QCString &msg, const QByteArray &data ) 376void DesktopApplication::desktopMessage( const QCString &msg, const QByteArray &data )
367{ 377{
368#ifdef Q_WS_QWS 378#ifdef Q_WS_QWS
369 QDataStream stream( data, IO_ReadOnly ); 379 QDataStream stream( data, IO_ReadOnly );
370 if ( msg == "keyRegister(int key, QString channel, QString message)" ) { 380 if ( msg == "keyRegister(int key, QString channel, QString message)" ) {
371 int k; 381 int k;
372 QString c, m; 382 QString c, m;
373 stream >> k; 383 stream >> k;
374 stream >> c; 384 stream >> c;
375 stream >> m; 385 stream >> m;
376 386
377 qWarning( "KeyRegisterReceived: %i, %s, %s", k, ( const char* ) c, ( const char * ) m ); 387 qWarning( "KeyRegisterReceived: %i, %s, %s", k, ( const char* ) c, ( const char * ) m );
378 keyRegisterList.append( QCopKeyRegister( k, c, m ) ); 388 keyRegisterList.append( QCopKeyRegister( k, c, m ) );
379 } 389 }
380 else if ( msg == "suspend()" ) {
381 emit power();
382 }
383 else if ( msg == "home()" ) {
384 qpedesktop-> home ( );
385 }
386#endif 390#endif
387} 391}
388 392
389 393
390void DesktopApplication::systemMessage( const QCString & msg, const QByteArray & data ) 394void DesktopApplication::systemMessage( const QCString & msg, const QByteArray & data )
391{ 395{
392#ifdef Q_WS_QWS 396#ifdef Q_WS_QWS
393 QDataStream stream ( data, IO_ReadOnly ); 397 QDataStream stream ( data, IO_ReadOnly );
394 398
395 if ( msg == "setScreenSaverInterval(int)" ) { 399 if ( msg == "setScreenSaverInterval(int)" ) {
396 int time; 400 int time;
397 stream >> time; 401 stream >> time;
398 m_screensaver-> setInterval( time ); 402 m_screensaver-> setInterval( time );
399 } 403 }
400 else if ( msg == "setScreenSaverIntervals(int,int,int)" ) { 404 else if ( msg == "setScreenSaverIntervals(int,int,int)" ) {
401 int t1, t2, t3; 405 int t1, t2, t3;
402 stream >> t1 >> t2 >> t3; 406 stream >> t1 >> t2 >> t3;
403 m_screensaver-> setIntervals( t1, t2, t3 ); 407 m_screensaver-> setIntervals( t1, t2, t3 );
404 } 408 }
405 else if ( msg == "setBacklight(int)" ) { 409 else if ( msg == "setBacklight(int)" ) {
406 int bright; 410 int bright;
407 stream >> bright; 411 stream >> bright;
408 m_screensaver-> setBacklight( bright ); 412 m_screensaver-> setBacklight( bright );
409 } 413 }
410 else if ( msg == "setScreenSaverMode(int)" ) { 414 else if ( msg == "setScreenSaverMode(int)" ) {
411 int mode; 415 int mode;
412 stream >> mode; 416 stream >> mode;
413 m_screensaver-> setMode ( mode ); 417 m_screensaver-> setMode ( mode );
414 } 418 }
419 else if ( msg == "setDisplayState(int)" ) {
420 int state;
421 stream >> state;
422 m_screensaver-> setDisplayState ( state != 0 );
423 }
424 else if ( msg == "suspend()" ) {
425 emit power();
426 }
415#endif 427#endif
416} 428}
417 429
418enum MemState { Unknown, VeryLow, Low, Normal } memstate = Unknown; 430enum MemState { Unknown, VeryLow, Low, Normal } memstate = Unknown;
419 431
420#ifdef Q_WS_QWS 432#ifdef Q_WS_QWS
421bool DesktopApplication::qwsEventFilter( QWSEvent *e ) 433bool DesktopApplication::qwsEventFilter( QWSEvent *e )
422{ 434{
423 qpedesktop->checkMemory(); 435 qpedesktop->checkMemory();
424 436
425 if ( e->type == QWSEvent::Key ) { 437 if ( e->type == QWSEvent::Key ) {
426 QWSKeyEvent * ke = ( QWSKeyEvent * ) e; 438 QWSKeyEvent * ke = ( QWSKeyEvent * ) e;
427 if ( !loggedin && ke->simpleData.keycode != Key_F34 ) 439 if ( !loggedin && ke->simpleData.keycode != Key_F34 )
428 return TRUE; 440 return TRUE;
429 bool press = ke->simpleData.is_press; 441 bool press = ke->simpleData.is_press;
430 bool autoRepeat = ke->simpleData.is_auto_repeat; 442 bool autoRepeat = ke->simpleData.is_auto_repeat;
@@ -615,32 +627,34 @@ Desktop::Desktop() :
615 launcher->showMaximized(); 627 launcher->showMaximized();
616 launcher->show(); 628 launcher->show();
617 launcher->raise(); 629 launcher->raise();
618#if defined(QPE_HAVE_MEMALERTER) 630#if defined(QPE_HAVE_MEMALERTER)
619 631
620 initMemalerter(); 632 initMemalerter();
621#endif 633#endif
622 // start services 634 // start services
623 startTransferServer(); 635 startTransferServer();
624 ( void ) new IrServer( this ); 636 ( void ) new IrServer( this );
625 rereadVolumes(); 637 rereadVolumes();
626 638
627 packageSlave = new PackageSlave( this ); 639 packageSlave = new PackageSlave( this );
628 connect( qApp, SIGNAL( volumeChanged( bool ) ), this, SLOT( rereadVolumes() ) ); 640 connect( qApp, SIGNAL( volumeChanged( bool ) ), this, SLOT( rereadVolumes() ) );
629 641
630 qApp->installEventFilter( this ); 642 qApp->installEventFilter( this );
643
644 qApp-> setMainWidget ( launcher );
631} 645}
632 646
633void Desktop::show() 647void Desktop::show()
634{ 648{
635 login( TRUE ); 649 login( TRUE );
636 QWidget::show(); 650 QWidget::show();
637} 651}
638 652
639Desktop::~Desktop() 653Desktop::~Desktop()
640{ 654{
641 delete launcher; 655 delete launcher;
642 delete tb; 656 delete tb;
643 delete qcopBridge; 657 delete qcopBridge;
644 delete transferServer; 658 delete transferServer;
645} 659}
646 660