author | zecke <zecke> | 2004-12-20 22:11:44 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-12-20 22:11:44 (UTC) |
commit | a50334dddaa542fd63726a639e852c30036f53a0 (patch) (side-by-side diff) | |
tree | 30d0a41308f752c72d2c685fab60e2bd7c650bec /library/qpeapplication.cpp | |
parent | 29e93ce47f7a52ded8956811d50b93e754caa3a6 (diff) | |
download | opie-a50334dddaa542fd63726a639e852c30036f53a0.zip opie-a50334dddaa542fd63726a639e852c30036f53a0.tar.gz opie-a50334dddaa542fd63726a639e852c30036f53a0.tar.bz2 |
Restore Files:
-QWSDecoration scaling fixes by mickeyl
-Readd macros for DEPRECATED and VISIBILITY
-Move out showWidget and execDialog to widget_sowing.cpp
-QPE_EXPORT_SYMBOL for Q_EXPORT_INTERFACE
-Deprecated for FileSelector, QPEMenubar and Toolbar
-rw-r--r-- | library/qpeapplication.cpp | 80 |
1 files changed, 40 insertions, 40 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp index 4adfc8f..43a9be5 100644 --- a/library/qpeapplication.cpp +++ b/library/qpeapplication.cpp @@ -137,177 +137,177 @@ public: int presstimer; QWidget* presswidget; QPoint presspos; #ifdef OPIE_WITHROHFEEDBACK Opie::Internal::RoHFeedback *RoH; #endif bool rightpressed : 1; bool kbgrabbed : 1; bool notbusysent : 1; bool preloaded : 1; bool forceshow : 1; bool nomaximize : 1; bool keep_running : 1; bool qcopQok : 1; QCString fontFamily; int fontSize; int smallIconSize; int bigIconSize; QString appName; struct QCopRec { QCopRec( const QCString &ch, const QCString &msg, const QByteArray &d ) : channel( ch ), message( msg ), data( d ) { } QCString channel; QCString message; QByteArray data; }; QWidget* qpe_main_widget; QGuardedPtr<QWidget> lastraised; QQueue<QCopRec> qcopq; QString styleName; QString decorationName; void enqueueQCop( const QCString &ch, const QCString &msg, const QByteArray &data ) { qcopq.enqueue( new QCopRec( ch, msg, data ) ); } void sendQCopQ() { if (!qcopQok ) return; QCopRec * r; while((r=qcopq.dequeue())) { // remove from queue before sending... // event loop can come around again before getting // back from sendLocally #ifndef QT_NO_COP QCopChannel::sendLocally( r->channel, r->message, r->data ); #endif delete r; } } - static void show_mx(QWidget* mw, bool nomaximize, QString &strName) - { - if ( mw->inherits("QMainWindow") || mw->isA("QMainWindow") ) - { - ( ( QMainWindow* ) mw )->setUsesBigPixmaps( useBigPixmaps ); - } + static void show_mx(QWidget* mw, bool nomaximize, QString &strName) { + if ( mw->inherits("QMainWindow") || mw->isA("QMainWindow") ) + { + ( ( QMainWindow* ) mw )->setUsesBigPixmaps( useBigPixmaps ); + } QPoint p; QSize s; bool max; - if ( mw->isVisible() ) { - if ( read_widget_rect(strName, max, p, s) && validate_widget_size(mw, p, s) ) { - mw->resize(s); - mw->move(p); - } - mw->raise(); - } else { - if ( mw->layout() && mw->inherits("QDialog") ) { - if ( read_widget_rect(strName, max, p, s) && validate_widget_size(mw, p, s) ) { - mw->resize(s); - mw->move(p); + if ( mw->isVisible() ) { + if ( read_widget_rect(strName, max, p, s) && validate_widget_size(mw, p, s) ) { + mw->resize(s); + mw->move(p); + } + mw->raise(); + } else { - if ( max && !nomaximize ) { - mw->showMaximized(); - } else { - mw->show(); + if ( mw->layout() && mw->inherits("QDialog") ) { + if ( read_widget_rect(strName, max, p, s) && validate_widget_size(mw, p, s) ) { + mw->resize(s); + mw->move(p); + + if ( max && !nomaximize ) { + mw->showMaximized(); + } else { + mw->show(); + } + } else { + QPEApplication::showDialog((QDialog*)mw,nomaximize); } - } else { - 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 - int x = (qApp->desktop()->width()-mw->frameGeometry().width())/2; - int y = (qApp->desktop()->height()-mw->frameGeometry().height())/2; - mw->move( QMAX(x,0), QMAX(y,0) ); + } 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 + int x = (qApp->desktop()->width()-mw->frameGeometry().width())/2; + int y = (qApp->desktop()->height()-mw->frameGeometry().height())/2; + mw->move( QMAX(x,0), QMAX(y,0) ); #ifdef Q_WS_QWS - if ( !nomaximize ) - mw->showMaximized(); + if ( !nomaximize ) + mw->showMaximized(); #endif + } + if ( max && !nomaximize ) + mw->showMaximized(); + else + mw->show(); + } } - if ( max && !nomaximize ) - mw->showMaximized(); - else - mw->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; Config cfg( "qpe" ); cfg.setGroup("ApplicationPositions"); QString str = cfg.readEntry( app, QString::null ); QStringList l = QStringList::split(",", str); if ( l.count() == 5) { p.setX( l[0].toInt() ); p.setY( l[1].toInt() ); s.setWidth( l[2].toInt() ); s.setHeight( l[3].toInt() ); maximized = l[4].toInt(); return TRUE; } return FALSE; } static bool validate_widget_size(const QWidget *w, QPoint &p, QSize &s) { #ifndef Q_WS_QWS QRect qt_maxWindowRect = qApp->desktop()->geometry(); #endif int maxX = qt_maxWindowRect.width(); int maxY = qt_maxWindowRect.height(); int wWidth = s.width() + ( w->frameGeometry().width() - w->geometry().width() ); int wHeight = s.height() + ( w->frameGeometry().height() - w->geometry().height() ); // total window size is not allowed to be larger than desktop window size if ( ( wWidth >= maxX ) && ( wHeight >= maxY ) ) return FALSE; if ( wWidth > maxX ) { s.setWidth( maxX - (w->frameGeometry().width() - w->geometry().width() ) ); wWidth = maxX; } if ( wHeight > maxY ) { s.setHeight( maxY - (w->frameGeometry().height() - w->geometry().height() ) ); wHeight = maxY; } // any smaller than this and the maximize/close/help buttons will be overlapping if ( wWidth < 80 || wHeight < 60 ) return FALSE; if ( p.x() < 0 ) p.setX(0); if ( p.y() < 0 ) p.setY(0); if ( p.x() + wWidth > maxX ) |