author | kergoth <kergoth> | 2003-04-19 22:07:06 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2003-04-19 22:07:06 (UTC) |
commit | 29c556ffc9b1497cd996ceb46d646b1eaf1288be (patch) (side-by-side diff) | |
tree | b89c424de93f541bc80908c93172eb4e601e8c02 | |
parent | c502394063598e63591e06072802f1c5a9e0c266 (diff) | |
download | opie-29c556ffc9b1497cd996ceb46d646b1eaf1288be.zip opie-29c556ffc9b1497cd996ceb46d646b1eaf1288be.tar.gz opie-29c556ffc9b1497cd996ceb46d646b1eaf1288be.tar.bz2 |
Split calibrate out as a standalone application, and ensure taskbar depends
on it. This makes ts debugging easier, having a seperate calibration tool
around, and as a side affect fixes calibration on the C700, which previously
required a reboot to take effect.
-rw-r--r-- | core/apps/calibrate/main.cpp | 20 | ||||
-rw-r--r-- | core/apps/calibrate/opie-calibrate.control | 8 | ||||
-rw-r--r-- | core/launcher/desktop.cpp | 2 | ||||
-rw-r--r-- | core/launcher/launcher.pro | 4 | ||||
-rw-r--r-- | core/launcher/main.cpp | 15 | ||||
-rw-r--r-- | core/launcher/opie-taskbar.control | 4 | ||||
-rw-r--r-- | core/launcher/taskbar.cpp | 17 | ||||
-rw-r--r-- | core/launcher/taskbar.h | 2 |
8 files changed, 32 insertions, 40 deletions
diff --git a/core/apps/calibrate/main.cpp b/core/apps/calibrate/main.cpp index d1ad083..1c295eb 100644 --- a/core/apps/calibrate/main.cpp +++ b/core/apps/calibrate/main.cpp @@ -10,33 +10,37 @@ ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ #include "calibrate.h" #include <qfile.h> #include <qpe/qpeapplication.h> +#ifdef QWS +#include <qwindowsystem_qws.h> +#endif + int main( int argc, char ** argv ) { QPEApplication a( argc, argv ); int retval = 0; -#if defined(QT_QWS_CASSIOPEIA) || defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) - if ( !QFile::exists( "/etc/pointercal" ) ) { +#ifdef QWS + if ( QWSServer::mouseHandler() ->inherits("QCalibratedMouseHandler") ) { +#endif // Make sure calibration widget starts on top. - Calibrate *cal = new Calibrate; - a.setMainWidget(cal); - a.showMainWidget(cal); - retval = a.exec(); - delete cal; + Calibrate cal; + a.setMainWidget(&cal); + a.showMainWidget(&cal); + return a.exec(); +#ifdef QWS } #endif - return retval; } diff --git a/core/apps/calibrate/opie-calibrate.control b/core/apps/calibrate/opie-calibrate.control new file mode 100644 index 0000000..6eafb94 --- a/dev/null +++ b/core/apps/calibrate/opie-calibrate.control @@ -0,0 +1,8 @@ +Files: bin/calibrate apps/Settings/Calibrate.desktop +Priority: required +Section: opie/system +Maintainer: Project Opie <opie@handhelds.org> +Architecture: arm +Version: $QPE_VERSION-$SUB_VERSION.3 +Depends: libqpe1, libqt2-emb +Description: Opie calibration tool diff --git a/core/launcher/desktop.cpp b/core/launcher/desktop.cpp index 6def126..ef0bf4c 100644 --- a/core/launcher/desktop.cpp +++ b/core/launcher/desktop.cpp @@ -85,33 +85,32 @@ public: return message; } private: int keyCode; QCString channel, message; }; typedef QValueList<QCopKeyRegister> KeyRegisterList; KeyRegisterList keyRegisterList; static Desktop* qpedesktop = 0; static int loggedin = 0; static void login( bool at_poweron ) { if ( !loggedin ) { - Global::terminateBuiltin( "calibrate" ); Password::authenticate( at_poweron ); loggedin = 1; QCopEnvelope e( "QPE/Desktop", "unlocked()" ); } } bool Desktop::screenLocked() { return loggedin == 0; } /* Priority is number of alerts that are needed to pop up alert. */ class DesktopPowerAlerter : public QMessageBox @@ -609,33 +608,32 @@ static bool hasVisibleWindow( const QString& clientname ) const QList<QWSWindow> &list = qwsServer->clientWindows(); QWSWindow* w; for ( QListIterator<QWSWindow> it( list ); ( w = it.current() ); ++it ) { if ( w->client() ->identity() == clientname && !w->isFullyObscured() ) return TRUE; } #endif return FALSE; } void Desktop::executeOrModify( const QString& appLnkFile ) { AppLnk lnk( MimeType::appsFolderName() + "/" + appLnkFile ); if ( lnk.isValid() ) { QCString app = lnk.exec().utf8(); - Global::terminateBuiltin( "calibrate" ); if ( QCopChannel::isRegistered( "QPE/Application/" + app ) ) { // MRUList::addTask( &lnk ); if ( hasVisibleWindow( app ) ) QCopChannel::send( "QPE/Application/" + app, "nextView()" ); else QCopChannel::send( "QPE/Application/" + app, "raise()" ); } else { lnk.execute(); } } } // autoStarts apps on resume and start void Desktop::execAutoStart() { diff --git a/core/launcher/launcher.pro b/core/launcher/launcher.pro index d0a573b..007e48c 100644 --- a/core/launcher/launcher.pro +++ b/core/launcher/launcher.pro @@ -4,33 +4,32 @@ DESTDIR = ../../bin HEADERS = background.h \ desktop.h \ screensaver.h \ mediummountgui.h \ info.h \ appicons.h \ taskbar.h \ sidething.h \ runningappbar.h \ stabmon.h \ inputmethods.h \ systray.h \ wait.h \ shutdownimpl.h \ launcher.h \ launcherview.h \ - ../../core/apps/calibrate/calibrate.h \ startmenu.h \ transferserver.h \ qcopbridge.h \ packageslave.h \ irserver.h \ ../../rsync/buf.h \ ../../rsync/checksum.h \ ../../rsync/command.h \ ../../rsync/emit.h \ ../../rsync/job.h \ ../../rsync/netint.h \ ../../rsync/protocol.h \ ../../rsync/prototab.h \ ../../rsync/rsync.h \ ../../rsync/search.h \ ../../rsync/stream.h \ @@ -45,33 +44,32 @@ HEADERS = background.h \ SOURCES = background.cpp \ desktop.cpp \ screensaver.cpp \ mediummountgui.cpp \ info.cpp \ appicons.cpp \ taskbar.cpp \ sidething.cpp \ runningappbar.cpp \ stabmon.cpp \ inputmethods.cpp \ systray.cpp \ wait.cpp \ shutdownimpl.cpp \ launcher.cpp \ launcherview.cpp \ - ../../core/apps/calibrate/calibrate.cpp \ transferserver.cpp \ packageslave.cpp \ irserver.cpp \ qcopbridge.cpp \ startmenu.cpp \ main.cpp \ ../../rsync/base64.c \ ../../rsync/buf.c \ ../../rsync/checksum.c \ ../../rsync/command.c \ ../../rsync/delta.c \ ../../rsync/emit.c \ ../../rsync/hex.c \ ../../rsync/job.c \ ../../rsync/mdfour.c \ ../../rsync/mksum.c \ @@ -81,34 +79,32 @@ SOURCES = background.cpp \ ../../rsync/prototab.c \ ../../rsync/readsums.c \ ../../rsync/scoop.c \ ../../rsync/search.c \ ../../rsync/stats.c \ ../../rsync/stream.c \ ../../rsync/sumset.c \ ../../rsync/trace.c \ ../../rsync/tube.c \ ../../rsync/util.c \ ../../rsync/version.c \ ../../rsync/whole.c \ ../../rsync/qrsync.cpp INTERFACES = syncdialog.ui INCLUDEPATH += ../../include DEPENDPATH += ../../include . -INCLUDEPATH += ../../core/apps/calibrate -DEPENDPATH += ../../core/apps/calibrate INCLUDEPATH += ../../rsync DEPENDPATH += ../../rsync TARGET = qpe LIBS += -lqpe -lcrypt -lopie TRANSLATIONS = ../../i18n/de/qpe.ts \ ../../i18n/xx/qpe.ts \ ../../i18n/en/qpe.ts \ ../../i18n/es/qpe.ts \ ../../i18n/fr/qpe.ts \ ../../i18n/hu/qpe.ts \ ../../i18n/ja/qpe.ts \ ../../i18n/ko/qpe.ts \ ../../i18n/no/qpe.ts \ ../../i18n/pl/qpe.ts \ ../../i18n/pt/qpe.ts \ diff --git a/core/launcher/main.cpp b/core/launcher/main.cpp index 20a1ecd..e96eeae 100644 --- a/core/launcher/main.cpp +++ b/core/launcher/main.cpp @@ -17,48 +17,47 @@ ** not clear to you. ** **********************************************************************/ #include "desktop.h" #include "taskbar.h" #include "stabmon.h" #include <qpe/qpeapplication.h> #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 <opie/oprocess.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); @@ -105,36 +104,40 @@ int initApplication( int argc, char ** argv ) 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; + OProcess cal; + cal << "calibrate"; + + if ( ! cal.start(OProcess::Block, OProcess::NoCommunication) ) { + QMessageBox::warning( 0, "Unable to calibrate", + "Failed to start the calibration tool.\n" + ); + } } } 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; diff --git a/core/launcher/opie-taskbar.control b/core/launcher/opie-taskbar.control index c0430b7..db66a05 100644 --- a/core/launcher/opie-taskbar.control +++ b/core/launcher/opie-taskbar.control @@ -1,9 +1,9 @@ -Files: bin/qpe apps/Settings/Calibrate.desktop pics/launcher pics/devicebuttons/*.png plugins/applets/libsuspendapplet.so* plugins/applets/libhomeapplet.so* plugins/applets/liblogoutapplet.so* plugins/applets/librotateapplet.so* root/etc/init.d/opie +Files: bin/qpe pics/launcher pics/devicebuttons/*.png plugins/applets/libsuspendapplet.so* plugins/applets/libhomeapplet.so* plugins/applets/liblogoutapplet.so* plugins/applets/librotateapplet.so* root/etc/init.d/opie Priority: required Section: opie/system Maintainer: Project Opie <opie@handhelds.org> Architecture: arm Version: $QPE_VERSION-$SUB_VERSION.3 -Depends: opie-base +Depends: opie-base, opie-calibrate Replaces: opie-rotation Description: Launcher for Opie diff --git a/core/launcher/taskbar.cpp b/core/launcher/taskbar.cpp index 8af568d..8158128 100644 --- a/core/launcher/taskbar.cpp +++ b/core/launcher/taskbar.cpp @@ -9,33 +9,32 @@ ** packaging of this file. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** *********************************************************************/ #include "startmenu.h" #include "inputmethods.h" #include "runningappbar.h" #include "systray.h" -#include "calibrate.h" #include "wait.h" #include "appicons.h" #include "taskbar.h" #include "desktop.h" #include <qpe/qpeapplication.h> #include <qpe/qcopenvelope_qws.h> #include <qpe/global.h> #if defined( QT_QWS_SL5XXX ) || defined( QT_QWS_IPAQ ) #include <qpe/custom.h> #endif #include <opie/odevice.h> @@ -69,41 +68,38 @@ using namespace Opie; #ifdef SINGLE_APP #define APP(a,b,c,d) FACTORY(b) #include "../launcher/apps.h" #undef APP #endif // SINGLE_APP static Global::Command builtins[] = { #ifdef SINGLE_APP #define APP(a,b,c,d) { a, new##b, c }, #include "../launcher/apps.h" #undef APP #endif -#if defined(QT_QWS_IPAQ) || defined(QT_QWS_CASSIOPEIA) || defined(QT_QWS_SL5XXX) - { "calibrate", TaskBar::calibrate, 1, 0 }, -#endif #if !defined(QT_QWS_CASSIOPEIA) { "shutdown", Global::shutdown, 1, 0 }, // { "run", run, 1, 0 }, #endif - { 0, TaskBar::calibrate, 0, 0 }, + { 0, 0, 0, 0 }, }; static bool initNumLock() { #ifdef QPE_INITIAL_NUMLOCK_STATE QPE_INITIAL_NUMLOCK_STATE #endif return FALSE; } class LockKeyState : public QWidget { public: LockKeyState( QWidget *parent ) : QWidget(parent), nl(initNumLock()), cl(FALSE) @@ -293,43 +289,32 @@ void TaskBar::receive( const QCString &msg, const QByteArray &data ) ODevice::inst ( )-> setLedState ( l, status ? ( canblink ? Led_BlinkSlow : Led_On ) : Led_Off ); } } else if ( msg == "toggleMenu()" ) { if ( sm-> launchMenu-> isVisible ( )) sm-> launch ( ); else { QCopEnvelope e ( "QPE/System", "toggleApplicationMenu()" ); } } else if ( msg == "toggleStartMenu()" ) { sm-> launch ( ); } } -QWidget *TaskBar::calibrate(bool) -{ -#ifdef Q_WS_QWS - Calibrate *c = new Calibrate; - c->show(); - return c; -#else - return 0; -#endif -} - void TaskBar::toggleNumLockState() { if ( lockState ) lockState->toggleNumLockState(); } void TaskBar::toggleCapsLockState() { if ( lockState ) lockState->toggleCapsLockState(); } void TaskBar::toggleSymbolInput() { if ( inputMethods->currentShown() == "Unicode" ) { inputMethods->hideInputMethod(); } else { inputMethods->showInputMethod("Unicode"); diff --git a/core/launcher/taskbar.h b/core/launcher/taskbar.h index a0bf395..575a8c9 100644 --- a/core/launcher/taskbar.h +++ b/core/launcher/taskbar.h @@ -29,34 +29,32 @@ class InputMethods; class Wait; class SysTray; //class MRUList; class RunningAppBar; class QWidgetStack; class QTimer; class QLabel; class StartMenu; class LockKeyState; class TaskBar : public QHBox { Q_OBJECT public: TaskBar(); ~TaskBar(); - static QWidget *calibrate( bool ); - bool recoverMemory(); StartMenu *startMenu() const { return sm; } public slots: void startWait(); void stopWait(const QString&); void stopWait(); void clearStatusBar(); void toggleNumLockState(); void toggleCapsLockState(); void toggleSymbolInput(); protected: void resizeEvent( QResizeEvent * ); void styleChange( QStyle & ); void setStatusMessage( const QString &text ); |