author | kergoth <kergoth> | 2003-03-27 05:26:47 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2003-03-27 05:26:47 (UTC) |
commit | a16e4becf2de9b5e26e179a6c664e830a06406a9 (patch) (unidiff) | |
tree | 329141983db204e7fb6b78d82e2e7107080d0bf6 | |
parent | 06bcd227c2806a35d77e9da4c1338d578680e3ed (diff) | |
download | opie-a16e4becf2de9b5e26e179a6c664e830a06406a9.zip opie-a16e4becf2de9b5e26e179a6c664e830a06406a9.tar.gz opie-a16e4becf2de9b5e26e179a6c664e830a06406a9.tar.bz2 |
1) now that setCurrentRotation sets QWS_DISPLAY, dont call setDefaultRotation
2) now that we arent calling setDefaultRotation, we can rely on
defaultRotation() returning the actual original default rotation (deforient).
So in turn, we can simply 'flip back' to the original rotation, rather than
trying to calculate what the original rotation would have been.
-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 | |||
@@ -30,27 +30,26 @@ | |||
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 |
@@ -81,54 +80,51 @@ QIconSet RotateApplet::icon ( ) const | |||
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; |