forked from qt-creator/qt-creator
QmlDesigner: Add ModelNode::ensureIdExists()
Calling ModelNode::validId() and don't get the value looks a little bit strange. Removing the refactoring step too. If there was no id, why it should be refactored? Change-Id: I0ec31f2e9a654635bcdb815e7ab1236506d37d2b Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -1622,7 +1622,7 @@ void addMouseAreaFill(const SelectionContext &selectionContext)
|
||||
QmlDesigner::ModelNode mouseAreaNode = selectionContext.view()->createModelNode(
|
||||
"QtQuick.MouseArea", itemMetaInfo.majorVersion(), itemMetaInfo.minorVersion());
|
||||
#endif
|
||||
mouseAreaNode.validId();
|
||||
mouseAreaNode.ensureIdExists();
|
||||
|
||||
modelNode.defaultNodeListProperty().reparentHere(mouseAreaNode);
|
||||
QmlItemNode mouseAreaItemNode(mouseAreaNode);
|
||||
|
@@ -55,7 +55,7 @@ void MaterialUtils::assignMaterialTo3dModel(AbstractView *view, const ModelNode
|
||||
metaInfo.majorVersion(),
|
||||
metaInfo.minorVersion());
|
||||
#endif
|
||||
newMaterialNode.validId();
|
||||
newMaterialNode.ensureIdExists();
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -171,7 +171,7 @@ void StatesEditorView::createNewState()
|
||||
}
|
||||
|
||||
executeInTransaction("createNewState", [this, newStateName]() {
|
||||
activeStatesGroupNode().validId();
|
||||
activeStatesGroupNode().ensureIdExists();
|
||||
|
||||
ModelNode newState = activeStateGroup().addState(newStateName);
|
||||
setCurrentState(newState);
|
||||
|
@@ -388,7 +388,7 @@ void TextureEditorView::handleToolBarAction(int action)
|
||||
metaInfo.majorVersion(),
|
||||
metaInfo.minorVersion());
|
||||
#endif
|
||||
newTextureNode.validId();
|
||||
newTextureNode.ensureIdExists();
|
||||
matLib.defaultNodeListProperty().reparentHere(newTextureNode);
|
||||
});
|
||||
break;
|
||||
@@ -770,7 +770,7 @@ void TextureEditorView::duplicateTexture(const ModelNode &texture)
|
||||
QmlObjectNode duplicateTex = createModelNode(matType, metaInfo.majorVersion(), metaInfo.minorVersion());
|
||||
#endif
|
||||
duplicateTextureNode = duplicateTex .modelNode();
|
||||
duplicateTextureNode.validId();
|
||||
duplicateTextureNode.ensureIdExists();
|
||||
|
||||
// sync properties. Only the base state is duplicated.
|
||||
const QList<AbstractProperty> props = texture.properties();
|
||||
|
@@ -90,7 +90,7 @@ void TimelineActions::pasteKeyframesToTarget(const ModelNode &targetNode,
|
||||
view.executeInTransaction("TimelineActions::pasteKeyframesToTarget", [=, &view](){
|
||||
|
||||
ModelNode nonConstTargetNode = targetNode;
|
||||
nonConstTargetNode.validId();
|
||||
nonConstTargetNode.ensureIdExists();
|
||||
|
||||
if (QmlTimelineKeyframeGroup::checkKeyframesType(rootNode)) {
|
||||
/* Single selection */
|
||||
|
@@ -349,7 +349,7 @@ const QmlTimeline TimelineView::addNewTimeline()
|
||||
metaInfo.majorVersion(),
|
||||
metaInfo.minorVersion());
|
||||
#endif
|
||||
timelineNode.validId();
|
||||
timelineNode.ensureIdExists();
|
||||
|
||||
timelineNode.variantProperty("startFrame").setValue(0);
|
||||
timelineNode.variantProperty("endFrame").setValue(1000);
|
||||
@@ -390,7 +390,7 @@ ModelNode TimelineView::addAnimation(QmlTimeline timeline)
|
||||
metaInfo.minorVersion());
|
||||
animationNode.variantProperty("duration").setValue(timeline.duration());
|
||||
#endif
|
||||
animationNode.validId();
|
||||
animationNode.ensureIdExists();
|
||||
|
||||
animationNode.variantProperty("from").setValue(timeline.startKeyframe());
|
||||
animationNode.variantProperty("to").setValue(timeline.endKeyframe());
|
||||
|
@@ -252,7 +252,7 @@ ModelNode TransitionEditorView::addNewTransition()
|
||||
}});
|
||||
#endif
|
||||
transition.setAuxiliaryData(transitionDurationProperty, 2000);
|
||||
transition.validId();
|
||||
transition.ensureIdExists();
|
||||
root.nodeListProperty("transitions").reparentHere(transition);
|
||||
|
||||
for (auto it = idPropertyList.cbegin(); it != idPropertyList.cend(); ++it) {
|
||||
|
@@ -152,7 +152,8 @@ public:
|
||||
void destroy();
|
||||
|
||||
QString id() const;
|
||||
QString validId();
|
||||
void ensureIdExists();
|
||||
[[nodiscard]] QString validId();
|
||||
void setIdWithRefactoring(const QString &id);
|
||||
void setIdWithoutRefactoring(const QString &id);
|
||||
static bool isValidId(const QString &id);
|
||||
|
@@ -80,10 +80,15 @@ QString ModelNode::id() const
|
||||
return m_internalNode->id;
|
||||
}
|
||||
|
||||
void ModelNode::ensureIdExists()
|
||||
{
|
||||
if (!hasId())
|
||||
setIdWithoutRefactoring(model()->generateNewId(simplifiedTypeName()));
|
||||
}
|
||||
|
||||
QString ModelNode::validId()
|
||||
{
|
||||
if (id().isEmpty())
|
||||
setIdWithRefactoring(model()->generateNewId(simplifiedTypeName()));
|
||||
ensureIdExists();
|
||||
|
||||
return id();
|
||||
}
|
||||
|
@@ -39,7 +39,7 @@ void QmlObjectNode::setVariantProperty(const PropertyName &name, const QVariant
|
||||
return;
|
||||
|
||||
if (timelineIsActive() && currentTimeline().isRecording()) {
|
||||
modelNode().validId();
|
||||
modelNode().ensureIdExists();
|
||||
|
||||
QmlTimelineKeyframeGroup timelineFrames(currentTimeline().keyframeGroup(modelNode(), name));
|
||||
|
||||
@@ -69,7 +69,7 @@ void QmlObjectNode::setVariantProperty(const PropertyName &name, const QVariant
|
||||
if (isInBaseState()) {
|
||||
modelNode().variantProperty(name).setValue(value); //basestate
|
||||
} else {
|
||||
modelNode().validId();
|
||||
modelNode().ensureIdExists();
|
||||
|
||||
QmlPropertyChanges changeSet(currentState().propertyChanges(modelNode()));
|
||||
Q_ASSERT(changeSet.isValid());
|
||||
@@ -88,7 +88,7 @@ void QmlObjectNode::setBindingProperty(const PropertyName &name, const QString &
|
||||
if (isInBaseState()) {
|
||||
modelNode().bindingProperty(name).setExpression(expression); //basestate
|
||||
} else {
|
||||
modelNode().validId();
|
||||
modelNode().ensureIdExists();
|
||||
|
||||
QmlPropertyChanges changeSet(currentState().propertyChanges(modelNode()));
|
||||
Q_ASSERT(changeSet.isValid());
|
||||
@@ -338,7 +338,7 @@ void QmlObjectNode::ensureAliasExport()
|
||||
return;
|
||||
|
||||
if (!isAliasExported()) {
|
||||
modelNode().validId();
|
||||
modelNode().ensureIdExists();
|
||||
ModelNode rootModelNode = view()->rootModelNode();
|
||||
rootModelNode.bindingProperty(modelNode().id().toUtf8()).
|
||||
setDynamicTypeNameAndExpression("alias", modelNode().id());
|
||||
|
Reference in New Issue
Block a user