summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/rotateapplet/rotate.cpp15
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
41RotateApplet::RotateApplet ( ) 41RotateApplet::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
47RotateApplet::~RotateApplet ( ) 47RotateApplet::~RotateApplet ( )
48{ 48{
49} 49}
50 50
51int RotateApplet::position ( ) const 51int RotateApplet::position ( ) const
52{ 52{
53 return 2; 53 return 2;
54} 54}
55 55
56QString RotateApplet::name ( ) const 56QString RotateApplet::name ( ) const
57{ 57{
58 return tr( "Rotate shortcut" ); 58 return tr( "Rotate shortcut" );
59} 59}
60 60
61QString RotateApplet::text ( ) const 61QString RotateApplet::text ( ) const
62{ 62{
63 return tr( "Rotate" ); 63 return tr( "Rotate" );
64} 64}
65 65
66QString RotateApplet::tr( const char* s ) const 66QString 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
71QString RotateApplet::tr( const char* s, const char* p ) const 71QString 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
76QIconSet RotateApplet::icon ( ) const 76QIconSet 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
86QPopupMenu *RotateApplet::popup ( QWidget * ) const 86QPopupMenu *RotateApplet::popup ( QWidget * ) const
87{ 87{
88 return 0; 88 return 0;
89} 89}
90 90
91void RotateApplet::activated ( ) 91void 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
135QRESULT RotateApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) 128QRESULT 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
148Q_EXPORT_INTERFACE( ) 141Q_EXPORT_INTERFACE( )
149{ 142{
150 Q_CREATE_INSTANCE( RotateApplet ) 143 Q_CREATE_INSTANCE( RotateApplet )
151} 144}
152 145
153 146