summaryrefslogtreecommitdiff
authorar <ar>2004-04-01 19:58:31 (UTC)
committer ar <ar>2004-04-01 19:58:31 (UTC)
commit79e746cae433ca33bbe138ff4ad2704d13215e88 (patch) (side-by-side diff)
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
@@ -189,28 +189,19 @@ private:
inline void QPEApplication::showDialog( QDialog* d, bool nomax )
{
- QSize sh = d->sizeHint();
- int w = QMAX(sh.width(),d->width());
- int h = QMAX(sh.height(),d->height());
- if ( !nomax
- && ( qApp->desktop()->width() <= 320 ) )
- {
- d->showMaximized();
- } else {
- d->resize(w,h);
- d->show();
- }
+ showWidget( d, nomax );
}
inline int QPEApplication::execDialog( QDialog* d, bool nomax )
{
- showDialog(d,nomax);
+ showDialog( d, nomax );
return d->exec();
}
+#ifdef Q_WS_QWS
+extern Q_EXPORT QRect qt_maxWindowRect;
+#endif
+
inline void QPEApplication::showWidget( QWidget* wg, bool nomax )
{
- QSize sh = wg->sizeHint();
- int w = QMAX(sh.width(),wg->width());
- int h = QMAX(sh.height(),wg->height());
if ( !nomax
&& ( qApp->desktop()->width() <= 320 ) )
@@ -218,5 +209,18 @@ inline void QPEApplication::showWidget( QWidget* wg, bool nomax )
wg->showMaximized();
} else {
- wg->resize(w,h);
+ #ifdef Q_WS_QWS
+ QSize desk = QSize( qApp->desktop()->width(), qApp->desktop()->height() );
+ #else
+ QSize desk = QSize( qt_maxWindowRect.width(), qt_maxWindowRect.height() );
+ #endif
+
+ QSize sh = wg->sizeHint();
+ int w = QMAX( sh.width(), wg->width() );
+ int h = QMAX( sh.height(), wg->height() );
+ // desktop widget-frame taskbar
+ w = QMIN( w, ( desk.width() - ( wg->frameGeometry().width() - wg->geometry().width() ) - 25 ) );
+ h = QMIN( h, ( desk.height() - ( wg->frameGeometry().height() - wg->geometry().height() ) - 25 ) );
+
+ wg->resize( w, h );
wg->show();
}
@@ -227,12 +231,12 @@ enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws
inline int TransToDeg ( Transformation t )
{
- int d = static_cast<int>( t );
- return d * 90;
+ int d = static_cast<int>( t );
+ return d * 90;
}
inline Transformation DegToTrans ( int d )
{
- Transformation t = static_cast<Transformation>( d / 90 );
- return t;
+ Transformation t = static_cast<Transformation>( d / 90 );
+ return t;
}