diff --git a/src/plugins/qmldesigner/components/stateseditornew/propertymodel.cpp b/src/plugins/qmldesigner/components/stateseditornew/propertymodel.cpp index 9e93b59aad4..71a76d93160 100644 --- a/src/plugins/qmldesigner/components/stateseditornew/propertymodel.cpp +++ b/src/plugins/qmldesigner/components/stateseditornew/propertymodel.cpp @@ -88,9 +88,11 @@ QVariant PropertyModel::data(const QModelIndex &index, int role) const if (!propertyChanges.target().isValid()) return {}; - return {}; - // return propertyChanges.target().metaInfo().propertyType( - // m_properties.at(index.row()).name()); + return propertyChanges.target() + .metaInfo() + .property(m_properties.at(index.row()).name()) + .propertyType() + .typeName(); } } return {}; diff --git a/src/plugins/qmldesigner/components/stateseditornew/stateseditormodel.cpp b/src/plugins/qmldesigner/components/stateseditornew/stateseditormodel.cpp index fa7213d344b..826161fc0a2 100644 --- a/src/plugins/qmldesigner/components/stateseditornew/stateseditormodel.cpp +++ b/src/plugins/qmldesigner/components/stateseditornew/stateseditormodel.cpp @@ -285,37 +285,41 @@ bool StatesEditorModel::hasAnnotation(int internalNodeId) const QStringList StatesEditorModel::stateGroups() const { - return {}; - // auto stateGroups = Utils::transform(m_statesEditorView->allModelNodesOfType( - // "QtQuick.StateGroup"), - // [](const ModelNode &node) { return node.displayName(); }); - // stateGroups.prepend(tr("Root")); - // return stateGroups; + if (!m_statesEditorView->isAttached()) + return {}; + + const auto groupMetaInfo = m_statesEditorView->model()->qtQuickStateGroupMetaInfo(); + + auto stateGroups = Utils::transform(m_statesEditorView->allModelNodesOfType(groupMetaInfo), + [](const ModelNode &node) { return node.displayName(); }); + stateGroups.prepend(tr("Root")); + return stateGroups; } QString StatesEditorModel::activeStateGroup() const { + if (auto stateGroup = m_statesEditorView->activeStatesGroupNode()) + return stateGroup.displayName(); + return {}; - // auto stateGroup = m_statesEditorView->activeStatesGroupNode(); - - // if (!stateGroup.isValid()) - // return QString(); - - // return stateGroup.displayName(); } void StatesEditorModel::setActiveStateGroup(const QString &name) { - // auto modelNode = Utils::findOrDefault(m_statesEditorView->allModelNodesOfType( - // "QtQuick.StateGroup"), - // [&name](const ModelNode &node) { - // return node.displayName() == name; - // }); + if (!m_statesEditorView->isAttached()) + return; - // QTC_ASSERT(!modelNode.isValid(), return ); + const auto groupMetaInfo = m_statesEditorView->model()->qtQuickStateGroupMetaInfo(); - // if (modelNode.isValid()) - // m_statesEditorView->setActiveStatesGroupNode(modelNode); + auto modelNode = Utils::findOrDefault(m_statesEditorView->allModelNodesOfType(groupMetaInfo), + [&name](const ModelNode &node) { + return node.displayName() == name; + }); + + QTC_ASSERT(!modelNode.isValid(), return ); + + if (modelNode.isValid()) + m_statesEditorView->setActiveStatesGroupNode(modelNode); } int StatesEditorModel::activeStateGroupIndex() const diff --git a/src/plugins/qmldesigner/components/stateseditornew/stateseditorview.cpp b/src/plugins/qmldesigner/components/stateseditornew/stateseditorview.cpp index 004df81fd79..599a1f443a6 100644 --- a/src/plugins/qmldesigner/components/stateseditornew/stateseditorview.cpp +++ b/src/plugins/qmldesigner/components/stateseditornew/stateseditorview.cpp @@ -111,17 +111,18 @@ void StatesEditorView::setActiveStatesGroupNode(const ModelNode &modelNode) int StatesEditorView::activeStatesGroupIndex() const { return 1; - // return Utils::indexOf(allModelNodesOfType("QtQuick.StateGroup"), - // [this](const ModelNode &node) { return node == m_activeStatesGroupNode; }) - // + 1; + return Utils::indexOf(allModelNodesOfType(model()->qtQuickStateGroupMetaInfo()), + [this](const ModelNode &node) { return node == m_activeStatesGroupNode; }) + + 1; } void StatesEditorView::setActiveStatesGroupIndex(int index) { if (index > 0) { - // const ModelNode statesGroup = allModelNodesOfType("QtQuick.StateGroup").at(index - 1); - // if (statesGroup.isValid()) - // setActiveStatesGroupNode(statesGroup); + const ModelNode statesGroup = allModelNodesOfType(model()->qtQuickStateGroupMetaInfo()) + .at(index - 1); + if (statesGroup.isValid()) + setActiveStatesGroupNode(statesGroup); } else { setActiveStatesGroupNode(rootModelNode()); } diff --git a/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp b/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp index ad6e8596efb..23a4b2b18f2 100644 --- a/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp @@ -596,14 +596,14 @@ QList QmlObjectNode::allTimelines() const QList QmlObjectNode::getAllConnections() const { - // if (!isValid()) - return {}; + if (!isValid()) + return {}; - // auto list = view()->allModelNodesOfType("QtQuick.Connections"); - // return Utils::filtered(list, [this](const ModelNode &connection) { - // return connection.hasBindingProperty("target") - // && connection.bindingProperty("target").resolveToModelNode() == modelNode(); - // }); + auto list = view()->allModelNodesOfType(model()->qtQuickConnectionsMetaInfo()); + return Utils::filtered(list, [this](const ModelNode &connection) { + return connection.hasBindingProperty("target") + && connection.bindingProperty("target").resolveToModelNode() == modelNode(); + }); } /*!