-rw-r--r-- | x11/libqpe-x11/qpe/qpeapplication.cpp | 26 | ||||
-rw-r--r-- | x11/libqpe-x11/qpe/qpeapplication.h | 9 | ||||
-rw-r--r-- | x11/libqpe-x11/qt/qwindowsystem_qws.h | 19 |
3 files changed, 53 insertions, 1 deletions
diff --git a/x11/libqpe-x11/qpe/qpeapplication.cpp b/x11/libqpe-x11/qpe/qpeapplication.cpp index 6e4a96c..8785c74 100644 --- a/x11/libqpe-x11/qpe/qpeapplication.cpp +++ b/x11/libqpe-x11/qpe/qpeapplication.cpp @@ -629,12 +629,38 @@ void QPEApplication::hideOrQuit() { d->qpe_main_widget->hide(); } else quit(); } +/*! + \internal +*/ +void QPEApplication::prepareForTermination( bool willrestart ) +{ + if ( willrestart ) { + // Draw a big wait icon, the image can be altered in later revisions + // QWidget *d = QApplication::desktop(); + QImage img = Resource::loadImage( "launcher/new_wait" ); + QPixmap pix; + pix.convertFromImage( img.smoothScale( 1 * img.width(), 1 * img.height() ) ); + QLabel *lblWait = new QLabel( 0, "wait hack!", QWidget::WStyle_Customize | + QWidget::WStyle_NoBorder | QWidget::WStyle_Tool ); + lblWait->setPixmap( pix ); + lblWait->setAlignment( QWidget::AlignCenter ); + lblWait->show(); + lblWait->showMaximized(); + } +#ifndef SINGLE_APP + { QCopEnvelope envelope( "QPE/System", "forceQuit()" ); + } + processEvents(); // ensure the message goes out. + sleep( 1 ); // You have 1 second to comply. +#endif +} + #if defined(QT_QWS_IPAQ) || defined(QT_QWS_EBX) // The libraries with the skiff package (and possibly others) have // completely useless implementations of builtin new and delete that // use about 50% of your CPU. Here we revert to the simple libc // functions. diff --git a/x11/libqpe-x11/qpe/qpeapplication.h b/x11/libqpe-x11/qpe/qpeapplication.h index 2af1c66..333f331 100644 --- a/x11/libqpe-x11/qpe/qpeapplication.h +++ b/x11/libqpe-x11/qpe/qpeapplication.h @@ -51,12 +51,20 @@ public: static void setKeepRunning(); bool keepRunning()const; bool keyboardGrabbed()const; int exec(); +// QWS bits + enum screenSaverHint { + Disable = 0, + DisableLightOff = 1, + DisableSuspend = 2, + Enable = 100 + }; + signals: void clientMoused(); void timeChanged(); void clockChanged( bool pm ); void micChanged( bool muted ); void volumeChanged( bool muted ); @@ -75,12 +83,13 @@ private slots: void systemMessage( const QCString&, const QByteArray& ); void pidMessage( const QCString&, const QByteArray& ); void removeSenderFromStylusDict(); protected: virtual void restart(); virtual void shutdown(); + void prepareForTermination(bool willrestart); bool eventFilter( QObject*, QEvent* ); void timerEvent( QTimerEvent* ); void raiseAppropriateWindow(); virtual void tryQuit(); private: diff --git a/x11/libqpe-x11/qt/qwindowsystem_qws.h b/x11/libqpe-x11/qt/qwindowsystem_qws.h index 7bc43c5..2652f5f 100644 --- a/x11/libqpe-x11/qt/qwindowsystem_qws.h +++ b/x11/libqpe-x11/qt/qwindowsystem_qws.h @@ -1,18 +1,35 @@ #ifndef OPIE_QWINDOWSYSTEM_H #define OPIE_QWINDOWSYSTEM_H +class QWSScreenSaver; class QWSServer { public: QWSServer(){} ~QWSServer(){} static void sendKeyEvent(int, int, int, bool, bool ) { } struct KeyboardFilter { }; static void setKeyboardFilter( KeyboardFilter* ) { } + static void setScreenSaver( QWSScreenSaver* ) { -}; + } + static void setScreenSaverInterval( int ) { + + } + static void setScreenSaverIntervals( int[] ) { + + } + static void screenSaverActivate( bool ) { + } + static void setDesktopBackground( const QImage& ) { + + } + +}; +struct QWSScreenSaver { +}; #endif |