-rw-r--r-- | library/qpeapplication.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/library/qpeapplication.h b/library/qpeapplication.h index 3ef8b46..a884046 100644 --- a/library/qpeapplication.h +++ b/library/qpeapplication.h @@ -119,12 +119,13 @@ public: static InputMethodHint inputMethodHint( QWidget * ); void showMainWidget( QWidget*, bool nomax=FALSE ); void showMainDocumentWidget( QWidget*, bool nomax=FALSE ); static void showDialog( QDialog*, bool nomax=FALSE ); static int execDialog( QDialog*, bool nomax=FALSE ); + static int showWidget( QWidget*, bool nomax=FALSE ); /* Merge setTempScreenSaverMode */ #ifdef QTOPIA_INTERNAL_INITAPP void initApp( int argv, char **argv ); #endif static void setKeepRunning(); @@ -204,12 +205,28 @@ inline void QPEApplication::showDialog( QDialog* d, bool nomax ) inline int QPEApplication::execDialog( QDialog* d, bool nomax ) { showDialog(d,nomax); return d->exec(); } +inline int 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 + && ( w > qApp->desktop()->width()*3/4 + || h > qApp->desktop()->height()*3/4 ) ) + { + wg->showMaximized(); + } else { + wg->resize(w,h); + wg->show(); + } +} + enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */ inline int TransToDeg ( Transformation t ) { int d = static_cast<int>( t ); return d * 90; |