summaryrefslogtreecommitdiff
path: root/src/designer/src/components
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@qt.io>2019-10-01 14:51:13 +0200
committerJarek Kobus <jaroslaw.kobus@qt.io>2019-10-01 16:39:09 +0200
commit780490fdc3281ae5cb9e51a63647cbb4af6da00f (patch)
treea773aadc56662730cd034eb8ada4eabcacebb2b6 /src/designer/src/components
parent99f449410c680142e58bf6cdd56c583b2c57b9b6 (diff)
downloadqttools-780490fdc3281ae5cb9e51a63647cbb4af6da00f.tar.gz
Designer: Hide children's selection handles while D'n'D of hierarchy
Fixes: QTBUG-75916 Change-Id: I25658791292039439eb26a5a3963a3408b71bccc Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'src/designer/src/components')
-rw-r--r--src/designer/src/components/formeditor/formwindow.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/designer/src/components/formeditor/formwindow.cpp b/src/designer/src/components/formeditor/formwindow.cpp
index 464d7f618..cc0f78e38 100644
--- a/src/designer/src/components/formeditor/formwindow.cpp
+++ b/src/designer/src/components/formeditor/formwindow.cpp
@@ -684,6 +684,7 @@ bool FormWindow::handleMouseMoveEvent(QWidget *, QWidget *, QMouseEvent *e)
const bool blocked = blockSelectionChanged(true);
QWidgetList sel = selectedWidgets();
+ const QWidgetList originalSelection = sel;
simplifySelection(&sel);
QSet<QWidget*> widget_set;
@@ -733,6 +734,11 @@ bool FormWindow::handleMouseMoveEvent(QWidget *, QWidget *, QMouseEvent *e)
}
}
+ // In case when we have reduced the selection (by calling simplifySelection()
+ // beforehand) we still need to hide selection handles for children widgets
+ for (auto *widget : originalSelection)
+ m_selection->hide(widget);
+
blockSelectionChanged(blocked);
if (!sel.empty()) // reshow selection?