summaryrefslogtreecommitdiff
path: root/library
authorzecke <zecke>2004-09-19 18:48:56 (UTC)
committer zecke <zecke>2004-09-19 18:48:56 (UTC)
commit4564befecf3df38911d48f216ab216faf93b9c1d (patch) (side-by-side diff)
tree9d4ec4264de74230e9fba4f9963535be604db90a /library
parent84166797fd3caa436d38e312957d5542046f10b0 (diff)
downloadopie-4564befecf3df38911d48f216ab216faf93b9c1d.zip
opie-4564befecf3df38911d48f216ab216faf93b9c1d.tar.gz
opie-4564befecf3df38911d48f216ab216faf93b9c1d.tar.bz2
Have only one showDialog function.
If the dialog sizeHint is smaller than the width of the desktop qpe_show_dialog didn't 'maximize' the widget and just showed it. QPEApplication::showDialog does better in that respect but does not have custom 'centering' of the dialog. But that doesn't matter as we save/restore size and position for BigScreen.
Diffstat (limited to 'library') (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpeapplication.cpp60
1 files changed, 1 insertions, 59 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index e1edd4c..df313ce 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -223,13 +223,13 @@ public:
if ( max && !nomaximize ) {
mw->showMaximized();
} else {
mw->show();
}
} else {
- qpe_show_dialog((QDialog*)mw,nomaximize);
+ QPEApplication::showDialog((QDialog*)mw,nomaximize);
}
} else {
if ( read_widget_rect(strName, max, p, s) && validate_widget_size(mw, p, s) ) {
mw->resize(s);
mw->move(p);
} else { //no stored rectangle, make an estimation
@@ -246,70 +246,12 @@ public:
else
mw->show();
}
}
}
-static void qpe_show_dialog( QDialog* d, bool nomax )
-{
- QSize sh = d->sizeHint();
- int w = QMAX(sh.width(),d->width());
- int h = QMAX(sh.height(),d->height());
-
- if ( d->parentWidget() && !d->parentWidget()->topLevelWidget()->isMaximized() )
- nomax = TRUE;
-
-#ifndef Q_WS_QWS
- QSize s(qApp->desktop()->width(), qApp->desktop()->height() );
-#else
- QSize s(qt_maxWindowRect.width(), qt_maxWindowRect.height() );
-#endif
-
- int maxX = s.width() - (d->frameGeometry().width() - d->geometry().width());
- int maxY = s.height() - (d->frameGeometry().height() - d->geometry().height());
-
- if ( (w >= maxX && h >= maxY) || ( (!nomax) && ( w > s.width()*3/4 || h > s.height()*3/4 ) ) ) {
- d->showMaximized();
- } else {
- // try centering the dialog around its parent
- QPoint p(0,0);
- if ( d->parentWidget() ) {
- QPoint pp = d->parentWidget()->mapToGlobal( QPoint(0,0) );
- p = QPoint( pp.x() + d->parentWidget()->width()/2,
- pp.y() + d->parentWidget()->height()/ 2 );
- } else {
- p = QPoint( maxX/2, maxY/2 );
- }
-
- p = QPoint( p.x() - w/2, p.y() - h/2 );
-// qDebug("p(x,y) is %d %d", p.x(), p.y() );
-
- if ( w >= maxX ) {
- if ( p.y() < 0 )
- p.setY(0);
- if ( p.y() + h > maxY )
- p.setY( maxY - h);
-
- d->resize(maxX, h);
- d->move(0, p.y() );
- } else if ( h >= maxY ) {
- if ( p.x() < 0 )
- p.setX(0);
- if ( p.x() + w > maxX )
- p.setX( maxX - w);
-
- d->resize(w, maxY);
- d->move(p.x(),0);
- } else {
- d->resize(w, h);
- }
-
- d->show();
- }
-}
-
static bool read_widget_rect(const QString &app, bool &maximized, QPoint &p, QSize &s)
{
maximized = TRUE;
// 350 is the trigger in qwsdefaultdecoration for providing a resize button
if ( qApp->desktop()->width() <= 350 )
return FALSE;