-rw-r--r-- | core/launcher/serverinterface.cpp | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/core/launcher/serverinterface.cpp b/core/launcher/serverinterface.cpp index 7002243..9eb7f75 100644 --- a/core/launcher/serverinterface.cpp +++ b/core/launcher/serverinterface.cpp @@ -88,5 +88,5 @@ bool LayoutManager::eventFilter( QObject *object, QEvent *event ) layout(); break; - + default: break; @@ -105,23 +105,25 @@ void LayoutManager::layout() if ( !w->isVisible() ) continue; + + QSize sh = w->sizeHint(); switch ( item->p ) { case ServerInterface::Top: - w->resize( mwr.width(), w->sizeHint().height() ); - w->move( mwr.topLeft() ); + w->setGeometry( mwr.left(), mwr.top(), + mwr.width(), sh.height() ); mwr.setTop( w->geometry().bottom() + 1 ); break; case ServerInterface::Bottom: - w->resize( mwr.width(), w->sizeHint().height() ); - w->move( mwr.left(), mwr.bottom()-w->height()+1 ); + w->setGeometry( mwr.left(), mwr.bottom() - sh.height(), + mwr.width(), sh.height() ); mwr.setBottom( w->geometry().top() - 1 ); break; case ServerInterface::Left: - w->resize( w->sizeHint().width(), mwr.height() ); - w->move( mwr.topLeft() ); + w->setGeometry( mwr.left(), mwr.top(), + sh.width(), mwr.height() ); mwr.setLeft( w->geometry().right() + 1 ); break; case ServerInterface::Right: - w->resize( w->sizeHint().width(), mwr.height() ); - w->move( mwr.right()-w->width()+1, mwr.top() ); + w->setGeometry( mwr.right() - sh.width(), mwr.top(), + sh.width(), mwr.height() ); mwr.setRight( w->geometry().left() - 1 ); break; @@ -337,5 +339,5 @@ LayoutManager::Item *LayoutManager::findWidget( const QWidget *w ) const previously docked widgets are visible. The desktop area available to QWidget::showMaximized() will exclude any visible docked widgets. - + For example, if a widget is docked at the bottom of the screen, its sizeHint() will define its |