author | zecke <zecke> | 2004-05-17 21:15:42 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-05-17 21:15:42 (UTC) |
commit | 598c9bc76840120fa3efdb000461bae2c1fef639 (patch) (unidiff) | |
tree | 4cf0c66149f7bee38a2bcface9e7fbfd0d28b85a /library/qpeapplication.h | |
parent | 1827ce23d0719a22c14613dc5859093818da1d0a (diff) | |
download | opie-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...
-rw-r--r-- | library/qpeapplication.h | 4 |
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 | */ |
79 | class QPEApplication : public QApplication | 79 | class QPEApplication : public QApplication |
80 | { | 80 | { |
81 | Q_OBJECT | 81 | Q_OBJECT |
82 | public: | 82 | public: |
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 | ||
138 | signals: | 138 | signals: |
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 | ||
151 | private slots: | 151 | private 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 | ||
157 | protected: | 157 | protected: |
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 |
170 | private: | 172 | private: |
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 | ||
189 | inline void QPEApplication::showDialog( QDialog* d, bool nomax ) | 191 | inline void QPEApplication::showDialog( QDialog* d, bool nomax ) |
190 | { | 192 | { |
191 | showWidget( d, nomax ); | 193 | showWidget( d, nomax ); |
192 | } | 194 | } |
193 | 195 | ||
194 | inline int QPEApplication::execDialog( QDialog* d, bool nomax ) | 196 | inline 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 |
201 | extern Q_EXPORT QRect qt_maxWindowRect; | 203 | extern Q_EXPORT QRect qt_maxWindowRect; |
202 | #endif | 204 | #endif |
203 | 205 | ||
204 | inline void QPEApplication::showWidget( QWidget* wg, bool nomax ) | 206 | inline 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 | ||
234 | enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */ | 236 | enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */ |
235 | 237 | ||
236 | inline int TransToDeg ( Transformation t ) | 238 | inline 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 | ||
242 | inline Transformation DegToTrans ( int d ) | 244 | inline 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 | ||
254 | inline void QPEApplication::setCurrentRotation( int r ) | 256 | inline 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 |