-rw-r--r-- | core/launcher/main.cpp | 107 | ||||
-rw-r--r-- | core/launcher/taskbar.cpp | 10 |
2 files changed, 16 insertions, 101 deletions
diff --git a/core/launcher/main.cpp b/core/launcher/main.cpp index 490af39..073e19a 100644 --- a/core/launcher/main.cpp +++ b/core/launcher/main.cpp @@ -45,6 +45,7 @@ #include "../calibrate/calibrate.h" #endif +using namespace Opie; void initEnvironment() { @@ -65,106 +66,9 @@ void initEnvironment() setenv( "LANG", lang, 1 ); } -static void initBacklight() -{ - QCopEnvelope e("QPE/System", "setBacklight(int)" ); - e << -3; // Forced on -} - - -class ModelKeyFilter : public QObject, public QWSServer::KeyboardFilter -{ -public: - ModelKeyFilter ( ) : QObject ( 0, "MODEL_KEY_FILTER" ) - { - bool doinst = false; - - m_model = ODevice::inst ( )-> model ( ); - m_power_timer = 0; - - switch ( m_model ) { - case OMODEL_iPAQ_H31xx: - case OMODEL_iPAQ_H36xx: - case OMODEL_iPAQ_H37xx: - case OMODEL_iPAQ_H38xx: doinst = true; - break; - default : break; - } - if ( doinst ) - QWSServer::setKeyboardFilter ( this ); - } - - virtual bool filter ( int /*unicode*/, int keycode, int modifiers, bool isPress, bool autoRepeat ) - { - bool kill = false; - - // Rotate cursor keys 180° - switch ( m_model ) { - case OMODEL_iPAQ_H31xx: - case OMODEL_iPAQ_H38xx: { - int newkeycode = keycode; - - switch ( keycode ) { - case Key_Left : newkeycode = Key_Right; break; - case Key_Right: newkeycode = Key_Left; break; - case Key_Up : newkeycode = Key_Down; break; - case Key_Down : newkeycode = Key_Up; break; - } - if ( newkeycode != keycode ) { - QWSServer::sendKeyEvent ( -1, newkeycode, modifiers, isPress, autoRepeat ); - kill = true; - } - break; - } - default: break; - } - - // map Power Button short/long press to F34/F35 - switch ( m_model ) { - case OMODEL_iPAQ_H31xx: - case OMODEL_iPAQ_H36xx: - case OMODEL_iPAQ_H37xx: - case OMODEL_iPAQ_H38xx: { - if ( keycode == Key_SysReq ) { - if ( isPress ) { - if ( m_power_timer ) - killTimer ( m_power_timer ); - m_power_timer = startTimer ( 500 ); - } - else if ( m_power_timer ) { - killTimer ( m_power_timer ); - m_power_timer = 0; - QWSServer::sendKeyEvent ( -1, Key_F34, 0, true, false ); - QWSServer::sendKeyEvent ( -1, Key_F34, 0, false, false ); - } - kill = true; - } - break; - } - default: break; - } - return kill; - } - - virtual void timerEvent ( QTimerEvent * ) - { - killTimer ( m_power_timer ); - m_power_timer = 0; - QWSServer::sendKeyEvent ( -1, Key_F35, 0, true, false ); - QWSServer::sendKeyEvent ( -1, Key_F35, 0, false, false ); - } - -private: - OModel m_model; - int m_power_timer; -}; - - int initApplication( int argc, char ** argv ) { - ODevice::inst ( )-> setPowerButtonHandler ( ODevice::OPIE ); - initEnvironment(); #if !defined(QT_QWS_CASSIOPEIA) && !defined(QT_QWS_IPAQ) && !defined(QT_QWS_EBX) @@ -175,9 +79,12 @@ int initApplication( int argc, char ** argv ) QWSServer::setDesktopBackground( QImage() ); DesktopApplication a( argc, argv, QApplication::GuiServer ); - (void) new ModelKeyFilter ( ); + ODevice::inst ( )-> setSoftSuspend ( true ); - initBacklight(); + { // init backlight + QCopEnvelope e("QPE/System", "setBacklight(int)" ); + e << -3; // Forced on + } AlarmServer::initialize(); @@ -212,7 +119,7 @@ int initApplication( int argc, char ** argv ) delete d; - ODevice::inst ( )-> setPowerButtonHandler ( ODevice::KERNEL ); + ODevice::inst ( )-> setSoftSuspend ( false ); return rv; } diff --git a/core/launcher/taskbar.cpp b/core/launcher/taskbar.cpp index 1feae4a..46bcdb3 100644 --- a/core/launcher/taskbar.cpp +++ b/core/launcher/taskbar.cpp @@ -51,6 +51,8 @@ #endif +using namespace Opie; + #define FACTORY(T) \ static QWidget *new##T( bool maximized ) { \ QWidget *w = new T( 0, "test", QWidget::WDestructiveClose | QWidget::WGroupLeader ); \ @@ -281,7 +283,13 @@ void TaskBar::receive( const QCString &msg, const QByteArray &data ) int led, status; stream >> led >> status; - ODevice::inst ( )-> setLed ( led, status ? OLED_BlinkSlow : OLED_Off ); + QValueList <OLed> ll = ODevice::inst ( )-> ledList ( ); + if ( ll. count ( )) { + OLed l = ll. contains ( Led_Mail ) ? Led_Mail : ll [0]; + bool canblink = ODevice::inst ( )-> ledStateList ( l ). contains ( Led_BlinkSlow ); + + ODevice::inst ( )-> setLedState ( l, status ? ( canblink ? Led_BlinkSlow : Led_On ) : Led_Off ); + } } } |