src/gui/widgets/qdockwidget.cpp
branchGCC_SURGE
changeset 31 5daf16870df6
parent 30 5dc02b23752f
equal deleted inserted replaced
27:93b982ccede2 31:5daf16870df6
  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