author | jeremy <jeremy> | 2002-02-15 21:29:03 (UTC) |
---|---|---|
committer | jeremy <jeremy> | 2002-02-15 21:29:03 (UTC) |
commit | a176c76090a3ba74f350d2066d6762c9b9a7eb3b (patch) (side-by-side diff) | |
tree | b2dd448bd0fa8bd3d1e1730b44427f5c2f5f052f | |
parent | b0768575b7bc1e4fe477d37a49cccc7e3d92bf85 (diff) | |
download | opie-a176c76090a3ba74f350d2066d6762c9b9a7eb3b.zip opie-a176c76090a3ba74f350d2066d6762c9b9a7eb3b.tar.gz opie-a176c76090a3ba74f350d2066d6762c9b9a7eb3b.tar.bz2 |
Added checking for an empty keyRegisterList for increased performance :)
-rw-r--r-- | core/launcher/desktop.cpp | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/core/launcher/desktop.cpp b/core/launcher/desktop.cpp index ce99bad..a00fae2 100644 --- a/core/launcher/desktop.cpp +++ b/core/launcher/desktop.cpp @@ -143,142 +143,140 @@ DesktopApplication::DesktopApplication( int& argc, char **argv, Type t ) QTimer *t = new QTimer( this ); connect( t, SIGNAL(timeout()), this, SLOT(psTimeout()) ); t->start( 10000 ); ps = new PowerStatus; pa = new DesktopPowerAlerter( 0 ); channel = new QCopChannel( "QPE/Desktop", this ); connect( channel, SIGNAL(received(const QCString&, const QByteArray&)), this, SLOT(receive(const QCString&, const QByteArray&)) ); } DesktopApplication::~DesktopApplication() { delete ps; delete pa; } void DesktopApplication::receive( const QCString &msg, const QByteArray &data ) { QDataStream stream( data, IO_ReadOnly ); if (msg == "keyRegister(int key, QString channel, QString message)") { int k; QString c, m; stream >> k; stream >> c; stream >> m; qWarning("KeyRegisterRecieved: %i, %s, %s", k, (const char*)c, (const char *)m); keyRegisterList.append(QCopKeyRegister(k,c,m)); } } enum MemState { Unknown, VeryLow, Low, Normal } memstate=Unknown; #ifdef Q_WS_QWS bool DesktopApplication::qwsEventFilter( QWSEvent *e ) { qpedesktop->checkMemory(); if ( e->type == QWSEvent::Key ) { QWSKeyEvent *ke = (QWSKeyEvent *)e; if ( !loggedin && ke->simpleData.keycode != Key_F34 ) return TRUE; bool press = ke->simpleData.is_press; - KeyRegisterList::Iterator it; - for( it = keyRegisterList.begin(); it != keyRegisterList.end(); ++it ) + if (!keyRegisterList.isEmpty()) { - if ((*it).getKeyCode() == ke->simpleData.keycode) - QCopEnvelope((*it).getChannel().utf8(), (*it).getMessage().utf8()); + KeyRegisterList::Iterator it; + for( it = keyRegisterList.begin(); it != keyRegisterList.end(); ++it ) + { + if ((*it).getKeyCode() == ke->simpleData.keycode) + QCopEnvelope((*it).getChannel().utf8(), (*it).getMessage().utf8()); + } } - + if ( !keyboardGrabbed() ) { if ( ke->simpleData.keycode == Key_F9 ) { if ( press ) emit datebook(); return TRUE; } if ( ke->simpleData.keycode == Key_F10 ) { if ( !press && cardSendTimer ) { emit contacts(); delete cardSendTimer; } else if ( press ) { cardSendTimer = new QTimer(); cardSendTimer->start( 2000, TRUE ); connect( cardSendTimer, SIGNAL( timeout() ), this, SLOT( sendCard() ) ); } return TRUE; } /* menu key now opens application menu/toolbar if ( ke->simpleData.keycode == Key_F11 ) { if ( press ) emit menu(); return TRUE; } */ if ( ke->simpleData.keycode == Key_F12 ) { while( activePopupWidget() ) activePopupWidget()->close(); if ( press ) emit launch(); return TRUE; } if ( ke->simpleData.keycode == Key_F13 ) { if ( press ) emit email(); return TRUE; } } - /* - if ( ke->simpleData.keycode == 4096 ) { - QCopEnvelope e("QPE/VMemo", "toggleRecord()"); - return TRUE; - } - */ + if ( ke->simpleData.keycode == Key_F34 ) { if ( press ) emit power(); return TRUE; } if ( ke->simpleData.keycode == Key_F35 ) { if ( press ) emit backlight(); return TRUE; } if ( ke->simpleData.keycode == Key_F32 ) { if ( press ) QCopEnvelope e( "QPE/Desktop", "startSync()" ); return TRUE; } if ( ke->simpleData.keycode == Key_F31 && !ke->simpleData.modifiers ) { if ( press ) emit symbol(); return TRUE; } if ( ke->simpleData.keycode == Key_NumLock ) { if ( press ) emit numLockStateToggle(); } if ( ke->simpleData.keycode == Key_CapsLock ) { if ( press ) emit capsLockStateToggle(); } if ( press ) qpedesktop->keyClick(); } else { if ( e->type == QWSEvent::Mouse ) { QWSMouseEvent *me = (QWSMouseEvent *)e; static bool up = TRUE; if ( me->simpleData.state&LeftButton ) { if ( up ) { up = FALSE; qpedesktop->screenClick(); } } else { up = TRUE; } } } return QPEApplication::qwsEventFilter( e ); } #endif void DesktopApplication::psTimeout() { qpedesktop->checkMemory(); // in case no events are being generated *ps = PowerStatusManager::readStatus(); |