-rw-r--r-- | core/launcher/main.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/core/launcher/main.cpp b/core/launcher/main.cpp index a6e2a9d..20a1ecd 100644 --- a/core/launcher/main.cpp +++ b/core/launcher/main.cpp @@ -51,56 +51,51 @@ using namespace Opie; void initEnvironment() { int rot; Config config("locale"); config.setGroup( "Location" ); QString tz = config.readEntry( "Timezone", getenv("TZ") ); // if not timezone set, pick New York if (tz.isNull()) tz = "America/New_York"; setenv( "TZ", tz, 1 ); config.writeEntry( "Timezone", tz); config.setGroup( "Language" ); QString lang = config.readEntry( "Language", getenv("LANG") ); if ( !lang.isNull() ) setenv( "LANG", lang, 1 ); #if !defined(QT_QWS_CASSIOPEIA) && !defined(QT_QWS_IPAQ) && !defined(QT_QWS_SL5XXX) setenv( "QWS_SIZE", "240x320", 0 ); #endif - /* - * Rotation: - * 1. use env var if set - * 2. use saved default if set - * 3. use physical orientation (currently fails due to ODevice - * using a QPixmap and therefore requiring a QApplication) - */ - if ( getenv("QWS_DISPLAY") == NULL ) { + QString env(getenv("QWS_DISPLAY")); + if (env.contains("Transformed")) { + // transformed driver default rotation is controlled by the hardware. Config config("qpe"); config.setGroup( "Rotation" ); if ( ( rot = config.readNumEntry( "Rot", -1 ) ) == -1 ) rot = ODevice::inst ( )-> rotation ( ) * 90; setenv("QWS_DISPLAY", QString("Transformed:Rot%1:0").arg(rot), 1); QPEApplication::defaultRotation ( ); /* to ensure deforient matches reality */ } } int initApplication( int argc, char ** argv ) { initEnvironment(); //Don't flicker at startup: QWSServer::setDesktopBackground( QImage() ); DesktopApplication a( argc, argv, QApplication::GuiServer ); ODevice::inst ( )-> setSoftSuspend ( true ); { // init backlight QCopEnvelope e("QPE/System", "setBacklight(int)" ); |