summaryrefslogtreecommitdiff
path: root/core/launcher/serverapp.cpp
Unidiff
Diffstat (limited to 'core/launcher/serverapp.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/serverapp.cpp106
1 files changed, 58 insertions, 48 deletions
diff --git a/core/launcher/serverapp.cpp b/core/launcher/serverapp.cpp
index f1bce40..a2302d8 100644
--- a/core/launcher/serverapp.cpp
+++ b/core/launcher/serverapp.cpp
@@ -58,26 +58,32 @@ static ServerApplication *serverApp = 0;
58static int loggedin=0; 58static int loggedin=0;
59 59
60QCopKeyRegister::QCopKeyRegister() 60QCopKeyRegister::QCopKeyRegister()
61 : m_keyCode( 0 ) { 61 : m_keyCode( 0 )
62{
62} 63}
63 64
64QCopKeyRegister::QCopKeyRegister( int k, const QCString& c, const QCString& m ) 65QCopKeyRegister::QCopKeyRegister( int k, const QCString& c, const QCString& m )
65 :m_keyCode( k ), m_channel( c ), m_message( m ) { 66 :m_keyCode( k ), m_channel( c ), m_message( m )
67{
66} 68}
67 69
68int QCopKeyRegister::keyCode()const { 70int QCopKeyRegister::keyCode() const
71{
69 return m_keyCode; 72 return m_keyCode;
70} 73}
71 74
72QCString QCopKeyRegister::channel()const { 75QCString QCopKeyRegister::channel() const
76{
73 return m_channel; 77 return m_channel;
74} 78}
75 79
76QCString QCopKeyRegister::message()const { 80QCString QCopKeyRegister::message() const
81{
77 return m_message; 82 return m_message;
78} 83}
79 84
80bool QCopKeyRegister::send() { 85bool QCopKeyRegister::send()
86{
81 if (m_channel.isNull() ) 87 if (m_channel.isNull() )
82 return false; 88 return false;
83 89
@@ -157,15 +163,18 @@ void KeyFilter::timerEvent(QTimerEvent* e)
157 } 163 }
158} 164}
159 165
160void KeyFilter::registerKey( const QCopKeyRegister& key ) { 166void KeyFilter::registerKey( const QCopKeyRegister& key )
167{
161 m_keys.insert( key.keyCode(), key ); 168 m_keys.insert( key.keyCode(), key );
162} 169}
163 170
164void KeyFilter::unregisterKey( const QCopKeyRegister& key ) { 171void KeyFilter::unregisterKey( const QCopKeyRegister& key )
172{
165 m_keys.remove( key.keyCode() ); 173 m_keys.remove( key.keyCode() );
166} 174}
167 175
168bool KeyFilter::keyRegistered( int key ) { 176bool KeyFilter::keyRegistered( int key )
177{
169 /* 178 /*
170 * Check if we've a key registered 179 * Check if we've a key registered
171 */ 180 */
@@ -173,7 +182,6 @@ bool KeyFilter::keyRegistered( int key ) {
173 return false; 182 return false;
174 else 183 else
175 return true; 184 return true;
176
177} 185}
178 186
179bool KeyFilter::checkButtonAction(bool db, int keycode, int press, int autoRepeat) 187bool KeyFilter::checkButtonAction(bool db, int keycode, int press, int autoRepeat)
@@ -195,8 +203,7 @@ bool KeyFilter::checkButtonAction(bool db, int keycode, int press, int autoRepe
195 if (!db ) { 203 if (!db ) {
196 if (keycode != 0 &&press && !autoRepeat && keyRegistered(keycode) ) 204 if (keycode != 0 &&press && !autoRepeat && keyRegistered(keycode) )
197 return true; 205 return true;
198 }else { 206 } else {
199
200 207
201 // First check to see if DeviceButtonManager knows something about this button: 208 // First check to see if DeviceButtonManager knows something about this button:
202 const ODeviceButton* button = ODevice::inst()->buttonForKeycode(keycode); 209 const ODeviceButton* button = ODevice::inst()->buttonForKeycode(keycode);
@@ -266,7 +273,8 @@ bool ServerApplication::doRestart = FALSE;
266bool ServerApplication::allowRestart = TRUE; 273bool ServerApplication::allowRestart = TRUE;
267bool ServerApplication::ms_is_starting = TRUE; 274bool ServerApplication::ms_is_starting = TRUE;
268 275
269void ServerApplication::switchLCD( bool on ) { 276void ServerApplication::switchLCD( bool on )
277{
270 if ( !qApp ) 278 if ( !qApp )
271 return; 279 return;
272 280
@@ -278,7 +286,7 @@ void ServerApplication::switchLCD( bool on ) {
278 if ( on ) { 286 if ( on ) {
279 dapp-> m_screensaver-> setDisplayState ( true ); 287 dapp-> m_screensaver-> setDisplayState ( true );
280 dapp-> m_screensaver-> setBacklight ( -3 ); 288 dapp-> m_screensaver-> setBacklight ( -3 );
281 }else 289 } else
282 dapp-> m_screensaver-> setDisplayState ( false ); 290 dapp-> m_screensaver-> setDisplayState ( false );
283 291
284 292
@@ -359,13 +367,13 @@ ServerApplication::~ServerApplication()
359{ 367{
360 ungrabKeyboard(); 368 ungrabKeyboard();
361 369
362
363 delete pa; 370 delete pa;
364 delete m_ps; 371 delete m_ps;
365 delete m_ps_last; 372 delete m_ps_last;
366} 373}
367 374
368void ServerApplication::apmTimeout() { 375void ServerApplication::apmTimeout()
376{
369 serverApp-> checkMemory( ); // in case no events are generated 377 serverApp-> checkMemory( ); // in case no events are generated
370 *m_ps_last = *m_ps; 378 *m_ps_last = *m_ps;
371 *m_ps = PowerStatusManager::readStatus(); 379 *m_ps = PowerStatusManager::readStatus();
@@ -408,7 +416,8 @@ void ServerApplication::apmTimeout() {
408} 416}
409 417
410void ServerApplication::systemMessage( const QCString& msg, 418void ServerApplication::systemMessage( const QCString& msg,
411 const QByteArray& data ) { 419 const QByteArray& data )
420{
412 QDataStream stream ( data, IO_ReadOnly ); 421 QDataStream stream ( data, IO_ReadOnly );
413 422
414 if ( msg == "setScreenSaverInterval(int)" ) { 423 if ( msg == "setScreenSaverInterval(int)" ) {
@@ -521,20 +530,20 @@ void ServerApplication::login(bool at_poweron)
521namespace { 530namespace {
522 void execAutoStart(const QDateTime& suspendTime ) { 531 void execAutoStart(const QDateTime& suspendTime ) {
523 QString appName; 532 QString appName;
524 int delay; 533 int delay;
525 QDateTime now = QDateTime::currentDateTime(); 534 QDateTime now = QDateTime::currentDateTime();
526 535
527 Config cfg( "autostart" ); 536 Config cfg( "autostart" );
528 cfg.setGroup( "AutoStart" ); 537 cfg.setGroup( "AutoStart" );
529 appName = cfg.readEntry( "Apps", "" ); 538 appName = cfg.readEntry( "Apps", "" );
530 delay = cfg.readNumEntry( "Delay", 0 ); 539 delay = cfg.readNumEntry( "Delay", 0 );
531 540
532 // If the time between suspend and resume was longer then the 541 // If the time between suspend and resume was longer then the
533 // value saved as delay, start the app 542 // value saved as delay, start the app
534 if ( suspendTime.secsTo( now ) >= ( delay * 60 ) && !appName.isEmpty() ) { 543 if ( suspendTime.secsTo( now ) >= ( delay * 60 ) && !appName.isEmpty() ) {
535 QCopEnvelope e( "QPE/System", "execute(QString)" ); 544 QCopEnvelope e( "QPE/System", "execute(QString)" );
536 e << QString( appName ); 545 e << QString( appName );
537 } 546 }
538 } 547 }
539} 548}
540 549
@@ -553,7 +562,6 @@ void ServerApplication::togglePower()
553 m_suspendTime = QDateTime::currentDateTime(); 562 m_suspendTime = QDateTime::currentDateTime();
554 563
555#ifdef QWS 564#ifdef QWS
556
557 if ( Opie::Security::MultiauthPassword::needToAuthenticate ( true ) && qt_screen ) { 565 if ( Opie::Security::MultiauthPassword::needToAuthenticate ( true ) && qt_screen ) {
558 // Should use a big black window instead. 566 // Should use a big black window instead.
559 // But this would not show up fast enough 567 // But this would not show up fast enough
@@ -616,18 +624,19 @@ bool ServerApplication::qwsEventFilter( QWSEvent *e )
616 checkMemory(); 624 checkMemory();
617 625
618 if ( e->type == QWSEvent::Mouse ) { 626 if ( e->type == QWSEvent::Mouse ) {
619 QWSMouseEvent *me = (QWSMouseEvent *)e; 627 QWSMouseEvent *me = (QWSMouseEvent *)e;
620 static bool up = TRUE; 628 static bool up = TRUE;
621 if ( me->simpleData.state&LeftButton ) { 629 if ( me->simpleData.state&LeftButton ) {
622 if ( up ) { 630 if ( up ) {
623 up = FALSE; 631 up = FALSE;
624 screenClick(TRUE); 632 screenClick(TRUE);
633 }
634 } else if ( !up ) {
635 up = TRUE;
636 screenClick(FALSE);
625 } 637 }
626 } else if ( !up ) { 638 } else
627 up = TRUE; 639 if ( e->type == QWSEvent::Key ) {
628 screenClick(FALSE);
629 }
630 }else if ( e->type == QWSEvent::Key ) {
631 QWSKeyEvent * ke = static_cast<QWSKeyEvent*>( e ); 640 QWSKeyEvent * ke = static_cast<QWSKeyEvent*>( e );
632 if ( kf->checkButtonAction( false, 641 if ( kf->checkButtonAction( false,
633 ke-> simpleData.keycode, 642 ke-> simpleData.keycode,
@@ -650,8 +659,9 @@ void ServerApplication::showSafeMode()
650 "and the system is now in Safe Mode. " 659 "and the system is now in Safe Mode. "
651 "Plugins are not loaded in Safe Mode. " 660 "Plugins are not loaded in Safe Mode. "
652 "You can use the Plugin Manager to " 661 "You can use the Plugin Manager to "
653 "disable plugins that cause system error."), tr("OK"), tr("Plugin Manager..."), 0) == 1 ) { 662 "disable plugins that cause system error."), tr("OK"), tr("Plugin Manager..."), 0) == 1 )
654 Global::execute( "pluginmanager" ); 663 {
664 Global::execute( "pluginmanager" );
655 } 665 }
656#endif 666#endif
657} 667}
@@ -665,7 +675,7 @@ void ServerApplication::clearSafeMode()
665 cfg.setGroup( "Global" ); 675 cfg.setGroup( "Global" );
666 QString mode = cfg.readEntry( "Mode", "Normal" ); 676 QString mode = cfg.readEntry( "Mode", "Normal" );
667 if ( mode == "MaybeSafe" ) { 677 if ( mode == "MaybeSafe" ) {
668 cfg.writeEntry( "Mode", "Normal" ); 678 cfg.writeEntry( "Mode", "Normal" );
669 } 679 }
670#endif 680#endif
671} 681}
@@ -674,7 +684,7 @@ void ServerApplication::clearSafeMode()
674void ServerApplication::shutdown() 684void ServerApplication::shutdown()
675{ 685{
676 if ( type() != GuiServer ) 686 if ( type() != GuiServer )
677 return; 687 return;
678 ShutdownImpl *sd = new ShutdownImpl( 0, 0, WDestructiveClose ); 688 ShutdownImpl *sd = new ShutdownImpl( 0, 0, WDestructiveClose );
679 connect( sd, SIGNAL(shutdown(ShutdownImpl::Type)), 689 connect( sd, SIGNAL(shutdown(ShutdownImpl::Type)),
680 this, SLOT(shutdown(ShutdownImpl::Type)) ); 690 this, SLOT(shutdown(ShutdownImpl::Type)) );
@@ -729,9 +739,9 @@ void ServerApplication::restart()
729#ifdef ALL_APPLETS_ON_THIS_WORLD_ARE_FIXED 739#ifdef ALL_APPLETS_ON_THIS_WORLD_ARE_FIXED
730 /* same as above */ 740 /* same as above */
731 emit aboutToQuit(); 741 emit aboutToQuit();
732 prepareForTermination(TRUE); 742 prepareForTermination(TRUE);
733 doRestart = TRUE; 743 doRestart = TRUE;
734 quit(); 744 quit();
735#else 745#else
736 prepareForTermination( true ); 746 prepareForTermination( true );
737 for ( int fd = 3; fd < 100; fd++ ) 747 for ( int fd = 3; fd < 100; fd++ )