summaryrefslogtreecommitdiff
path: root/library/qpeapplication.h
authorzecke <zecke>2004-05-17 21:15:42 (UTC)
committer zecke <zecke>2004-05-17 21:15:42 (UTC)
commit598c9bc76840120fa3efdb000461bae2c1fef639 (patch) (unidiff)
tree4cf0c66149f7bee38a2bcface9e7fbfd0d28b85a /library/qpeapplication.h
parent1827ce23d0719a22c14613dc5859093818da1d0a (diff)
downloadopie-598c9bc76840120fa3efdb000461bae2c1fef639.zip
opie-598c9bc76840120fa3efdb000461bae2c1fef639.tar.gz
opie-598c9bc76840120fa3efdb000461bae2c1fef639.tar.bz2
ich@opiezilla:~/programming/opie/head/opie$ nm lib/libopiecore2.so | grep polish
U _ZN14QPEApplication6polishEP7QWidget ich@opiezilla:~/programming/opie/head/opie$ nm lib/libopiecore2.so | grep polish U _ZN12QApplication6polishEP7QWidget in qt_override we had to overwrite the Palette for some widgets for some styles (setting no background liquid and such) we overwrote the polish method. As we did not inherit from QPEApplication the 'polish' symbol was only internal to libqpe and this way Opie apps worked on Opies and Sharps libqpe, and Sharp apps work on our libqpe. Now with libopiecore the compiler tries to include different symbols as shown above. So for now we could disable the legacy palette polishing which shouldn't hurt anyway. OApplication is the source of all evil, we wouldn't 'pull' in the polish symbol... but having a 'shadow' weak symbol as backup isn't good as well. Chicken you may enable the option in config.in...
Diffstat (limited to 'library/qpeapplication.h') (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpeapplication.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/library/qpeapplication.h b/library/qpeapplication.h
index 8c85ad0..d2782e4 100644
--- a/library/qpeapplication.h
+++ b/library/qpeapplication.h
@@ -71,194 +71,196 @@ class QWSKeyEvent;
71 control whether the application takes control of the device's 71 control whether the application takes control of the device's
72 physical buttons (e.g. application launch keys). The stylus' mode of 72 physical buttons (e.g. application launch keys). The stylus' mode of
73 operation is set with setStylusOperation() and retrieved with 73 operation is set with setStylusOperation() and retrieved with
74 stylusOperation(). There are also setInputMethodHint() and 74 stylusOperation(). There are also setInputMethodHint() and
75 inputMethodHint() functions. 75 inputMethodHint() functions.
76 76
77 \ingroup qtopiaemb 77 \ingroup qtopiaemb
78*/ 78*/
79class QPEApplication : public QApplication 79class QPEApplication : public QApplication
80{ 80{
81 Q_OBJECT 81 Q_OBJECT
82public: 82public:
83 QPEApplication( int& argc, char **argv, Type=GuiClient ); 83 QPEApplication( int& argc, char **argv, Type=GuiClient );
84 ~QPEApplication(); 84 ~QPEApplication();
85 85
86 static QString qpeDir(); 86 static QString qpeDir();
87 static QString documentDir(); 87 static QString documentDir();
88 void applyStyle(); 88 void applyStyle();
89 void reset(); 89 void reset();
90 static int defaultRotation(); 90 static int defaultRotation();
91 static void setDefaultRotation(int r); 91 static void setDefaultRotation(int r);
92 static void setCurrentRotation(int r); 92 static void setCurrentRotation(int r);
93 static void setCurrentMode(int x, int y, int depth ); 93 static void setCurrentMode(int x, int y, int depth );
94 static void grabKeyboard(); 94 static void grabKeyboard();
95 static void ungrabKeyboard(); 95 static void ungrabKeyboard();
96 96
97 enum StylusMode { 97 enum StylusMode {
98 LeftOnly, 98 LeftOnly,
99 RightOnHold 99 RightOnHold
100 // RightOnHoldLeftDelayed, etc. 100 // RightOnHoldLeftDelayed, etc.
101 }; 101 };
102 static void setStylusOperation( QWidget*, StylusMode ); 102 static void setStylusOperation( QWidget*, StylusMode );
103 static StylusMode stylusOperation( QWidget* ); 103 static StylusMode stylusOperation( QWidget* );
104 104
105 enum InputMethodHint { 105 enum InputMethodHint {
106 Normal, 106 Normal,
107 AlwaysOff, 107 AlwaysOff,
108 AlwaysOn 108 AlwaysOn
109 }; 109 };
110 110
111 enum screenSaverHint { 111 enum screenSaverHint {
112 Disable = 0, 112 Disable = 0,
113 DisableLightOff = 1, 113 DisableLightOff = 1,
114 DisableSuspend = 2, 114 DisableSuspend = 2,
115 Enable = 100 115 Enable = 100
116 }; 116 };
117 117
118 static void setInputMethodHint( QWidget *, InputMethodHint ); 118 static void setInputMethodHint( QWidget *, InputMethodHint );
119 static InputMethodHint inputMethodHint( QWidget * ); 119 static InputMethodHint inputMethodHint( QWidget * );
120 120
121 void showMainWidget( QWidget*, bool nomax=FALSE ); 121 void showMainWidget( QWidget*, bool nomax=FALSE );
122 void showMainDocumentWidget( QWidget*, bool nomax=FALSE ); 122 void showMainDocumentWidget( QWidget*, bool nomax=FALSE );
123 static void showDialog( QDialog*, bool nomax=FALSE ); 123 static void showDialog( QDialog*, bool nomax=FALSE );
124 static int execDialog( QDialog*, bool nomax=FALSE ); 124 static int execDialog( QDialog*, bool nomax=FALSE );
125 static void showWidget( QWidget*, bool nomax=FALSE ); 125 static void showWidget( QWidget*, bool nomax=FALSE );
126 /* Merge setTempScreenSaverMode */ 126 /* Merge setTempScreenSaverMode */
127#ifdef QTOPIA_INTERNAL_INITAPP 127#ifdef QTOPIA_INTERNAL_INITAPP
128 void initApp( int argv, char **argv ); 128 void initApp( int argv, char **argv );
129#endif 129#endif
130 130
131 static void setKeepRunning(); 131 static void setKeepRunning();
132 bool keepRunning() const; 132 bool keepRunning() const;
133 133
134 bool keyboardGrabbed() const; 134 bool keyboardGrabbed() const;
135 135
136 int exec(); 136 int exec();
137 137
138signals: 138signals:
139 void clientMoused(); 139 void clientMoused();
140 void timeChanged(); 140 void timeChanged();
141 void clockChanged( bool pm ); 141 void clockChanged( bool pm );
142 void micChanged( bool muted ); 142 void micChanged( bool muted );
143 void volumeChanged( bool muted ); 143 void volumeChanged( bool muted );
144 void appMessage( const QCString& msg, const QByteArray& data); 144 void appMessage( const QCString& msg, const QByteArray& data);
145 void weekChanged( bool startOnMonday ); 145 void weekChanged( bool startOnMonday );
146 void dateFormatChanged( DateFormat ); 146 void dateFormatChanged( DateFormat );
147 void flush(); 147 void flush();
148 void reload(); 148 void reload();
149 /* linkChanged signal */ 149 /* linkChanged signal */
150 150
151private slots: 151private slots:
152 void systemMessage( const QCString &msg, const QByteArray &data ); 152 void systemMessage( const QCString &msg, const QByteArray &data );
153 void pidMessage( const QCString &msg, const QByteArray &data ); 153 void pidMessage( const QCString &msg, const QByteArray &data );
154 void removeSenderFromStylusDict(); 154 void removeSenderFromStylusDict();
155 void hideOrQuit(); 155 void hideOrQuit();
156 156
157protected: 157protected:
158 bool qwsEventFilter( QWSEvent * ); 158 bool qwsEventFilter( QWSEvent * );
159 void internalSetStyle( const QString &style ); 159 void internalSetStyle( const QString &style );
160 void prepareForTermination(bool willrestart); 160 void prepareForTermination(bool willrestart);
161 virtual void restart(); 161 virtual void restart();
162 virtual void shutdown(); 162 virtual void shutdown();
163 bool eventFilter( QObject *, QEvent * ); 163 bool eventFilter( QObject *, QEvent * );
164 void timerEvent( QTimerEvent * ); 164 void timerEvent( QTimerEvent * );
165 bool raiseAppropriateWindow(); 165 bool raiseAppropriateWindow();
166 virtual void tryQuit(); 166 virtual void tryQuit();
167#if QT_VERSION > 233 167#ifndef OPIE_NO_ERASE_RECT_HACKFIX
168 #if QT_VERSION > 233
168 virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!) 169 virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!)
170 #endif
169#endif 171#endif
170private: 172private:
171#ifndef QT_NO_TRANSLATION 173#ifndef QT_NO_TRANSLATION
172 void installTranslation( const QString& baseName ); 174 void installTranslation( const QString& baseName );
173#endif 175#endif
174 void mapToDefaultAction( QWSKeyEvent *ke, int defKey ); 176 void mapToDefaultAction( QWSKeyEvent *ke, int defKey );
175 void processQCopFile(); 177 void processQCopFile();
176 178
177#if defined(Q_WS_QWS) && !defined(QT_NO_COP) 179#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
178 QCopChannel *sysChannel; 180 QCopChannel *sysChannel;
179 QCopChannel *pidChannel; 181 QCopChannel *pidChannel;
180#endif 182#endif
181 QPEApplicationData *d; 183 QPEApplicationData *d;
182 184
183 bool reserved_sh; 185 bool reserved_sh;
184 186
185 187
186 188
187}; 189};
188 190
189inline void QPEApplication::showDialog( QDialog* d, bool nomax ) 191inline void QPEApplication::showDialog( QDialog* d, bool nomax )
190{ 192{
191 showWidget( d, nomax ); 193 showWidget( d, nomax );
192} 194}
193 195
194inline int QPEApplication::execDialog( QDialog* d, bool nomax ) 196inline int QPEApplication::execDialog( QDialog* d, bool nomax )
195{ 197{
196 showDialog( d, nomax ); 198 showDialog( d, nomax );
197 return d->exec(); 199 return d->exec();
198} 200}
199 201
200#ifdef Q_WS_QWS 202#ifdef Q_WS_QWS
201extern Q_EXPORT QRect qt_maxWindowRect; 203extern Q_EXPORT QRect qt_maxWindowRect;
202#endif 204#endif
203 205
204inline void QPEApplication::showWidget( QWidget* wg, bool nomax ) 206inline void QPEApplication::showWidget( QWidget* wg, bool nomax )
205{ 207{
206 if ( wg->isVisible() ) 208 if ( wg->isVisible() )
207 wg->show(); 209 wg->show();
208 else 210 else
209 { 211 {
210 if ( !nomax 212 if ( !nomax
211 && ( qApp->desktop()->width() <= 320 ) ) 213 && ( qApp->desktop()->width() <= 320 ) )
212 { 214 {
213 wg->showMaximized(); 215 wg->showMaximized();
214 } else { 216 } else {
215 #ifdef Q_WS_QWS 217 #ifdef Q_WS_QWS
216 QSize desk = QSize( qApp->desktop()->width(), qApp->desktop()->height() ); 218 QSize desk = QSize( qApp->desktop()->width(), qApp->desktop()->height() );
217 #else 219 #else
218 QSize desk = QSize( qt_maxWindowRect.width(), qt_maxWindowRect.height() ); 220 QSize desk = QSize( qt_maxWindowRect.width(), qt_maxWindowRect.height() );
219 #endif 221 #endif
220 222
221 QSize sh = wg->sizeHint(); 223 QSize sh = wg->sizeHint();
222 int w = QMAX( sh.width(), wg->width() ); 224 int w = QMAX( sh.width(), wg->width() );
223 int h = QMAX( sh.height(), wg->height() ); 225 int h = QMAX( sh.height(), wg->height() );
224 // desktop widget-frame taskbar 226 // desktop widget-frame taskbar
225 w = QMIN( w, ( desk.width() - ( wg->frameGeometry().width() - wg->geometry().width() ) - 25 ) ); 227 w = QMIN( w, ( desk.width() - ( wg->frameGeometry().width() - wg->geometry().width() ) - 25 ) );
226 h = QMIN( h, ( desk.height() - ( wg->frameGeometry().height() - wg->geometry().height() ) - 25 ) ); 228 h = QMIN( h, ( desk.height() - ( wg->frameGeometry().height() - wg->geometry().height() ) - 25 ) );
227 229
228 wg->resize( w, h ); 230 wg->resize( w, h );
229 wg->show(); 231 wg->show();
230 } 232 }
231 } 233 }
232} 234}
233 235
234enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */ 236enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */
235 237
236inline int TransToDeg ( Transformation t ) 238inline int TransToDeg ( Transformation t )
237{ 239{
238 int d = static_cast<int>( t ); 240 int d = static_cast<int>( t );
239 return d * 90; 241 return d * 90;
240} 242}
241 243
242inline Transformation DegToTrans ( int d ) 244inline Transformation DegToTrans ( int d )
243{ 245{
244 Transformation t = static_cast<Transformation>( d / 90 ); 246 Transformation t = static_cast<Transformation>( d / 90 );
245 return t; 247 return t;
246} 248}
247 249
248/* 250/*
249 * Set current rotation of Opie, and rotation for newly started apps. 251 * Set current rotation of Opie, and rotation for newly started apps.
250 * Differs from setDefaultRotation in that 1) it rotates currently running apps, 252 * Differs from setDefaultRotation in that 1) it rotates currently running apps,
251 * and 2) does not set deforient or save orientation to qpe.conf. 253 * and 2) does not set deforient or save orientation to qpe.conf.
252 */ 254 */
253 255
254inline void QPEApplication::setCurrentRotation( int r ) 256inline void QPEApplication::setCurrentRotation( int r )
255{ 257{
256 // setTransformation has been introduced in Qt/Embedded 2.3.4 snapshots 258 // setTransformation has been introduced in Qt/Embedded 2.3.4 snapshots
257 // for compatibility with the SharpROM use fallback to setDefaultTransformation() 259 // for compatibility with the SharpROM use fallback to setDefaultTransformation()
258#if QT_VERSION > 233 260#if QT_VERSION > 233
259 Transformation e = DegToTrans( r ); 261 Transformation e = DegToTrans( r );
260 ::setenv( "QWS_DISPLAY", QString( "Transformed:Rot%1:0" ).arg( r ).latin1(), 1 ); 262 ::setenv( "QWS_DISPLAY", QString( "Transformed:Rot%1:0" ).arg( r ).latin1(), 1 );
261 qApp->desktop()->qwsDisplay()->setTransformation( e ); 263 qApp->desktop()->qwsDisplay()->setTransformation( e );
262#else 264#else
263 setDefaultRotation( r ); 265 setDefaultRotation( r );
264#endif 266#endif