-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 | |||
@@ -39,9 +39,8 @@ | |||
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 ( ) |
@@ -90,7 +89,7 @@ QPopupMenu *RotateApplet::popup ( QWidget * ) const | |||
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 | ||
@@ -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 | } |