-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 @@ -113,24 +113,25 @@ public: DisableLightOff = 1, DisableSuspend = 2, Enable = 100 }; static void setInputMethodHint( QWidget *, InputMethodHint ); 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(); bool keepRunning() const; bool keyboardGrabbed() const; int exec(); @@ -198,24 +199,40 @@ inline void QPEApplication::showDialog( QDialog* d, bool nomax ) } else { d->resize(w,h); d->show(); } } 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; } inline Transformation DegToTrans ( int d ) { Transformation t = static_cast<Transformation>( d / 90 ); return t; |