summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/main.cpp107
-rw-r--r--core/launcher/taskbar.cpp10
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
@@ -42,12 +42,13 @@
#include <unistd.h>
#if defined(QT_QWS_IPAQ) || defined(QT_QWS_EBX)
#include "../calibrate/calibrate.h"
#endif
+using namespace Opie;
void initEnvironment()
{
Config config("locale");
config.setGroup( "Location" );
QString tz = config.readEntry( "Timezone", getenv("TZ") );
@@ -62,125 +63,31 @@ void initEnvironment()
config.setGroup( "Language" );
QString lang = config.readEntry( "Language", getenv("LANG") );
if ( !lang.isNull() )
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)
setenv( "QWS_SIZE", "240x320", 0 );
#endif
//Don't flicker at startup:
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();
Desktop *d = new Desktop();
QObject::connect( &a, SIGNAL(datebook()), d, SLOT(raiseDatebook()) );
@@ -209,13 +116,13 @@ int initApplication( int argc, char ** argv )
d->show();
int rv = a.exec();
delete d;
- ODevice::inst ( )-> setPowerButtonHandler ( ODevice::KERNEL );
+ ODevice::inst ( )-> setSoftSuspend ( false );
return rv;
}
static const char *pidfile_path = "/var/run/opie.pid";
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
@@ -48,12 +48,14 @@
#if defined( Q_WS_QWS )
#include <qwsdisplay_qws.h>
#include <qgfx_qws.h>
#endif
+using namespace Opie;
+
#define FACTORY(T) \
static QWidget *new##T( bool maximized ) { \
QWidget *w = new T( 0, "test", QWidget::WDestructiveClose | QWidget::WGroupLeader ); \
if ( maximized ) { \
if ( qApp->desktop()->width() <= 350 ) { \
w->showMaximized(); \
@@ -278,13 +280,19 @@ void TaskBar::receive( const QCString &msg, const QByteArray &data )
Desktop::soundAlarm();
}
else if ( msg == "setLed(int,bool)" ) {
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 );
+ }
}
}
QWidget *TaskBar::calibrate(bool)
{
#ifdef Q_WS_QWS