summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/launcher/main.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/core/launcher/main.cpp b/core/launcher/main.cpp
index 5bbed59..8ed8710 100644
--- a/core/launcher/main.cpp
+++ b/core/launcher/main.cpp
@@ -30,129 +30,129 @@
#include <qtopia/network.h>
#include <qtopia/alarmserver.h>
using namespace Opie::Core;
/* QT */
#include <qdir.h>
#include <qmessagebox.h>
#ifdef QWS
#include <qwindowsystem_qws.h>
#include <qtopia/qcopenvelope_qws.h>
#endif
#ifdef Q_WS_QWS
#include <qkeyboard_qws.h>
#endif
/* STD */
#include <stdlib.h>
#include <stdio.h>
#include <signal.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
void create_pidfile();
void remove_pidfile();
static void cleanup()
{
QDir dir( "/tmp", "qcop-msg-*" );
QStringList stale = dir.entryList();
QStringList::Iterator it;
for ( it = stale.begin(); it != stale.end(); ++it ) {
dir.remove( *it );
}
}
void initEnvironment()
{
Config config("locale");
config.setGroup( "Location" );
QString tz = config.readEntry( "Timezone", getenv("TZ") ).stripWhiteSpace();
// timezone
if (tz.isNull() || tz.isEmpty()) tz = "America/New_York";
setenv( "TZ", tz, 1 );
config.writeEntry( "Timezone", tz);
// language
config.setGroup( "Language" );
QString lang = config.readEntry( "Language", getenv("LANG") ).stripWhiteSpace();
if( lang.isNull() || lang.isEmpty()) lang = "en_US";
setenv( "LANG", lang, 1 );
config.writeEntry("Language", lang);
config.write();
// rotation
int t = ODevice::inst()->rotation();
odebug << "ODevice reports transformation to be " << t << oendl;
QString env( getenv("QWS_DISPLAY") );
if ( env.isEmpty() )
{
int rot = ODevice::inst()->rotation() * 90;
- QString qws_display = QString("Transformed:Rot%1:0").arg(rot);
+ QString qws_display = QString( "%1:Rot%2:0").arg(ODevice::inst()->qteDriver()).arg(rot);
odebug << "setting QWS_DISPLAY to '" << qws_display << "'" << oendl;
setenv("QWS_DISPLAY", (const char*) qws_display, 1);
}
else
odebug << "QWS_DISPLAY already set as '" << env << "' - overriding ODevice transformation" << oendl;
QPEApplication::defaultRotation(); /* to ensure deforient matches reality */
}
static void initKeyboard()
{
Config config("qpe");
config.setGroup( "Keyboard" );
int ard = config.readNumEntry( "RepeatDelay" );
int arp = config.readNumEntry( "RepeatPeriod" );
if ( ard > 0 && arp > 0 )
qwsSetKeyboardAutoRepeat( ard, arp );
QString layout = config.readEntry( "Layout", "us101" );
Server::setKeyboardLayout( layout );
}
static bool firstUse()
{
bool needFirstUse = FALSE;
if ( QWSServer::mouseHandler() &&
QWSServer::mouseHandler() ->inherits("QCalibratedMouseHandler") ) {
if ( !QFile::exists( "/etc/pointercal" ) )
needFirstUse = TRUE;
}
{
Config config( "qpe" );
config.setGroup( "Startup" );
needFirstUse |= config.readBoolEntry( "FirstUse", TRUE );
}
if ( !needFirstUse )
return FALSE;
FirstUse *fu = new FirstUse();
fu->exec();
bool rs = fu->restartNeeded();
delete fu;
return rs;
}
int initApplication( int argc, char ** argv )
{
cleanup();
initEnvironment();
#ifdef QWS
QWSServer::setDesktopBackground( QImage() );
#endif
ServerApplication a( argc, argv, QApplication::GuiServer );
initKeyboard();
if ( firstUse() )
{
a.restart();
return 0;