-rw-r--r-- | core/applets/rotateapplet/rotate.cpp | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/core/applets/rotateapplet/rotate.cpp b/core/applets/rotateapplet/rotate.cpp index 4743388..3a5a3c9 100644 --- a/core/applets/rotateapplet/rotate.cpp +++ b/core/applets/rotateapplet/rotate.cpp | |||
@@ -12,142 +12,135 @@ | |||
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 ) |
43 | { | 43 | { |
44 | m_flipped = false; | 44 | m_flipped = false; |
45 | } | 45 | } |
46 | 46 | ||
47 | RotateApplet::~RotateApplet ( ) | 47 | RotateApplet::~RotateApplet ( ) |
48 | { | 48 | { |
49 | } | 49 | } |
50 | 50 | ||
51 | int RotateApplet::position ( ) const | 51 | int RotateApplet::position ( ) const |
52 | { | 52 | { |
53 | return 2; | 53 | return 2; |
54 | } | 54 | } |
55 | 55 | ||
56 | QString RotateApplet::name ( ) const | 56 | QString RotateApplet::name ( ) const |
57 | { | 57 | { |
58 | return tr( "Rotate shortcut" ); | 58 | return tr( "Rotate shortcut" ); |
59 | } | 59 | } |
60 | 60 | ||
61 | QString RotateApplet::text ( ) const | 61 | QString RotateApplet::text ( ) const |
62 | { | 62 | { |
63 | return tr( "Rotate" ); | 63 | return tr( "Rotate" ); |
64 | } | 64 | } |
65 | 65 | ||
66 | QString RotateApplet::tr( const char* s ) const | 66 | QString RotateApplet::tr( const char* s ) const |
67 | { | 67 | { |
68 | return qApp->translate( "RotateApplet", s, 0 ); | 68 | return qApp->translate( "RotateApplet", s, 0 ); |
69 | } | 69 | } |
70 | 70 | ||
71 | QString RotateApplet::tr( const char* s, const char* p ) const | 71 | QString RotateApplet::tr( const char* s, const char* p ) const |
72 | { | 72 | { |
73 | return qApp->translate( "RotateApplet", s, p ); | 73 | return qApp->translate( "RotateApplet", s, p ); |
74 | } | 74 | } |
75 | 75 | ||
76 | QIconSet RotateApplet::icon ( ) const | 76 | QIconSet RotateApplet::icon ( ) const |
77 | { | 77 | { |
78 | QPixmap pix; | 78 | QPixmap pix; |
79 | QImage img = Resource::loadImage ( "Rotation" ); | 79 | QImage img = Resource::loadImage ( "Rotation" ); |
80 | 80 | ||
81 | if ( !img. isNull ( )) | 81 | if ( !img. isNull ( )) |
82 | pix. convertFromImage ( img. smoothScale ( 14, 14 )); | 82 | pix. convertFromImage ( img. smoothScale ( 14, 14 )); |
83 | return pix; | 83 | return pix; |
84 | } | 84 | } |
85 | 85 | ||
86 | QPopupMenu *RotateApplet::popup ( QWidget * ) const | 86 | QPopupMenu *RotateApplet::popup ( QWidget * ) const |
87 | { | 87 | { |
88 | return 0; | 88 | return 0; |
89 | } | 89 | } |
90 | 90 | ||
91 | void RotateApplet::activated ( ) | 91 | void RotateApplet::activated ( ) |
92 | { | 92 | { |
93 | int currentRotation = QPEApplication::defaultRotation(); | 93 | int currentRotation = QPEApplication::defaultRotation(); |
94 | 94 | ||
95 | int newRotation; | 95 | int newRotation; |
96 | 96 | ||
97 | Config cfg( "qpe" ); | 97 | Config cfg( "qpe" ); |
98 | cfg.setGroup( "Appearance" ); | 98 | cfg.setGroup( "Appearance" ); |
99 | 99 | ||
100 | // 0 -> 90° clockwise, 1 -> 90° counterclockwise | 100 | // 0 -> 90° clockwise, 1 -> 90° counterclockwise |
101 | bool rotDirection = cfg.readBoolEntry( "rotatedir" ); | 101 | bool rotDirection = cfg.readBoolEntry( "rotatedir" ); |
102 | 102 | ||
103 | // hide inputs methods before rotation | 103 | // hide inputs methods before rotation |
104 | QCopEnvelope en( "QPE/TaskBar", "hideInputMethod()" ); | 104 | QCopEnvelope en( "QPE/TaskBar", "hideInputMethod()" ); |
105 | 105 | ||
106 | if ( m_flipped ) { | 106 | if ( m_flipped ) { |
107 | if ( rotDirection ) { | 107 | if ( rotDirection ) { |
108 | newRotation = currentRotation - 90; | 108 | newRotation = ( currentRotation + 270 ) % 360; |
109 | if (newRotation <=0) newRotation = 270; | ||
110 | //ipaqs like the 36xx have the display rotated | ||
111 | // to 270 as default, and -90 is invalid => handle this here | ||
112 | } else { | 109 | } else { |
113 | newRotation = currentRotation + 90; | 110 | newRotation = ( currentRotation + 90 ) % 360; |
114 | if(newRotation >= 360) newRotation = 0;//ipaqs like the 36xx have the display | ||
115 | //rotated to 270 as default, so 360 does nothing => handle this here | ||
116 | } | 111 | } |
117 | } else { | 112 | } else { |
118 | if ( rotDirection ) { | 113 | if ( rotDirection ) { |
119 | newRotation = currentRotation + 90; | 114 | newRotation = ( currentRotation + 90 ) % 360; |
120 | if(newRotation >= 360) newRotation = 0; | ||
121 | } else { | 115 | } else { |
122 | newRotation = currentRotation - 90; | 116 | newRotation = ( currentRotation + 270 ) % 360; |
123 | if (newRotation <=0) newRotation = 270; | ||
124 | } | 117 | } |
125 | } | 118 | } |
126 | QCopEnvelope env( "QPE/System", "setCurrentRotation(int)" ); | 119 | QCopEnvelope env( "QPE/System", "setCurrentRotation(int)" ); |
127 | env << newRotation; | 120 | env << newRotation; |
128 | QCopEnvelope env2( "QPE/System", "setDefaultRotation(int)" ); | 121 | QCopEnvelope env2( "QPE/System", "setDefaultRotation(int)" ); |
129 | env2 << newRotation; | 122 | env2 << newRotation; |
130 | 123 | ||
131 | m_flipped = !m_flipped; | 124 | m_flipped = !m_flipped; |
132 | } | 125 | } |
133 | 126 | ||
134 | 127 | ||
135 | QRESULT RotateApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) | 128 | QRESULT RotateApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) |
136 | { | 129 | { |
137 | *iface = 0; | 130 | *iface = 0; |
138 | if ( uuid == IID_QUnknown ) | 131 | if ( uuid == IID_QUnknown ) |
139 | *iface = this; | 132 | *iface = this; |
140 | else if ( uuid == IID_MenuApplet ) | 133 | else if ( uuid == IID_MenuApplet ) |
141 | *iface = this; | 134 | *iface = this; |
142 | 135 | ||
143 | if ( *iface ) | 136 | if ( *iface ) |
144 | (*iface)-> addRef ( ); | 137 | (*iface)-> addRef ( ); |
145 | return QS_OK; | 138 | return QS_OK; |
146 | } | 139 | } |
147 | 140 | ||
148 | Q_EXPORT_INTERFACE( ) | 141 | Q_EXPORT_INTERFACE( ) |
149 | { | 142 | { |
150 | Q_CREATE_INSTANCE( RotateApplet ) | 143 | Q_CREATE_INSTANCE( RotateApplet ) |
151 | } | 144 | } |
152 | 145 | ||
153 | 146 | ||