-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 | |||
@@ -38,12 +38,13 @@ | |||
38 | #include <qpe/qpeapplication.h> | 38 | #include <qpe/qpeapplication.h> |
39 | #include <qpe/qcopenvelope_qws.h> | 39 | #include <qpe/qcopenvelope_qws.h> |
40 | #include <qpe/resource.h> | 40 | #include <qpe/resource.h> |
41 | using namespace Opie; | ||
41 | 42 | ||
42 | /* QT */ | 43 | /* QT */ |
43 | #include <qiconset.h> | 44 | #include <qiconset.h> |
44 | #include <qpopupmenu.h> | 45 | #include <qpopupmenu.h> |
45 | 46 | ||
46 | using namespace Opie; | 47 | #include <time.h> |
47 | 48 | ||
48 | RotateApplet::RotateApplet() | 49 | RotateApplet::RotateApplet() |
49 | :QObject( 0, "RotateApplet" ), ref( 0 ), m_flipped( false ) | 50 | :QObject( 0, "RotateApplet" ), ref( 0 ), m_flipped( false ) |
@@ -69,21 +70,37 @@ void RotateApplet::channelReceived( const QCString &msg, const QByteArray & data | |||
69 | 70 | ||
70 | if ( ODevice::inst()->hasHingeSensor() ) | 71 | if ( ODevice::inst()->hasHingeSensor() ) |
71 | { | 72 | { |
73 | struct timespec interval; | ||
74 | struct timespec remain; | ||
75 | interval.tv_sec = 0; | ||
76 | interval.tv_nsec = 600; | ||
77 | ::nanosleep( &interval, &remain ); | ||
72 | OHingeStatus status = ODevice::inst()->readHingeSensor(); | 78 | OHingeStatus status = ODevice::inst()->readHingeSensor(); |
73 | qDebug( "RotateApplet::readHingeSensor = %d", (int) status ); | 79 | qDebug( "RotateApplet::readHingeSensor = %d", (int) status ); |
74 | if ( status == CASE_CLOSED ) | 80 | |
75 | { | ||
76 | Config cfg( "apm" ); | 81 | Config cfg( "apm" ); |
77 | cfg.setGroup( PowerStatusManager::readStatus().acStatus() == PowerStatus::Online ? "AC" : "Battery" ); | 82 | cfg.setGroup( PowerStatusManager::readStatus().acStatus() == PowerStatus::Online ? "AC" : "Battery" ); |
78 | int action = cfg.readNumEntry( "CloseHingeAction", 0 ); | 83 | int action = cfg.readNumEntry( "CloseHingeAction", 0 ); |
84 | |||
85 | if ( status == CASE_CLOSED ) | ||
86 | { | ||
79 | switch ( action ) | 87 | switch ( action ) |
80 | { | 88 | { |
81 | case 1: /* DISPLAY OFF */ ODevice::inst()->setDisplayBrightness( 0 ); break; | 89 | case 1: /* DISPLAY OFF */ ODevice::inst()->setDisplayBrightness( 0 ); break; |
82 | case 2: /* SUSPEND */ ODevice::inst()->suspend(); break; | 90 | case 2: /* SUSPEND */ ODevice::inst()->suspend(); break; |
83 | default: /* IGNORE */ break; | 91 | default: /* IGNORE */ break; |
84 | } | 92 | } |
85 | qDebug( "RotateApplet::switchAction %d performed.", cfg.readNumEntry( "CloseHingeAction", 0 ) ); | ||
86 | } | 93 | } |
94 | else /* status != CASE_CLOSED */ | ||
95 | { | ||
96 | switch ( action ) | ||
97 | { | ||
98 | case 1: /* DISPLAY OFF */ ODevice::inst()->setDisplayBrightness( 127 ); break; | ||
99 | case 2: /* SUSPEND */ /* How to wake up the device from kernel? */; break; | ||
100 | default: /* IGNORE */ break; | ||
101 | } | ||
102 | } | ||
103 | qDebug( "RotateApplet::switchAction %d performed.", cfg.readNumEntry( "CloseHingeAction", 0 ) ); | ||
87 | } | 104 | } |
88 | 105 | ||
89 | QDataStream stream( data, IO_ReadOnly ); | 106 | QDataStream stream( data, IO_ReadOnly ); |
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 | |||