aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@qt.io>2024-04-22 13:57:30 +0300
committerMiikka Heikkinen <miikka.heikkinen@qt.io>2024-04-22 11:21:10 +0000
commit64ed6fff6d68461d3e43d39ba8f6c3d1f3b29f2a (patch)
tree2bec10a87e06ca8927e5f9b9973bf201c37c49ae /src
parent10bcd931c6bc35e1333a614eabbba84a33583fba (diff)
QmlDesigner: Select model under cursor when using "Edit in 3D View"
If selection context contains valid scene position, use that to select the model under cursor. Fixes: QDS-12346 Change-Id: I55c58ed303e1746b7b234fa6ac31272fdfafb40d Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp b/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp
index 66c1229a76..a5274c70e2 100644
--- a/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp
+++ b/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp
@@ -1688,7 +1688,14 @@ void editIn3dView(const SelectionContext &selectionContext)
if (selectionContext.view() && selectionContext.hasSingleSelectedModelNode()
&& selectionContext.currentSingleSelectedNode().metaInfo().isQtQuick3DView3D()) {
QmlDesignerPlugin::instance()->mainWidget()->showDockWidget("Editor3D", true);
- selectionContext.view()->emitView3DAction(View3DActionType::AlignViewToCamera, true);
+ const QPointF scenePos = selectionContext.scenePosition();
+ if (scenePos.isNull()) {
+ selectionContext.view()->emitView3DAction(View3DActionType::AlignViewToCamera, true);
+ } else {
+ selectionContext.view()->emitCustomNotification("pick_3d_node_from_2d_scene",
+ {selectionContext.currentSingleSelectedNode()},
+ {scenePos});
+ }
}
}