summaryrefslogtreecommitdiff
authorkergoth <kergoth>2003-03-27 05:07:03 (UTC)
committer kergoth <kergoth>2003-03-27 05:07:03 (UTC)
commit06bcd227c2806a35d77e9da4c1338d578680e3ed (patch) (side-by-side diff)
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) (show 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 @@
#ifndef __QPE_APPLICATION_H__
#define __QPE_APPLICATION_H__
+#include <stdlib.h> // for setenv()
#include <qglobal.h>
#include <qapplication.h>
@@ -159,28 +160,29 @@ inline int QPEApplication::execDialog( QDialog* d, bool nomax )
enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */
-inline void QPEApplication::setCurrentRotation( int r )
+inline int TransToDeg ( Transformation t )
+{
+ int d = static_cast<int>( t );
+ return d * 90;
+}
+
+inline Transformation DegToTrans ( int d )
{
- Transformation e;
-
- switch (r) {
- case 0:
- e = Rot0;
- break;
- case 90:
- e = Rot90;
- break;
- case 180:
- e = Rot180;
- break;
- case 270:
- e = Rot270;
- break;
- default:
- return;
+ Transformation t = static_cast<Transformation>( d / 90 );
+ return t;
}
- qDebug("calling qApp->desktop()->qwsDisplay()->setTransformation( %d )\n", e);
+/*
+ * Set current rotation of Opie, and rotation for newly started apps.
+ * Differs from setDefaultRotation in that 1) it rotates currently running apps,
+ * and 2) does not set deforient or save orientation to qpe.conf.
+ */
+
+inline void QPEApplication::setCurrentRotation( int r )
+{
+ Transformation e = DegToTrans( r );
+
+ setenv( "QWS_DISPLAY", QString( "Transformed:Rot%1:0" ).arg( r ).latin1(), 1 );
qApp->desktop()->qwsDisplay()->setTransformation( e );
}