-rw-r--r-- | core/launcher/main.cpp | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/core/launcher/main.cpp b/core/launcher/main.cpp index d11b6c5..0b38738 100644 --- a/core/launcher/main.cpp +++ b/core/launcher/main.cpp @@ -49,9 +49,11 @@ 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 @@ -64,21 +66,38 @@ void initEnvironment() 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 ( ( rot = QPEApplication::defaultRotation ( ) ) == 0 ) { + 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); } int initApplication( int argc, char ** argv ) { initEnvironment(); -#if !defined(QT_QWS_CASSIOPEIA) && !defined(QT_QWS_IPAQ) && !defined(QT_QWS_SL5XXX) - setenv( "QWS_SIZE", "240x320", 0 ); -#endif - //Don't flicker at startup: QWSServer::setDesktopBackground( QImage() ); + DesktopApplication a( argc, argv, QApplication::GuiServer ); ODevice::inst ( )-> setSoftSuspend ( true ); |