diff options
author | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2015-04-24 10:57:24 +0200 |
---|---|---|
committer | Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> | 2015-04-26 13:15:57 +0000 |
commit | 4bafef9890a1dc42a5e95a348ace9bdd70b1fc61 (patch) | |
tree | 94290558c50410345765fe4a2a256ad1fb4419bf /src/widgets | |
parent | 9c4cbc0cc768fe8694d6e19b62b8ea8f4fb9d966 (diff) |
QMainWindow::restoreDockWidget(): Fix positioning of floating docks with native decoration.
Use QWidget::move() to position floating dock widgets.
Add a test for QMainWindow::restoreDockWidget().
Task-number: QTBUG-45780
Change-Id: I945917728a663916e8c225b9d3d2a75fa508d68f
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/widgets/qdockwidget.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp index db8d167b0d..21b0904cc0 100644 --- a/src/widgets/widgets/qdockwidget.cpp +++ b/src/widgets/widgets/qdockwidget.cpp @@ -1031,8 +1031,14 @@ void QDockWidgetPrivate::setWindowState(bool floating, bool unplug, const QRect q->setWindowFlags(flags); - if (!rect.isNull()) - q->setGeometry(rect); + if (!rect.isNull()) { + if (floating) { + q->resize(rect.size()); + q->move(rect.topLeft()); + } else { + q->setGeometry(rect); + } + } updateButtons(); |