-rw-r--r-- | library/qpeapplication.h | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/library/qpeapplication.h b/library/qpeapplication.h index 7f74510..0bad8b7 100644 --- a/library/qpeapplication.h +++ b/library/qpeapplication.h | |||
@@ -20,6 +20,7 @@ | |||
20 | #ifndef __QPE_APPLICATION_H__ | 20 | #ifndef __QPE_APPLICATION_H__ |
21 | #define __QPE_APPLICATION_H__ | 21 | #define __QPE_APPLICATION_H__ |
22 | 22 | ||
23 | #include <stdlib.h> // for setenv() | ||
23 | 24 | ||
24 | #include <qglobal.h> | 25 | #include <qglobal.h> |
25 | #include <qapplication.h> | 26 | #include <qapplication.h> |
@@ -159,28 +160,29 @@ inline int QPEApplication::execDialog( QDialog* d, bool nomax ) | |||
159 | 160 | ||
160 | enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */ | 161 | enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */ |
161 | 162 | ||
162 | inline void QPEApplication::setCurrentRotation( int r ) | 163 | inline int TransToDeg ( Transformation t ) |
164 | { | ||
165 | int d = static_cast<int>( t ); | ||
166 | return d * 90; | ||
167 | } | ||
168 | |||
169 | inline Transformation DegToTrans ( int d ) | ||
163 | { | 170 | { |
164 | Transformation e; | 171 | Transformation t = static_cast<Transformation>( d / 90 ); |
165 | 172 | return t; | |
166 | switch (r) { | ||
167 | case 0: | ||
168 | e = Rot0; | ||
169 | break; | ||
170 | case 90: | ||
171 | e = Rot90; | ||
172 | break; | ||
173 | case 180: | ||
174 | e = Rot180; | ||
175 | break; | ||
176 | case 270: | ||
177 | e = Rot270; | ||
178 | break; | ||
179 | default: | ||
180 | return; | ||
181 | } | 173 | } |
182 | 174 | ||
183 | qDebug("calling qApp->desktop()->qwsDisplay()->setTransformation( %d )\n", e); | 175 | /* |
176 | * Set current rotation of Opie, and rotation for newly started apps. | ||
177 | * Differs from setDefaultRotation in that 1) it rotates currently running apps, | ||
178 | * and 2) does not set deforient or save orientation to qpe.conf. | ||
179 | */ | ||
180 | |||
181 | inline void QPEApplication::setCurrentRotation( int r ) | ||
182 | { | ||
183 | Transformation e = DegToTrans( r ); | ||
184 | |||
185 | setenv( "QWS_DISPLAY", QString( "Transformed:Rot%1:0" ).arg( r ).latin1(), 1 ); | ||
184 | qApp->desktop()->qwsDisplay()->setTransformation( e ); | 186 | qApp->desktop()->qwsDisplay()->setTransformation( e ); |
185 | } | 187 | } |
186 | 188 | ||