summaryrefslogtreecommitdiff
path: root/library/qpeapplication.h
Side-by-side diff
Diffstat (limited to 'library/qpeapplication.h') (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpeapplication.h124
1 files changed, 124 insertions, 0 deletions
diff --git a/library/qpeapplication.h b/library/qpeapplication.h
new file mode 100644
index 0000000..fd5e57d
--- a/dev/null
+++ b/library/qpeapplication.h
@@ -0,0 +1,124 @@
+/**********************************************************************
+** Copyright (C) 2000 Trolltech AS. All rights reserved.
+**
+** This file is part of Qtopia Environment.
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** 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.
+**
+**********************************************************************/
+#ifndef __QPE_APPLICATION_H__
+#define __QPE_APPLICATION_H__
+
+
+#include <qapplication.h>
+#if defined(_WS_QWS_) && !defined(Q_WS_QWS)
+#define Q_WS_QWS
+#endif
+#include "qpedecoration_qws.h"
+#include "timestring.h"
+
+class QCopChannel;
+class QPEApplicationData;
+class QWSEvent;
+class QWSKeyEvent;
+
+class QPEApplication : public QApplication
+{
+ Q_OBJECT
+public:
+ QPEApplication( int& argc, char **argv, Type=GuiClient );
+ ~QPEApplication();
+
+ static QString qpeDir();
+ static QString documentDir();
+ void applyStyle();
+ static int defaultRotation();
+ static void setDefaultRotation(int r);
+ static void grabKeyboard();
+ static void ungrabKeyboard();
+
+ enum StylusMode {
+ LeftOnly,
+ RightOnHold
+ // RightOnHoldLeftDelayed, etc.
+ };
+ static void setStylusOperation( QWidget*, StylusMode );
+ static StylusMode stylusOperation( QWidget* );
+
+ enum InputMethodHint {
+ Normal,
+ AlwaysOff,
+ AlwaysOn
+ };
+
+ enum screenSaverHint {
+ Disable = 0,
+ DisableLightOff = 1,
+ DisableSuspend = 2,
+ Enable = 100
+ };
+
+ static void setInputMethodHint( QWidget *, InputMethodHint );
+ static InputMethodHint inputMethodHint( QWidget * );
+
+ void showMainWidget( QWidget*, bool nomax=FALSE );
+ void showMainDocumentWidget( QWidget*, bool nomax=FALSE );
+
+ static void setKeepRunning();
+ bool keepRunning() const;
+
+ int exec();
+
+signals:
+ void clientMoused();
+ void timeChanged();
+ void clockChanged( bool pm );
+ void volumeChanged( bool muted );
+ void appMessage( const QCString& msg, const QByteArray& data);
+ void weekChanged( bool startOnMonday );
+ void dateFormatChanged( DateFormat );
+ void flush();
+ void reload();
+
+private slots:
+ void systemMessage( const QCString &msg, const QByteArray &data );
+ void pidMessage( const QCString &msg, const QByteArray &data );
+ void removeSenderFromStylusDict();
+ void hideOrQuit();
+
+protected:
+ bool qwsEventFilter( QWSEvent * );
+ void internalSetStyle( const QString &style );
+ void prepareForTermination(bool willrestart);
+ virtual void restart();
+ virtual void shutdown();
+ bool eventFilter( QObject *, QEvent * );
+ void timerEvent( QTimerEvent * );
+ bool keyboardGrabbed() const;
+ bool raiseAppropriateWindow();
+ virtual void tryQuit();
+
+private:
+ void mapToDefaultAction( QWSKeyEvent *ke, int defKey );
+
+#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
+ QCopChannel *sysChannel;
+ QCopChannel *pidChannel;
+#endif
+ QPEApplicationData *d;
+};
+
+
+#endif
+