summaryrefslogtreecommitdiff
path: root/core
Side-by-side diff
Diffstat (limited to 'core') (more/less context) (show whitespace changes)
-rw-r--r--core/applets/rotateapplet/rotate.cpp25
-rw-r--r--core/applets/rotateapplet/rotate.h0
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