summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/launcher/serverapp.cpp46
1 files changed, 28 insertions, 18 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
@@ -55,32 +55,38 @@ using namespace Opie::Core;
55#include <stdlib.h> 55#include <stdlib.h>
56 56
57static ServerApplication *serverApp = 0; 57static 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
84 QCopEnvelope( m_channel, m_message ); 90 QCopEnvelope( m_channel, m_message );
85 91
86 return true; 92 return true;
@@ -154,29 +160,31 @@ void KeyFilter::timerEvent(QTimerEvent* e)
154 heldButton = 0; 160 heldButton = 0;
155 } 161 }
156 held_tid = 0; 162 held_tid = 0;
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 */
172 if ( !m_keys[key].send()) 181 if ( !m_keys[key].send())
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)
180{ 188{
181 if ( !loggedin 189 if ( !loggedin
182 // Permitted keys 190 // Permitted keys
@@ -194,13 +202,12 @@ bool KeyFilter::checkButtonAction(bool db, int keycode, int press, int autoRepe
194 /* check if it was registered */ 202 /* check if it was registered */
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 207
200
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);
203 if (button && !autoRepeat) { 210 if (button && !autoRepeat) {
204 if ( held_tid ) { 211 if ( held_tid ) {
205 killTimer(held_tid); 212 killTimer(held_tid);
206 held_tid = 0; 213 held_tid = 0;
@@ -263,13 +270,14 @@ QPE_MEMALERTER_IMPL
263//--------------------------------------------------------------------------- 270//---------------------------------------------------------------------------
264 271
265bool ServerApplication::doRestart = FALSE; 272bool 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
273 ServerApplication *dapp = ServerApplication::me() ; 281 ServerApplication *dapp = ServerApplication::me() ;
274 282
275 if ( !dapp-> m_screensaver ) 283 if ( !dapp-> m_screensaver )
@@ -356,19 +364,19 @@ ServerApplication::ServerApplication( int& argc, char **argv, Type t )
356 364
357 365
358ServerApplication::~ServerApplication() 366ServerApplication::~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();
372 380
373 if ( m_ps->acStatus() != m_ps_last-> acStatus() ) 381 if ( m_ps->acStatus() != m_ps_last-> acStatus() )
374 m_screensaver-> powerStatusChanged( *m_ps ); 382 m_screensaver-> powerStatusChanged( *m_ps );
@@ -405,13 +413,14 @@ void ServerApplication::apmTimeout() {
405 battlow.setButtonText(QMessageBox::Cancel, tr("Ok")); 413 battlow.setButtonText(QMessageBox::Cancel, tr("Ok"));
406 battlow.exec(); 414 battlow.exec();
407 } 415 }
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)" ) {
415 int time; 424 int time;
416 stream >> time; 425 stream >> time;
417 m_screensaver-> setInterval( time ); 426 m_screensaver-> setInterval( time );
@@ -550,13 +559,12 @@ void ServerApplication::togglePower()
550 559
551 bool wasloggedin = loggedin; 560 bool wasloggedin = loggedin;
552 loggedin = 0; 561 loggedin = 0;
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
560 QGfx *g = qt_screen-> screenGfx ( ); 568 QGfx *g = qt_screen-> screenGfx ( );
561 g-> fillRect ( 0, 0, qt_screen-> width ( ), qt_screen-> height ( )); 569 g-> fillRect ( 0, 0, qt_screen-> width ( ), qt_screen-> height ( ));
562 delete g; 570 delete g;
@@ -624,13 +632,14 @@ bool ServerApplication::qwsEventFilter( QWSEvent *e )
624 screenClick(TRUE); 632 screenClick(TRUE);
625 } 633 }
626 } else if ( !up ) { 634 } else if ( !up ) {
627 up = TRUE; 635 up = TRUE;
628 screenClick(FALSE); 636 screenClick(FALSE);
629 } 637 }
630 }else if ( e->type == QWSEvent::Key ) { 638 } else
639 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,
634 ke-> simpleData.is_press, 643 ke-> simpleData.is_press,
635 ke-> simpleData.is_auto_repeat ) ) 644 ke-> simpleData.is_auto_repeat ) )
636 return true; 645 return true;
@@ -647,13 +656,14 @@ void ServerApplication::showSafeMode()
647{ 656{
648#if 0 657#if 0
649 if ( QMessageBox::warning(0, tr("Safe Mode"), tr("<P>A system startup error occurred, " 658 if ( QMessageBox::warning(0, tr("Safe Mode"), tr("<P>A system startup error occurred, "
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 )
663 {
654 Global::execute( "pluginmanager" ); 664 Global::execute( "pluginmanager" );
655 } 665 }
656#endif 666#endif
657} 667}
658 668
659void ServerApplication::clearSafeMode() 669void ServerApplication::clearSafeMode()