summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/rotateapplet/rotate.cpp24
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
@@ -39,9 +39,8 @@
39 39
40 40
41RotateApplet::RotateApplet ( ) 41RotateApplet::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
47RotateApplet::~RotateApplet ( ) 46RotateApplet::~RotateApplet ( )
@@ -90,7 +89,7 @@ QPopupMenu *RotateApplet::popup ( QWidget * ) const
90 89
91void RotateApplet::activated ( ) 90void RotateApplet::activated ( )
92{ 91{
93 int currentRotation = QPEApplication::defaultRotation(); 92 int defaultRotation = QPEApplication::defaultRotation();
94 93
95 int newRotation; 94 int newRotation;
96 95
@@ -98,28 +97,25 @@ void RotateApplet::activated ( )
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}