summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2013-06-11 15:35:22 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-06-12 12:42:51 +0200
commit0d459619a902e547d8c74745453b3bdb8f67a660 (patch)
tree72fd7a18087771f8addbc1a80cfb022f1b12902e /src/widgets
parent0715dc9ee32054c4a344dc7d8694cf0b8b6cbdbb (diff)
QDockWidget: Keep position when undocking.
Initialize undockedGeometry to roughly the current position. Task-number: QTBUG-31044 Change-Id: I03cbe280d1215bb58ab721b60e29b45359cde76d Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/widgets/qdockwidget.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp
index a3c331aa2b..ae931deb16 100644
--- a/src/widgets/widgets/qdockwidget.cpp
+++ b/src/widgets/widgets/qdockwidget.cpp
@@ -1259,6 +1259,9 @@ void QDockWidget::setFloating(bool floating)
d->endDrag(true);
QRect r = d->undockedGeometry;
+ // Keep position when undocking for the first time.
+ if (floating && isVisible() && !r.isValid())
+ r = QRect(mapToGlobal(QPoint(0, 0)), size());
d->setWindowState(floating, false, floating ? r : QRect());