author | kergoth <kergoth> | 2003-03-26 23:18:14 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2003-03-26 23:18:14 (UTC) |
commit | a99096fa8b72704bcec0b76a6ad2107c3db70f13 (patch) (side-by-side diff) | |
tree | c4cd6d45d3aa97cab24d50eb0ac79ecbb16855a8 | |
parent | a57325de7183c21df6b5ff06eff8cf7e3c328ef4 (diff) | |
download | opie-a99096fa8b72704bcec0b76a6ad2107c3db70f13.zip opie-a99096fa8b72704bcec0b76a6ad2107c3db70f13.tar.gz opie-a99096fa8b72704bcec0b76a6ad2107c3db70f13.tar.bz2 |
Add a second call to defaultRotation, to ensrue deforient matches reality, if we loaded the rotation from Config or ODevice.
-rw-r--r-- | core/launcher/main.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/core/launcher/main.cpp b/core/launcher/main.cpp index 0b38738..fa4df3c 100644 --- a/core/launcher/main.cpp +++ b/core/launcher/main.cpp @@ -26,128 +26,129 @@ #include <qpe/network.h> #include <qpe/config.h> #if defined( QT_QWS_SL5XXX ) || defined( QT_QWS_IPAQ ) #include <qpe/custom.h> #endif #include <opie/odevice.h> #include <qmessagebox.h> #include <qfile.h> #include <qimage.h> #include <qwindowsystem_qws.h> #include <qwsmouse_qws.h> #include <qpe/qcopenvelope_qws.h> #include <qpe/alarmserver.h> #include <stdlib.h> #include <stdio.h> #include <signal.h> #include <unistd.h> #include "../calibrate/calibrate.h" 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 ( ( 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); + 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)" ); e << -3; // Forced on } AlarmServer::initialize(); Desktop *d = new Desktop(); QObject::connect( &a, SIGNAL(power()), d, SLOT(togglePower()) ); QObject::connect( &a, SIGNAL(backlight()), d, SLOT(toggleLight()) ); QObject::connect( &a, SIGNAL(symbol()), d, SLOT(toggleSymbolInput()) ); QObject::connect( &a, SIGNAL(numLockStateToggle()), d, SLOT(toggleNumLockState()) ); QObject::connect( &a, SIGNAL(capsLockStateToggle()), d, SLOT(toggleCapsLockState()) ); QObject::connect( &a, SIGNAL(prepareForRestart()), d, SLOT(terminateServers()) ); (void)new SysFileMonitor(d); Network::createServer(d); if ( QWSServer::mouseHandler() ->inherits("QCalibratedMouseHandler") ) { if ( !QFile::exists( "/etc/pointercal" ) ) { // Make sure calibration widget starts on top. Calibrate *cal = new Calibrate; cal->exec(); delete cal; } } d->show(); if ( QDate::currentDate ( ). year ( ) < 2000 ) { if ( QMessageBox::information ( 0, DesktopApplication::tr( "Information" ), DesktopApplication::tr( "<p>The system date doesn't seem to be valid.\n(%1)</p><p>Do you want to correct the clock ?</p>" ). arg( TimeString::dateString ( QDate::currentDate ( ))), QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) { QCopEnvelope e ( "QPE/Application/systemtime", "setDocument(QString)" ); e << QString ( ); } } int rv = a.exec(); delete d; ODevice::inst ( )-> setSoftSuspend ( false ); return rv; } static const char *pidfile_path = "/var/run/opie.pid"; void create_pidfile ( ) { |