summaryrefslogtreecommitdiff
path: root/library/qpeapplication.h
Unidiff
Diffstat (limited to 'library/qpeapplication.h') (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpeapplication.h63
1 files changed, 46 insertions, 17 deletions
diff --git a/library/qpeapplication.h b/library/qpeapplication.h
index 7d956a3..7505115 100644
--- a/library/qpeapplication.h
+++ b/library/qpeapplication.h
@@ -1,159 +1,188 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of the Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20#ifndef __QPE_APPLICATION_H__ 20#ifndef __QPE_APPLICATION_H__
21#define __QPE_APPLICATION_H__ 21#define __QPE_APPLICATION_H__
22 22
23 23
24#include <qglobal.h>
24#include <qapplication.h> 25#include <qapplication.h>
25#include <qdialog.h> 26#include <qdialog.h>
27#include <qwsdisplay_qws.h>
26#if defined(_WS_QWS_) && !defined(Q_WS_QWS) 28#if defined(_WS_QWS_) && !defined(Q_WS_QWS)
27#define Q_WS_QWS 29#define Q_WS_QWS
28#endif 30#endif
29#include "qpedecoration_qws.h" 31#include "qpedecoration_qws.h"
30#include "timestring.h" 32#include "timestring.h"
31 33
32class QCopChannel; 34class QCopChannel;
33class QPEApplicationData; 35class QPEApplicationData;
34class QWSEvent; 36class QWSEvent;
35class QWSKeyEvent; 37class QWSKeyEvent;
36 38
37 39
38class QPEApplication : public QApplication 40class QPEApplication : public QApplication
39{ 41{
40 Q_OBJECT 42 Q_OBJECT
41public: 43public:
42 QPEApplication( int& argc, char **argv, Type=GuiClient ); 44 QPEApplication( int& argc, char **argv, Type=GuiClient );
43 ~QPEApplication(); 45 ~QPEApplication();
44 46
45 static QString qpeDir(); 47 static QString qpeDir();
46 static QString documentDir(); 48 static QString documentDir();
47 void applyStyle(); 49 void applyStyle();
48 static int defaultRotation(); 50 static int defaultRotation();
49 static void setDefaultRotation(int r); 51 static void setDefaultRotation(int r);
52 static void setCurrentRotation(int r);
50 static void grabKeyboard(); 53 static void grabKeyboard();
51 static void ungrabKeyboard(); 54 static void ungrabKeyboard();
52 55
53 enum StylusMode { 56 enum StylusMode {
54 LeftOnly, 57 LeftOnly,
55 RightOnHold 58 RightOnHold
56 // RightOnHoldLeftDelayed, etc. 59 // RightOnHoldLeftDelayed, etc.
57 }; 60 };
58 static void setStylusOperation( QWidget*, StylusMode ); 61 static void setStylusOperation( QWidget*, StylusMode );
59 static StylusMode stylusOperation( QWidget* ); 62 static StylusMode stylusOperation( QWidget* );
60 63
61 enum InputMethodHint { 64 enum InputMethodHint {
62 Normal, 65 Normal,
63 AlwaysOff, 66 AlwaysOff,
64 AlwaysOn 67 AlwaysOn
65 }; 68 };
66 69
67 enum screenSaverHint { 70 enum screenSaverHint {
68 Disable = 0, 71 Disable = 0,
69 DisableLightOff = 1, 72 DisableLightOff = 1,
70 DisableSuspend = 2, 73 DisableSuspend = 2,
71 Enable = 100 74 Enable = 100
72 }; 75 };
73 76
74 static void setInputMethodHint( QWidget *, InputMethodHint ); 77 static void setInputMethodHint( QWidget *, InputMethodHint );
75 static InputMethodHint inputMethodHint( QWidget * ); 78 static InputMethodHint inputMethodHint( QWidget * );
76 79
77 void showMainWidget( QWidget*, bool nomax=FALSE ); 80 void showMainWidget( QWidget*, bool nomax=FALSE );
78 void showMainDocumentWidget( QWidget*, bool nomax=FALSE ); 81 void showMainDocumentWidget( QWidget*, bool nomax=FALSE );
79 static void showDialog( QDialog*, bool nomax=FALSE ); 82 static void showDialog( QDialog*, bool nomax=FALSE );
80 static int execDialog( QDialog*, bool nomax=FALSE ); 83 static int execDialog( QDialog*, bool nomax=FALSE );
81 84
82 static void setKeepRunning(); 85 static void setKeepRunning();
83 bool keepRunning() const; 86 bool keepRunning() const;
84 87
85 bool keyboardGrabbed() const; 88 bool keyboardGrabbed() const;
86 89
87 int exec(); 90 int exec();
88 91
89signals: 92signals:
90 void clientMoused(); 93 void clientMoused();
91 void timeChanged(); 94 void timeChanged();
92 void clockChanged( bool pm ); 95 void clockChanged( bool pm );
93 void micChanged( bool muted ); 96 void micChanged( bool muted );
94 void volumeChanged( bool muted ); 97 void volumeChanged( bool muted );
95 void appMessage( const QCString& msg, const QByteArray& data); 98 void appMessage( const QCString& msg, const QByteArray& data);
96 void weekChanged( bool startOnMonday ); 99 void weekChanged( bool startOnMonday );
97 void dateFormatChanged( DateFormat ); 100 void dateFormatChanged( DateFormat );
98 void flush(); 101 void flush();
99 void reload(); 102 void reload();
100 103
101private slots: 104private slots:
102 void systemMessage( const QCString &msg, const QByteArray &data ); 105 void systemMessage( const QCString &msg, const QByteArray &data );
103 void pidMessage( const QCString &msg, const QByteArray &data ); 106 void pidMessage( const QCString &msg, const QByteArray &data );
104 void removeSenderFromStylusDict(); 107 void removeSenderFromStylusDict();
105 void hideOrQuit(); 108 void hideOrQuit();
106 109
107protected: 110protected:
108 bool qwsEventFilter( QWSEvent * ); 111 bool qwsEventFilter( QWSEvent * );
109 void internalSetStyle( const QString &style ); 112 void internalSetStyle( const QString &style );
110 void prepareForTermination(bool willrestart); 113 void prepareForTermination(bool willrestart);
111 virtual void restart(); 114 virtual void restart();
112 virtual void shutdown(); 115 virtual void shutdown();
113 bool eventFilter( QObject *, QEvent * ); 116 bool eventFilter( QObject *, QEvent * );
114 void timerEvent( QTimerEvent * ); 117 void timerEvent( QTimerEvent * );
115 bool raiseAppropriateWindow(); 118 bool raiseAppropriateWindow();
116 virtual void tryQuit(); 119 virtual void tryQuit();
117 120
118 virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!) 121 virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!)
119 122
120private: 123private:
121 void mapToDefaultAction( QWSKeyEvent *ke, int defKey ); 124 void mapToDefaultAction( QWSKeyEvent *ke, int defKey );
122 125
123#if defined(Q_WS_QWS) && !defined(QT_NO_COP) 126#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
124 QCopChannel *sysChannel; 127 QCopChannel *sysChannel;
125 QCopChannel *pidChannel; 128 QCopChannel *pidChannel;
126#endif 129#endif
127 QPEApplicationData *d; 130 QPEApplicationData *d;
128 131
129 bool reserved_sh; 132 bool reserved_sh;
130 133
131 134
132 135
133}; 136};
134 137
135inline void QPEApplication::showDialog( QDialog* d, bool nomax ) 138inline void QPEApplication::showDialog( QDialog* d, bool nomax )
136{ 139{
137 QSize sh = d->sizeHint(); 140 QSize sh = d->sizeHint();
138 int w = QMAX(sh.width(),d->width()); 141 int w = QMAX(sh.width(),d->width());
139 int h = QMAX(sh.height(),d->height()); 142 int h = QMAX(sh.height(),d->height());
140 if ( !nomax 143 if ( !nomax
141 && ( w > qApp->desktop()->width()*3/4 144 && ( w > qApp->desktop()->width()*3/4
142 || h > qApp->desktop()->height()*3/4 ) ) 145 || h > qApp->desktop()->height()*3/4 ) )
143 { 146 {
144 d->showMaximized(); 147 d->showMaximized();
145 } else { 148 } else {
146 d->resize(w,h); 149 d->resize(w,h);
147 d->show(); 150 d->show();
148 } 151 }
149} 152}
150 153
151inline int QPEApplication::execDialog( QDialog* d, bool nomax ) 154inline int QPEApplication::execDialog( QDialog* d, bool nomax )
152{ 155{
153 showDialog(d,nomax); 156 showDialog(d,nomax);
154 return d->exec(); 157 return d->exec();
155} 158}
156 159
160enum Transformation { None, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */
157 161
158#endif 162inline void QPEApplication::setCurrentRotation( int r )
163{
164 Transformation e;
165
166 switch (r) {
167 case 0:
168 e = None;
169 break;
170 case 90:
171 e = Rot90;
172 break;
173 case 180:
174 e = Rot180;
175 break;
176 case 270:
177 e = Rot270;
178 break;
179 default:
180 return;
181 }
159 182
183 qDebug("calling qApp->desktop()->qwsDisplay()->setTransformation( %d )\n", e);
184 qApp->desktop()->qwsDisplay()->setTransformation( e );
185}
186
187
188#endif