summaryrefslogtreecommitdiff
authorar <ar>2004-04-21 21:26:14 (UTC)
committer ar <ar>2004-04-21 21:26:14 (UTC)
commit2a04bf465c332f5e879470f7436852e2d9686083 (patch) (side-by-side diff)
tree358bdc16f9948bc954380932fd9d1c92efe4e61b
parent8269dfa474065b986375de7c4fd380cbda837a12 (diff)
downloadopie-2a04bf465c332f5e879470f7436852e2d9686083.zip
opie-2a04bf465c332f5e879470f7436852e2d9686083.tar.gz
opie-2a04bf465c332f5e879470f7436852e2d9686083.tar.bz2
BigScreen: don't resize widgets that always visible (for example on bring a widget to front)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpeapplication.h43
1 files changed, 24 insertions, 19 deletions
diff --git a/library/qpeapplication.h b/library/qpeapplication.h
index 9ea7e9d..8c85ad0 100644
--- a/library/qpeapplication.h
+++ b/library/qpeapplication.h
@@ -200,32 +200,37 @@ inline int QPEApplication::execDialog( QDialog* d, bool nomax )
#ifdef Q_WS_QWS
extern Q_EXPORT QRect qt_maxWindowRect;
#endif
inline void QPEApplication::showWidget( QWidget* wg, bool nomax )
{
- if ( !nomax
- && ( qApp->desktop()->width() <= 320 ) )
- {
- wg->showMaximized();
- } else {
- #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 );
+ if ( wg->isVisible() )
wg->show();
+ else
+ {
+ if ( !nomax
+ && ( qApp->desktop()->width() <= 320 ) )
+ {
+ wg->showMaximized();
+ } else {
+ #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();
+ }
}
}
enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */
inline int TransToDeg ( Transformation t )