summaryrefslogtreecommitdiff
path: root/library
Side-by-side diff
Diffstat (limited to 'library') (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpeapplication.h17
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
@@ -121,8 +121,9 @@ public:
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
@@ -206,8 +207,24 @@ 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 )
{