-rw-r--r-- | core/applets/rotateapplet/rotate.cpp | 27 | ||||
-rw-r--r-- | core/applets/rotateapplet/rotate.h | 4 |
2 files changed, 24 insertions, 7 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 | |||
@@ -17,94 +17,111 @@ | |||
17 | : .. .:, . . . without even the implied warranty of | 17 | : .. .:, . . . without even the implied warranty of |
18 | =_ + =;=| MERCHANTABILITY or FITNESS FOR A | 18 | =_ + =;=| MERCHANTABILITY or FITNESS FOR A |
19 | _.=:. : :=>: PARTICULAR PURPOSE. See the GNU | 19 | _.=:. : :=>: PARTICULAR PURPOSE. See the GNU |
20 | ..}^=.= = ; Library General Public License for more | 20 | ..}^=.= = ; Library General Public License for more |
21 | ++= -. . .: details. | 21 | ++= -. . .: details. |
22 | : = ...= . :.=- | 22 | : = ...= . :.=- |
23 | -. .:....=;==+<; You should have received a copy of the GNU | 23 | -. .:....=;==+<; You should have received a copy of the GNU |
24 | -_. . . )=. = Library General Public License along with | 24 | -_. . . )=. = Library General Public License along with |
25 | -- :-= this library; see the file COPYING.LIB. | 25 | -- :-= this library; see the file COPYING.LIB. |
26 | If not, write to the Free Software Foundation, | 26 | If not, write to the Free Software Foundation, |
27 | Inc., 59 Temple Place - Suite 330, | 27 | Inc., 59 Temple Place - Suite 330, |
28 | Boston, MA 02111-1307, USA. | 28 | Boston, MA 02111-1307, USA. |
29 | */ | 29 | */ |
30 | 30 | ||
31 | #include "rotate.h" | 31 | #include "rotate.h" |
32 | 32 | ||
33 | /* OPIE */ | 33 | /* OPIE */ |
34 | #include <opie/odevice.h> | 34 | #include <opie/odevice.h> |
35 | #include <qpe/applnk.h> | 35 | #include <qpe/applnk.h> |
36 | #include <qpe/config.h> | 36 | #include <qpe/config.h> |
37 | #include <qpe/power.h> | 37 | #include <qpe/power.h> |
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 ) |
50 | { | 51 | { |
51 | 52 | ||
52 | #if !defined(QT_NO_COP) | 53 | #if !defined(QT_NO_COP) |
53 | QCopChannel *rotateChannel = new QCopChannel( "QPE/Rotation" , this ); | 54 | QCopChannel *rotateChannel = new QCopChannel( "QPE/Rotation" , this ); |
54 | connect ( rotateChannel, SIGNAL( received( const QCString &, const QByteArray &) ), | 55 | connect ( rotateChannel, SIGNAL( received( const QCString &, const QByteArray &) ), |
55 | this, SLOT ( channelReceived( const QCString &, const QByteArray &) ) ); | 56 | this, SLOT ( channelReceived( const QCString &, const QByteArray &) ) ); |
56 | #endif | 57 | #endif |
57 | 58 | ||
58 | } | 59 | } |
59 | 60 | ||
60 | RotateApplet::~RotateApplet ( ) | 61 | RotateApplet::~RotateApplet ( ) |
61 | {} | 62 | {} |
62 | 63 | ||
63 | /** | 64 | /** |
64 | * Qcop receive method. | 65 | * Qcop receive method. |
65 | */ | 66 | */ |
66 | void RotateApplet::channelReceived( const QCString &msg, const QByteArray & data ) | 67 | void RotateApplet::channelReceived( const QCString &msg, const QByteArray & data ) |
67 | { | 68 | { |
68 | qDebug( "RotateApplet::channelReceived( '%s' )", (const char*) msg ); | 69 | qDebug( "RotateApplet::channelReceived( '%s' )", (const char*) msg ); |
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 ); |
80 | |||
81 | Config cfg( "apm" ); | ||
82 | cfg.setGroup( PowerStatusManager::readStatus().acStatus() == PowerStatus::Online ? "AC" : "Battery" ); | ||
83 | int action = cfg.readNumEntry( "CloseHingeAction", 0 ); | ||
84 | |||
74 | if ( status == CASE_CLOSED ) | 85 | if ( status == CASE_CLOSED ) |
75 | { | 86 | { |
76 | Config cfg( "apm" ); | ||
77 | cfg.setGroup( PowerStatusManager::readStatus().acStatus() == PowerStatus::Online ? "AC" : "Battery" ); | ||
78 | int action = cfg.readNumEntry( "CloseHingeAction", 0 ); | ||
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 ); |
90 | if ( msg == "flip()" ) | 107 | if ( msg == "flip()" ) |
91 | { | 108 | { |
92 | activated ( ); | 109 | activated ( ); |
93 | } | 110 | } |
94 | else if ( msg == "rotateDefault()") | 111 | else if ( msg == "rotateDefault()") |
95 | { | 112 | { |
96 | rotateDefault(); | 113 | rotateDefault(); |
97 | } | 114 | } |
98 | } | 115 | } |
99 | 116 | ||
100 | int RotateApplet::position() const | 117 | int RotateApplet::position() const |
101 | { | 118 | { |
102 | return 3; | 119 | return 3; |
103 | } | 120 | } |
104 | 121 | ||
105 | QString RotateApplet::name() const | 122 | QString RotateApplet::name() const |
106 | { | 123 | { |
107 | return tr( "Rotate shortcut" ); | 124 | return tr( "Rotate shortcut" ); |
108 | } | 125 | } |
109 | 126 | ||
110 | QString RotateApplet::text() const | 127 | QString RotateApplet::text() const |
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 | |||
@@ -36,37 +36,37 @@ | |||
36 | 36 | ||
37 | #include <qobject.h> | 37 | #include <qobject.h> |
38 | 38 | ||
39 | class RotateApplet : public QObject, public MenuAppletInterface | 39 | class RotateApplet : public QObject, public MenuAppletInterface |
40 | { | 40 | { |
41 | 41 | ||
42 | Q_OBJECT | 42 | Q_OBJECT |
43 | 43 | ||
44 | public: | 44 | public: |
45 | RotateApplet ( ); | 45 | RotateApplet ( ); |
46 | virtual ~RotateApplet ( ); | 46 | virtual ~RotateApplet ( ); |
47 | 47 | ||
48 | QRESULT queryInterface( const QUuid&, QUnknownInterface** ); | 48 | QRESULT queryInterface( const QUuid&, QUnknownInterface** ); |
49 | Q_REFCOUNT | 49 | Q_REFCOUNT |
50 | 50 | ||
51 | virtual int position() const; | 51 | virtual int position() const; |
52 | 52 | ||
53 | virtual QString name ( ) const; | 53 | virtual QString name ( ) const; |
54 | virtual QIconSet icon ( ) const; | 54 | virtual QIconSet icon ( ) const; |
55 | virtual QString text ( ) const; | 55 | virtual QString text ( ) const; |
56 | /* virtual QString tr( const char* ) const; | 56 | /* virtual QString tr( const char* ) const; |
57 | virtual QString tr( const char*, const char* ) const; | 57 | virtual QString tr( const char*, const char* ) const; |
58 | */ | 58 | */ |
59 | virtual QPopupMenu *popup ( QWidget *parent ) const; | 59 | virtual QPopupMenu *popup ( QWidget *parent ) const; |
60 | virtual void activated ( ); | 60 | virtual void activated ( ); |
61 | virtual void rotateDefault ( ); | 61 | virtual void rotateDefault ( ); |
62 | 62 | ||
63 | private slots: | 63 | private slots: |
64 | void channelReceived( const QCString &msg, const QByteArray & data ); | 64 | void channelReceived( const QCString &msg, const QByteArray & data ); |
65 | 65 | ||
66 | private: | 66 | private: |
67 | ulong ref; | 67 | ulong ref; |
68 | bool m_flipped; | 68 | bool m_flipped; |
69 | 69 | ||
70 | }; | 70 | }; |
71 | 71 | ||
72 | #endif | 72 | #endif |