equal
deleted
inserted
replaced
1008 { |
1008 { |
1009 Q_Q(QDockWidget); |
1009 Q_Q(QDockWidget); |
1010 |
1010 |
1011 if (!floating && parent) { |
1011 if (!floating && parent) { |
1012 QMainWindowLayout *mwlayout = qobject_cast<QMainWindowLayout *>(q->parentWidget()->layout()); |
1012 QMainWindowLayout *mwlayout = qobject_cast<QMainWindowLayout *>(q->parentWidget()->layout()); |
1013 if (!mwlayout || mwlayout->dockWidgetArea(q) == Qt::NoDockWidgetArea) |
1013 if (mwlayout && mwlayout->dockWidgetArea(q) == Qt::NoDockWidgetArea) |
1014 return; // this dockwidget can't be redocked |
1014 return; // this dockwidget can't be redocked |
1015 } |
1015 } |
1016 |
1016 |
1017 bool wasFloating = q->isFloating(); |
1017 bool wasFloating = q->isFloating(); |
1018 bool hidden = q->isHidden(); |
1018 bool hidden = q->isHidden(); |
1267 d->endDrag(true); |
1267 d->endDrag(true); |
1268 |
1268 |
1269 QRect r = d->undockedGeometry; |
1269 QRect r = d->undockedGeometry; |
1270 |
1270 |
1271 d->setWindowState(floating, false, floating ? r : QRect()); |
1271 d->setWindowState(floating, false, floating ? r : QRect()); |
|
1272 |
1272 if (floating && r.isNull()) { |
1273 if (floating && r.isNull()) { |
1273 QDockWidgetLayout *layout = qobject_cast<QDockWidgetLayout*>(this->layout()); |
1274 if (x() < 0 || y() < 0) //may happen if we have been hidden |
1274 QRect titleArea = layout->titleArea(); |
1275 move(QPoint()); |
1275 int h = layout->verticalTitleBar ? titleArea.width() : titleArea.height(); |
1276 setAttribute(Qt::WA_Moved, false); //we want it at the default position |
1276 QPoint p = mapToGlobal(QPoint(h, h)); |
|
1277 move(p); |
|
1278 } |
1277 } |
1279 } |
1278 } |
1280 |
1279 |
1281 /*! |
1280 /*! |
1282 \property QDockWidget::allowedAreas |
1281 \property QDockWidget::allowedAreas |