QmlDesigner: Create 3D models at the point of context menu trigger

Fixes: QDS-7640
Change-Id: I2f178c2e2661dedc4efe23b675363283e3cd3bc3
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
Miikka Heikkinen
2022-09-12 16:23:05 +03:00
parent fbb9dd1647
commit e15d834601
12 changed files with 67 additions and 38 deletions

View File

@@ -238,7 +238,7 @@ void Edit3DWidget::onCreateAction()
int activeScene = m_view->rootModelNode().auxiliaryData("active3dScene@Internal").toInt();
auto modelNode = QmlVisualNode::createQml3DNode(m_view, m_nameToEntry.value(action->data().toString()),
activeScene).modelNode();
activeScene, m_contextMenuPos3d).modelNode();
QTC_ASSERT(modelNode.isValid(), return);
m_view->setSelectedModelNode(modelNode);
@@ -296,9 +296,10 @@ void Edit3DWidget::showBackgroundColorMenu(bool show, const QPoint &pos)
m_backgroundColorMenu->close();
}
void Edit3DWidget::showContextMenu(const QPoint &pos, const ModelNode &modelNode)
void Edit3DWidget::showContextMenu(const QPoint &pos, const ModelNode &modelNode, const QVector3D &pos3d)
{
m_contextMenuTarget = modelNode;
m_contextMenuPos3d = pos3d;
const bool isValid = modelNode.isValid();
const bool isModel = isValid && modelNode.isSubclassOf("QtQuick3D.Model");