-rw-r--r-- | core/applets/rotateapplet/rotate.cpp | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/core/applets/rotateapplet/rotate.cpp b/core/applets/rotateapplet/rotate.cpp index 3a5a3c9..42406da 100644 --- a/core/applets/rotateapplet/rotate.cpp +++ b/core/applets/rotateapplet/rotate.cpp | |||
@@ -1,146 +1,142 @@ | |||
1 | /* | 1 | /* |
2 | =. This file is part of the OPIE Project | 2 | =. This file is part of the OPIE Project |
3 | .=l. Copyright (c) 2003 Maximilian Reiss <harlekin@handhelds.org> | 3 | .=l. Copyright (c) 2003 Maximilian Reiss <harlekin@handhelds.org> |
4 | .>+-= | 4 | .>+-= |
5 | _;:, .> :=|. This library is free software; you can | 5 | _;:, .> :=|. This library is free software; you can |
6 | .> <, > . <= redistribute it and/or modify it under | 6 | .> <, > . <= redistribute it and/or modify it under |
7 | :=1 )Y*s>-.-- : the terms of the GNU Library General Public | 7 | :=1 )Y*s>-.-- : the terms of the GNU Library General Public |
8 | .="- .-=="i, .._ License as published by the Free Software | 8 | .="- .-=="i, .._ License as published by the Free Software |
9 | - . .-<_> .<> Foundation; either version 2 of the License, | 9 | - . .-<_> .<> Foundation; either version 2 of the License, |
10 | ._= =} : or (at your option) any later version. | 10 | ._= =} : or (at your option) any later version. |
11 | .%+i> _;_. | 11 | .%+i> _;_. |
12 | .i_,=:_. -<s. This library is distributed in the hope that | 12 | .i_,=:_. -<s. This library is distributed in the hope that |
13 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; | 13 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; |
14 | : .. .:, . . . without even the implied warranty of | 14 | : .. .:, . . . without even the implied warranty of |
15 | =_ + =;=| MERCHANTABILITY or FITNESS FOR A | 15 | =_ + =;=| MERCHANTABILITY or FITNESS FOR A |
16 | _.=:. : :=>: PARTICULAR PURPOSE. See the GNU | 16 | _.=:. : :=>: PARTICULAR PURPOSE. See the GNU |
17 | ..}^=.= = ; Library General Public License for more | 17 | ..}^=.= = ; Library General Public License for more |
18 | ++= -. . .: details. | 18 | ++= -. . .: details. |
19 | : = ...= . :.=- | 19 | : = ...= . :.=- |
20 | -. .:....=;==+<; You should have received a copy of the GNU | 20 | -. .:....=;==+<; You should have received a copy of the GNU |
21 | -_. . . )=. = Library General Public License along with | 21 | -_. . . )=. = Library General Public License along with |
22 | -- :-= this library; see the file COPYING.LIB. | 22 | -- :-= this library; see the file COPYING.LIB. |
23 | If not, write to the Free Software Foundation, | 23 | If not, write to the Free Software Foundation, |
24 | Inc., 59 Temple Place - Suite 330, | 24 | Inc., 59 Temple Place - Suite 330, |
25 | Boston, MA 02111-1307, USA. | 25 | Boston, MA 02111-1307, USA. |
26 | 26 | ||
27 | */ | 27 | */ |
28 | 28 | ||
29 | 29 | ||
30 | #include <qpe/resource.h> | 30 | #include <qpe/resource.h> |
31 | #include <qpe/qcopenvelope_qws.h> | 31 | #include <qpe/qcopenvelope_qws.h> |
32 | 32 | ||
33 | #include <qpe/qpeapplication.h> | 33 | #include <qpe/qpeapplication.h> |
34 | #include <qpe/config.h> | 34 | #include <qpe/config.h> |
35 | #include <qiconset.h> | 35 | #include <qiconset.h> |
36 | #include <qpopupmenu.h> | 36 | #include <qpopupmenu.h> |
37 | 37 | ||
38 | #include "rotate.h" | 38 | #include "rotate.h" |
39 | 39 | ||
40 | 40 | ||
41 | RotateApplet::RotateApplet ( ) | 41 | RotateApplet::RotateApplet ( ) |
42 | : QObject ( 0, "RotateApplet" ), ref ( 0 ) | 42 | : QObject ( 0, "RotateApplet" ), ref ( 0 ), m_flipped( false ) |
43 | { | 43 | { |
44 | m_flipped = false; | ||
45 | } | 44 | } |
46 | 45 | ||
47 | RotateApplet::~RotateApplet ( ) | 46 | RotateApplet::~RotateApplet ( ) |
48 | { | 47 | { |
49 | } | 48 | } |
50 | 49 | ||
51 | int RotateApplet::position ( ) const | 50 | int RotateApplet::position ( ) const |
52 | { | 51 | { |
53 | return 2; | 52 | return 2; |
54 | } | 53 | } |
55 | 54 | ||
56 | QString RotateApplet::name ( ) const | 55 | QString RotateApplet::name ( ) const |
57 | { | 56 | { |
58 | return tr( "Rotate shortcut" ); | 57 | return tr( "Rotate shortcut" ); |
59 | } | 58 | } |
60 | 59 | ||
61 | QString RotateApplet::text ( ) const | 60 | QString RotateApplet::text ( ) const |
62 | { | 61 | { |
63 | return tr( "Rotate" ); | 62 | return tr( "Rotate" ); |
64 | } | 63 | } |
65 | 64 | ||
66 | QString RotateApplet::tr( const char* s ) const | 65 | QString RotateApplet::tr( const char* s ) const |
67 | { | 66 | { |
68 | return qApp->translate( "RotateApplet", s, 0 ); | 67 | return qApp->translate( "RotateApplet", s, 0 ); |
69 | } | 68 | } |
70 | 69 | ||
71 | QString RotateApplet::tr( const char* s, const char* p ) const | 70 | QString RotateApplet::tr( const char* s, const char* p ) const |
72 | { | 71 | { |
73 | return qApp->translate( "RotateApplet", s, p ); | 72 | return qApp->translate( "RotateApplet", s, p ); |
74 | } | 73 | } |
75 | 74 | ||
76 | QIconSet RotateApplet::icon ( ) const | 75 | QIconSet RotateApplet::icon ( ) const |
77 | { | 76 | { |
78 | QPixmap pix; | 77 | QPixmap pix; |
79 | QImage img = Resource::loadImage ( "Rotation" ); | 78 | QImage img = Resource::loadImage ( "Rotation" ); |
80 | 79 | ||
81 | if ( !img. isNull ( )) | 80 | if ( !img. isNull ( )) |
82 | pix. convertFromImage ( img. smoothScale ( 14, 14 )); | 81 | pix. convertFromImage ( img. smoothScale ( 14, 14 )); |
83 | return pix; | 82 | return pix; |
84 | } | 83 | } |
85 | 84 | ||
86 | QPopupMenu *RotateApplet::popup ( QWidget * ) const | 85 | QPopupMenu *RotateApplet::popup ( QWidget * ) const |
87 | { | 86 | { |
88 | return 0; | 87 | return 0; |
89 | } | 88 | } |
90 | 89 | ||
91 | void RotateApplet::activated ( ) | 90 | void RotateApplet::activated ( ) |
92 | { | 91 | { |
93 | int currentRotation = QPEApplication::defaultRotation(); | 92 | int defaultRotation = QPEApplication::defaultRotation(); |
94 | 93 | ||
95 | int newRotation; | 94 | int newRotation; |
96 | 95 | ||
97 | Config cfg( "qpe" ); | 96 | Config cfg( "qpe" ); |
98 | cfg.setGroup( "Appearance" ); | 97 | cfg.setGroup( "Appearance" ); |
99 | 98 | ||
100 | // 0 -> 90° clockwise, 1 -> 90° counterclockwise | 99 | // 0 -> 90° clockwise, 1 -> 90° counterclockwise |
101 | bool rotDirection = cfg.readBoolEntry( "rotatedir" ); | 100 | bool rotDirection = cfg.readBoolEntry( "rotatedir", 0 ); |
102 | 101 | ||
103 | // hide inputs methods before rotation | 102 | // hide inputs methods before rotation |
104 | QCopEnvelope en( "QPE/TaskBar", "hideInputMethod()" ); | 103 | QCopEnvelope en( "QPE/TaskBar", "hideInputMethod()" ); |
105 | 104 | ||
106 | if ( m_flipped ) { | 105 | if ( m_flipped ) { |
107 | if ( rotDirection ) { | 106 | // if flipped, flip back to the original state, |
108 | newRotation = ( currentRotation + 270 ) % 360; | 107 | // regardless of rotation direction |
109 | } else { | 108 | newRotation = defaultRotation; |
110 | newRotation = ( currentRotation + 90 ) % 360; | ||
111 | } | ||
112 | } else { | 109 | } else { |
113 | if ( rotDirection ) { | 110 | if ( rotDirection ) { |
114 | newRotation = ( currentRotation + 90 ) % 360; | 111 | newRotation = ( defaultRotation + 90 ) % 360; |
115 | } else { | 112 | } else { |
116 | newRotation = ( currentRotation + 270 ) % 360; | 113 | newRotation = ( defaultRotation + 270 ) % 360; |
117 | } | 114 | } |
118 | } | 115 | } |
116 | |||
119 | QCopEnvelope env( "QPE/System", "setCurrentRotation(int)" ); | 117 | QCopEnvelope env( "QPE/System", "setCurrentRotation(int)" ); |
120 | env << newRotation; | 118 | env << newRotation; |
121 | QCopEnvelope env2( "QPE/System", "setDefaultRotation(int)" ); | ||
122 | env2 << newRotation; | ||
123 | 119 | ||
124 | m_flipped = !m_flipped; | 120 | m_flipped = !m_flipped; |
125 | } | 121 | } |
126 | 122 | ||
127 | 123 | ||
128 | QRESULT RotateApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) | 124 | QRESULT RotateApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) |
129 | { | 125 | { |
130 | *iface = 0; | 126 | *iface = 0; |
131 | if ( uuid == IID_QUnknown ) | 127 | if ( uuid == IID_QUnknown ) |
132 | *iface = this; | 128 | *iface = this; |
133 | else if ( uuid == IID_MenuApplet ) | 129 | else if ( uuid == IID_MenuApplet ) |
134 | *iface = this; | 130 | *iface = this; |
135 | 131 | ||
136 | if ( *iface ) | 132 | if ( *iface ) |
137 | (*iface)-> addRef ( ); | 133 | (*iface)-> addRef ( ); |
138 | return QS_OK; | 134 | return QS_OK; |
139 | } | 135 | } |
140 | 136 | ||
141 | Q_EXPORT_INTERFACE( ) | 137 | Q_EXPORT_INTERFACE( ) |
142 | { | 138 | { |
143 | Q_CREATE_INSTANCE( RotateApplet ) | 139 | Q_CREATE_INSTANCE( RotateApplet ) |
144 | } | 140 | } |
145 | 141 | ||
146 | 142 | ||