summaryrefslogtreecommitdiff
Unidiff
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
@@ -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
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}
186 188