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
@@ -7,32 +7,33 @@
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
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>
26#include <qdialog.h> 27#include <qdialog.h>
27#include <qwsdisplay_qws.h> 28#include <qwsdisplay_qws.h>
28#if defined(_WS_QWS_) && !defined(Q_WS_QWS) 29#if defined(_WS_QWS_) && !defined(Q_WS_QWS)
29#define Q_WS_QWS 30#define Q_WS_QWS
30#endif 31#endif
31#include "qpedecoration_qws.h" 32#include "qpedecoration_qws.h"
32#include "timestring.h" 33#include "timestring.h"
33 34
34class QCopChannel; 35class QCopChannel;
35class QPEApplicationData; 36class QPEApplicationData;
36class QWSEvent; 37class QWSEvent;
37class QWSKeyEvent; 38class QWSKeyEvent;
38 39
@@ -146,43 +147,44 @@ inline void QPEApplication::showDialog( QDialog* d, bool nomax )
146 { 147 {
147 d->showMaximized(); 148 d->showMaximized();
148 } else { 149 } else {
149 d->resize(w,h); 150 d->resize(w,h);
150 d->show(); 151 d->show();
151 } 152 }
152} 153}
153 154
154inline int QPEApplication::execDialog( QDialog* d, bool nomax ) 155inline int QPEApplication::execDialog( QDialog* d, bool nomax )
155{ 156{
156 showDialog(d,nomax); 157 showDialog(d,nomax);
157 return d->exec(); 158 return d->exec();
158} 159}
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
187 189
188#endif 190#endif