summaryrefslogtreecommitdiff
path: root/core/launcher
authorzecke <zecke>2003-10-04 07:27:33 (UTC)
committer zecke <zecke>2003-10-04 07:27:33 (UTC)
commit364d30ca7c212a531b79bb7cbceb8af7a0130f2c (patch) (side-by-side diff)
tree7c0d70c49a884d02418a7708ce819a8d0b02130f /core/launcher
parent271ba635536db4a9f4ae1e575194d0f388b1c991 (diff)
downloadopie-364d30ca7c212a531b79bb7cbceb8af7a0130f2c.zip
opie-364d30ca7c212a531b79bb7cbceb8af7a0130f2c.tar.gz
opie-364d30ca7c212a531b79bb7cbceb8af7a0130f2c.tar.bz2
Check if there is a Mouse Driver
And get rid off the QPE_NEED_CALIBRATION define for defining the need of calibration We will find out at runtime SomeOne Apply this to core/server in the BRANCH as well
Diffstat (limited to 'core/launcher') (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/firstuse.cpp24
-rw-r--r--core/launcher/firstuse.h1
-rw-r--r--core/launcher/main.cpp3
3 files changed, 16 insertions, 12 deletions
diff --git a/core/launcher/firstuse.cpp b/core/launcher/firstuse.cpp
index 2dc6a72..3f769ae 100644
--- a/core/launcher/firstuse.cpp
+++ b/core/launcher/firstuse.cpp
@@ -27,15 +27,14 @@
#endif
#include "firstuse.h"
#include "inputmethods.h"
#include "applauncher.h"
#include "serverapp.h"
#include <qtopia/custom.h>
-#if defined(QPE_NEED_CALIBRATION)
+
#include "calibrate.h"
-#endif
#include "documentlist.h"
#include <qtopia/resource.h>
#include <qtopia/qcopenvelope_qws.h>
#include <qtopia/qpeapplication.h>
#include <qtopia/config.h>
@@ -165,18 +164,22 @@ FirstUse::FirstUse(QWidget* parent, const char * name, WFlags wf) :
qDebug("Setting up QCop to QPE/System");
QCopChannel* sysChannel = new QCopChannel( "QPE/System", this );
connect(sysChannel, SIGNAL(received(const QCString &, const QByteArray &)),
this, SLOT(message(const QCString &, const QByteArray &)) );
#endif
calcMaxWindowRect();
-#if defined(QPE_NEED_CALIBRATION)
- if ( !QFile::exists("/etc/pointercal") ) {
- needCalibrate = TRUE;
- grabMouse();
+
+ m_calHandler = ( QWSServer::mouseHandler() && QWSServer::mouseHandler()->inherits("QCalibratedMouseHandler") ) ? true : false;
+
+ if ( m_calHandler) {
+ if ( !QFile::exists("/etc/pointercal") ) {
+ needCalibrate = TRUE;
+ grabMouse();
+ }
}
-#endif
+
Config config("locale");
config.setGroup( "Language");
lang = config.readEntry( "Language", "en");
defaultFont = font();
@@ -227,13 +230,13 @@ void FirstUse::nextDialog()
do {
currApp++;
qDebug( "currApp = %d", currApp );
if ( settingsTable[currApp].app == 0 ) {
if ( prevApp >= 0 && appLauncher->isRunning(settingsTable[prevApp].app) ) {
// The last application is still running.
- // Tell it to stop, and when its done we'll come back
+ // Tell it to stop, and when its done we'll come back
// to nextDialog and exit.
qDebug( "Waiting for %s to exit", settingsTable[prevApp].app );
QCopEnvelope e(QCString("QPE/Application/") + settingsTable[prevApp].app,
settingsTable[prevApp].stop );
currApp = prevApp;
} else {
@@ -488,12 +491,13 @@ void FirstUse::updateButtons()
while ( settingsTable[i].app && !settingsTable[i].enabled )
i++;
if ( !settingsTable[i].app )
next->setText(tr("Finish"));
else
next->setText(tr("Next >>"));
+
next->setEnabled( !waitingForLaunch );
}
void FirstUse::keyPressEvent( QKeyEvent *e )
{
// Allow cancelling at first dialog, in case display is broken.
@@ -501,17 +505,15 @@ void FirstUse::keyPressEvent( QKeyEvent *e )
QDialog::keyPressEvent(e);
}
void FirstUse::mouseReleaseEvent( QMouseEvent * )
{
if ( currApp < 0 ) {
-#if defined(QPE_NEED_CALIBRATION)
- if ( needCalibrate ) {
+ if ( m_calHandler && needCalibrate ) {
releaseMouse();
Calibrate *cal = new Calibrate;
cal->exec();
delete cal;
}
-#endif
nextDialog();
}
}
diff --git a/core/launcher/firstuse.h b/core/launcher/firstuse.h
index 44a95a8..98858f8 100644
--- a/core/launcher/firstuse.h
+++ b/core/launcher/firstuse.h
@@ -76,9 +76,10 @@ private:
QWidget *taskBar;
int currApp;
int waitForExit;
bool waitingForLaunch;
bool needRestart;
+ bool m_calHandler : 1;
QFont defaultFont;
};
diff --git a/core/launcher/main.cpp b/core/launcher/main.cpp
index 075985d..ad40536 100644
--- a/core/launcher/main.cpp
+++ b/core/launcher/main.cpp
@@ -195,13 +195,14 @@ static void initKeyboard()
Server::setKeyboardLayout( layout );
}
static bool firstUse()
{
bool needFirstUse = FALSE;
- if ( QWSServer::mouseHandler() ->inherits("QCalibratedMouseHandler") ) {
+ if ( QWSServer::mouseHandler() &&
+ QWSServer::mouseHandler() ->inherits("QCalibratedMouseHandler") ) {
if ( !QFile::exists( "/etc/pointercal" ) )
needFirstUse = TRUE;
}
{
Config config( "qpe" );