summaryrefslogtreecommitdiff
authorar <ar>2004-04-01 19:58:31 (UTC)
committer ar <ar>2004-04-01 19:58:31 (UTC)
commit79e746cae433ca33bbe138ff4ad2704d13215e88 (patch) (unidiff)
treebc870ce0e88782050769bc1caa9b94b073e3cb76
parent5f0e82a52f37d0a02abd0a3c8ddd341d2641e1b2 (diff)
downloadopie-79e746cae433ca33bbe138ff4ad2704d13215e88.zip
opie-79e746cae433ca33bbe138ff4ad2704d13215e88.tar.gz
opie-79e746cae433ca33bbe138ff4ad2704d13215e88.tar.bz2
delimited screen-size to desktop-size, if this is smaller than the widget's one
only the taskbar size is approximated
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpeapplication.h44
1 files changed, 24 insertions, 20 deletions
diff --git a/library/qpeapplication.h b/library/qpeapplication.h
index 8deca21..9ea7e9d 100644
--- a/library/qpeapplication.h
+++ b/library/qpeapplication.h
@@ -143,117 +143,121 @@ signals:
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#if QT_VERSION > 233
168 virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!) 168 virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!)
169#endif 169#endif
170private: 170private:
171#ifndef QT_NO_TRANSLATION 171#ifndef QT_NO_TRANSLATION
172 void installTranslation( const QString& baseName ); 172 void installTranslation( const QString& baseName );
173#endif 173#endif
174 void mapToDefaultAction( QWSKeyEvent *ke, int defKey ); 174 void mapToDefaultAction( QWSKeyEvent *ke, int defKey );
175 void processQCopFile(); 175 void processQCopFile();
176 176
177#if defined(Q_WS_QWS) && !defined(QT_NO_COP) 177#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
178 QCopChannel *sysChannel; 178 QCopChannel *sysChannel;
179 QCopChannel *pidChannel; 179 QCopChannel *pidChannel;
180#endif 180#endif
181 QPEApplicationData *d; 181 QPEApplicationData *d;
182 182
183 bool reserved_sh; 183 bool reserved_sh;
184 184
185 185
186 186
187}; 187};
188 188
189inline void QPEApplication::showDialog( QDialog* d, bool nomax ) 189inline void QPEApplication::showDialog( QDialog* d, bool nomax )
190{ 190{
191 QSize sh = d->sizeHint(); 191 showWidget( d, nomax );
192 int w = QMAX(sh.width(),d->width());
193 int h = QMAX(sh.height(),d->height());
194 if ( !nomax
195 && ( qApp->desktop()->width() <= 320 ) )
196 {
197 d->showMaximized();
198 } else {
199 d->resize(w,h);
200 d->show();
201 }
202} 192}
203 193
204inline int QPEApplication::execDialog( QDialog* d, bool nomax ) 194inline int QPEApplication::execDialog( QDialog* d, bool nomax )
205{ 195{
206 showDialog(d,nomax); 196 showDialog( d, nomax );
207 return d->exec(); 197 return d->exec();
208} 198}
209 199
200#ifdef Q_WS_QWS
201extern Q_EXPORT QRect qt_maxWindowRect;
202#endif
203
210inline void QPEApplication::showWidget( QWidget* wg, bool nomax ) 204inline void QPEApplication::showWidget( QWidget* wg, bool nomax )
211{ 205{
212 QSize sh = wg->sizeHint();
213 int w = QMAX(sh.width(),wg->width());
214 int h = QMAX(sh.height(),wg->height());
215 if ( !nomax 206 if ( !nomax
216 && ( qApp->desktop()->width() <= 320 ) ) 207 && ( qApp->desktop()->width() <= 320 ) )
217 { 208 {
218 wg->showMaximized(); 209 wg->showMaximized();
219 } else { 210 } else {
220 wg->resize(w,h); 211 #ifdef Q_WS_QWS
212 QSize desk = QSize( qApp->desktop()->width(), qApp->desktop()->height() );
213 #else
214 QSize desk = QSize( qt_maxWindowRect.width(), qt_maxWindowRect.height() );
215 #endif
216
217 QSize sh = wg->sizeHint();
218 int w = QMAX( sh.width(), wg->width() );
219 int h = QMAX( sh.height(), wg->height() );
220 // desktop widget-frame taskbar
221 w = QMIN( w, ( desk.width() - ( wg->frameGeometry().width() - wg->geometry().width() ) - 25 ) );
222 h = QMIN( h, ( desk.height() - ( wg->frameGeometry().height() - wg->geometry().height() ) - 25 ) );
223
224 wg->resize( w, h );
221 wg->show(); 225 wg->show();
222 } 226 }
223} 227}
224 228
225enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */ 229enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */
226 230
227inline int TransToDeg ( Transformation t ) 231inline int TransToDeg ( Transformation t )
228{ 232{
229 int d = static_cast<int>( t ); 233 int d = static_cast<int>( t );
230 return d * 90; 234 return d * 90;
231} 235}
232 236
233inline Transformation DegToTrans ( int d ) 237inline Transformation DegToTrans ( int d )
234{ 238{
235 Transformation t = static_cast<Transformation>( d / 90 ); 239 Transformation t = static_cast<Transformation>( d / 90 );
236 return t; 240 return t;
237} 241}
238 242
239/* 243/*
240 * Set current rotation of Opie, and rotation for newly started apps. 244 * Set current rotation of Opie, and rotation for newly started apps.
241 * Differs from setDefaultRotation in that 1) it rotates currently running apps, 245 * Differs from setDefaultRotation in that 1) it rotates currently running apps,
242 * and 2) does not set deforient or save orientation to qpe.conf. 246 * and 2) does not set deforient or save orientation to qpe.conf.
243 */ 247 */
244 248
245inline void QPEApplication::setCurrentRotation( int r ) 249inline void QPEApplication::setCurrentRotation( int r )
246{ 250{
247 // setTransformation has been introduced in Qt/Embedded 2.3.4 snapshots 251 // setTransformation has been introduced in Qt/Embedded 2.3.4 snapshots
248 // for compatibility with the SharpROM use fallback to setDefaultTransformation() 252 // for compatibility with the SharpROM use fallback to setDefaultTransformation()
249#if QT_VERSION > 233 253#if QT_VERSION > 233
250 Transformation e = DegToTrans( r ); 254 Transformation e = DegToTrans( r );
251 ::setenv( "QWS_DISPLAY", QString( "Transformed:Rot%1:0" ).arg( r ).latin1(), 1 ); 255 ::setenv( "QWS_DISPLAY", QString( "Transformed:Rot%1:0" ).arg( r ).latin1(), 1 );
252 qApp->desktop()->qwsDisplay()->setTransformation( e ); 256 qApp->desktop()->qwsDisplay()->setTransformation( e );
253#else 257#else
254 setDefaultRotation( r ); 258 setDefaultRotation( r );
255#endif 259#endif
256} 260}
257 261
258 262
259#endif 263#endif