-rw-r--r-- | core/applets/rotateapplet/rotate.cpp | 25 | ||||
-rw-r--r-- | core/applets/rotateapplet/rotate.h | 0 |
2 files changed, 21 insertions, 4 deletions
diff --git a/core/applets/rotateapplet/rotate.cpp b/core/applets/rotateapplet/rotate.cpp index 79098d4..d8081a6 100644 --- a/core/applets/rotateapplet/rotate.cpp +++ b/core/applets/rotateapplet/rotate.cpp @@ -40,2 +40,3 @@ #include <qpe/resource.h> +using namespace Opie; @@ -45,3 +46,3 @@ -using namespace Opie; +#include <time.h> @@ -71,6 +72,10 @@ void RotateApplet::channelReceived( const QCString &msg, const QByteArray & data { + struct timespec interval; + struct timespec remain; + interval.tv_sec = 0; + interval.tv_nsec = 600; + ::nanosleep( &interval, &remain ); OHingeStatus status = ODevice::inst()->readHingeSensor(); qDebug( "RotateApplet::readHingeSensor = %d", (int) status ); - if ( status == CASE_CLOSED ) - { + Config cfg( "apm" ); @@ -78,2 +83,5 @@ void RotateApplet::channelReceived( const QCString &msg, const QByteArray & data int action = cfg.readNumEntry( "CloseHingeAction", 0 ); + + if ( status == CASE_CLOSED ) + { switch ( action ) @@ -84,4 +92,13 @@ void RotateApplet::channelReceived( const QCString &msg, const QByteArray & data } - qDebug( "RotateApplet::switchAction %d performed.", cfg.readNumEntry( "CloseHingeAction", 0 ) ); } + else /* status != CASE_CLOSED */ + { + switch ( action ) + { + case 1: /* DISPLAY OFF */ ODevice::inst()->setDisplayBrightness( 127 ); break; + case 2: /* SUSPEND */ /* How to wake up the device from kernel? */; break; + default: /* IGNORE */ break; + } + } + qDebug( "RotateApplet::switchAction %d performed.", cfg.readNumEntry( "CloseHingeAction", 0 ) ); } diff --git a/core/applets/rotateapplet/rotate.h b/core/applets/rotateapplet/rotate.h index 572b82a..4403c7d 100644 --- a/core/applets/rotateapplet/rotate.h +++ b/core/applets/rotateapplet/rotate.h |