summaryrefslogtreecommitdiff
authorkergoth <kergoth>2003-03-27 05:07:03 (UTC)
committer kergoth <kergoth>2003-03-27 05:07:03 (UTC)
commit06bcd227c2806a35d77e9da4c1338d578680e3ed (patch) (unidiff)
treeb652b5bd536641e07d840e03f13bcdcdf25e50e9
parentcc8374957bcd95868d3dc52c854786239083cffc (diff)
downloadopie-06bcd227c2806a35d77e9da4c1338d578680e3ed.zip
opie-06bcd227c2806a35d77e9da4c1338d578680e3ed.tar.gz
opie-06bcd227c2806a35d77e9da4c1338d578680e3ed.tar.bz2
Behavior change for setCurrentRotation. Now changes rotation for newly
started apps as well as those currently running. Differs from setDefaultRotation in that 1) it rotates currently running apps, and 2) does not set deforient or save orientation to qpe.conf.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpeapplication.h40
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
@@ -21,4 +21,5 @@
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>
@@ -160,26 +161,27 @@ inline int QPEApplication::execDialog( QDialog* d, bool nomax )
160enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */ 161enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */
161 162
163inline int TransToDeg ( Transformation t )
164{
165 int d = static_cast<int>( t );
166 return d * 90;
167}
168
169inline Transformation DegToTrans ( int d )
170{
171 Transformation t = static_cast<Transformation>( d / 90 );
172 return t;
173}
174
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
162inline void QPEApplication::setCurrentRotation( int r ) 181inline void QPEApplication::setCurrentRotation( int r )
163{ 182{
164 Transformation e; 183 Transformation e = DegToTrans( r );
165
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 }
182 184
183 qDebug("calling qApp->desktop()->qwsDisplay()->setTransformation( %d )\n", e); 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}