diff options
author | Marco Bubke <marco.bubke@qt.io> | 2020-11-16 14:51:46 +0100 |
---|---|---|
committer | Marco Bubke <marco.bubke@qt.io> | 2020-11-18 12:08:59 +0000 |
commit | 382aed1f72f1d573c02deb2cf5840bbc95904adb (patch) | |
tree | cbfbe73f3e072b75e0b440d856993226f75f0aa5 | |
parent | 2d5a6818f2aabc20c6a264cd4015fa22828ff621 (diff) | |
download | qt-creator-382aed1f72f1d573c02deb2cf5840bbc95904adb.tar.gz |
QmlDesigner: Improve return values
You can return by const reference if you the ownership of the return
value is non local. If it is local you should return by value. In that
case it should be non const because otherwise the compile cannot move
the return value.
Change-Id: I2a4b08dd0e67a2c2741a46bdd7def842c1db3fbf
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
16 files changed, 40 insertions, 41 deletions
diff --git a/src/plugins/qmldesigner/components/transitioneditor/transitioneditorview.cpp b/src/plugins/qmldesigner/components/transitioneditor/transitioneditorview.cpp index 62fb34403b..277a743dc6 100644 --- a/src/plugins/qmldesigner/components/transitioneditor/transitioneditorview.cpp +++ b/src/plugins/qmldesigner/components/transitioneditor/transitioneditorview.cpp @@ -348,7 +348,7 @@ void TransitionEditorView::openSettingsDialog() dialog->show(); } -const QList<ModelNode> TransitionEditorView::allTransitions() const +QList<ModelNode> TransitionEditorView::allTransitions() const { if (rootModelNode().isValid() && rootModelNode().hasProperty("transitions")) { NodeAbstractProperty transitions = rootModelNode().nodeAbstractProperty("transitions"); diff --git a/src/plugins/qmldesigner/components/transitioneditor/transitioneditorview.h b/src/plugins/qmldesigner/components/transitioneditor/transitioneditorview.h index 857467e3cd..5a60d05a20 100644 --- a/src/plugins/qmldesigner/components/transitioneditor/transitioneditorview.h +++ b/src/plugins/qmldesigner/components/transitioneditor/transitioneditorview.h @@ -83,7 +83,7 @@ public: void openSettingsDialog(); - const QList<ModelNode> allTransitions() const; + QList<ModelNode> allTransitions() const; void asyncUpdate(const ModelNode &transition); diff --git a/src/plugins/qmldesigner/designercore/include/abstractview.h b/src/plugins/qmldesigner/designercore/include/abstractview.h index a7632574c0..88c15ccf76 100644 --- a/src/plugins/qmldesigner/designercore/include/abstractview.h +++ b/src/plugins/qmldesigner/designercore/include/abstractview.h @@ -142,7 +142,7 @@ public: const QString &nodeSource = QString(), ModelNode::NodeSourceType nodeSourceType = ModelNode::NodeWithoutSource); - const ModelNode rootModelNode() const; + ModelNode rootModelNode() const; ModelNode rootModelNode(); void setSelectedModelNodes(const QList<ModelNode> &selectedNodeList); @@ -155,7 +155,7 @@ public: bool hasSingleSelectedModelNode() const; bool isSelectedModelNode(const ModelNode &modelNode) const; - const QList<ModelNode> selectedModelNodes() const; + QList<ModelNode> selectedModelNodes() const; ModelNode firstSelectedModelNode() const; ModelNode singleSelectedModelNode() const; diff --git a/src/plugins/qmldesigner/designercore/include/modelnode.h b/src/plugins/qmldesigner/designercore/include/modelnode.h index b48161ad31..a7ad989728 100644 --- a/src/plugins/qmldesigner/designercore/include/modelnode.h +++ b/src/plugins/qmldesigner/designercore/include/modelnode.h @@ -115,12 +115,12 @@ public: void setParentProperty(const ModelNode &newParentNode, const PropertyName &propertyName); bool hasParentProperty() const; - const QList<ModelNode> directSubModelNodes() const; - const QList<ModelNode> directSubModelNodesOfType(const TypeName &typeName) const; - const QList<ModelNode> subModelNodesOfType(const TypeName &typeName) const; + QList<ModelNode> directSubModelNodes() const; + QList<ModelNode> directSubModelNodesOfType(const TypeName &typeName) const; + QList<ModelNode> subModelNodesOfType(const TypeName &typeName) const; - const QList<ModelNode> allSubModelNodes() const; - const QList<ModelNode> allSubModelNodesAndThisNode() const; + QList<ModelNode> allSubModelNodes() const; + QList<ModelNode> allSubModelNodesAndThisNode() const; bool hasAnySubModelNodes() const; //### @@ -186,11 +186,11 @@ public: static int variantUserType(); QVariant toVariant() const; - const QVariant auxiliaryData(const PropertyName &name) const; + QVariant auxiliaryData(const PropertyName &name) const; void setAuxiliaryData(const PropertyName &name, const QVariant &data) const; void removeAuxiliaryData(const PropertyName &name) const; bool hasAuxiliaryData(const PropertyName &name) const; - QHash<PropertyName, QVariant> auxiliaryData() const; + const QHash<PropertyName, QVariant> &auxiliaryData() const; QString customId() const; bool hasCustomId() const; diff --git a/src/plugins/qmldesigner/designercore/include/nodeabstractproperty.h b/src/plugins/qmldesigner/designercore/include/nodeabstractproperty.h index 1386b4265e..ae9e070d6e 100644 --- a/src/plugins/qmldesigner/designercore/include/nodeabstractproperty.h +++ b/src/plugins/qmldesigner/designercore/include/nodeabstractproperty.h @@ -53,8 +53,8 @@ public: int indexOf(const ModelNode &node) const; NodeAbstractProperty parentProperty() const; - const QList<ModelNode> allSubNodes(); - const QList<ModelNode> directSubNodes() const; + QList<ModelNode> allSubNodes(); + QList<ModelNode> directSubNodes() const; protected: NodeAbstractProperty(const PropertyName &propertyName, const Internal::InternalNodePointer &internalNode, Model *model, AbstractView *view); diff --git a/src/plugins/qmldesigner/designercore/include/nodelistproperty.h b/src/plugins/qmldesigner/designercore/include/nodelistproperty.h index b10a5a45fd..806ecde6b3 100644 --- a/src/plugins/qmldesigner/designercore/include/nodelistproperty.h +++ b/src/plugins/qmldesigner/designercore/include/nodelistproperty.h @@ -48,8 +48,8 @@ class QMLDESIGNERCORE_EXPORT NodeListProperty : public NodeAbstractProperty public: NodeListProperty(); NodeListProperty(const NodeListProperty &nodeListProperty, AbstractView *view); - const QList<ModelNode> toModelNodeList() const; - const QList<QmlObjectNode> toQmlObjectNodeList() const; + QList<ModelNode> toModelNodeList() const; + QList<QmlObjectNode> toQmlObjectNodeList() const; void slide(int, int) const; void swap(int, int) const; void reparentHere(const ModelNode &modelNode); diff --git a/src/plugins/qmldesigner/designercore/include/qmlitemnode.h b/src/plugins/qmldesigner/designercore/include/qmlitemnode.h index c3c01eec81..cd336b81d5 100644 --- a/src/plugins/qmldesigner/designercore/include/qmlitemnode.h +++ b/src/plugins/qmldesigner/designercore/include/qmlitemnode.h @@ -186,9 +186,9 @@ public: static bool isValidQmlFlowViewNode(const ModelNode &modelNode); QList<QmlFlowItemNode> flowItems() const; ModelNode addTransition(const QmlFlowTargetNode &from, const QmlFlowTargetNode &to); - const QList<ModelNode> transitions() const; - const QList<ModelNode> wildcards() const; - const QList<ModelNode> decicions() const; + QList<ModelNode> transitions() const; + QList<ModelNode> wildcards() const; + QList<ModelNode> decicions() const; QList<ModelNode> transitionsForTarget(const ModelNode &modelNode); QList<ModelNode> transitionsForSource(const ModelNode &modelNode); void removeDanglingTransitions(); diff --git a/src/plugins/qmldesigner/designercore/include/qmltimelinekeyframegroup.h b/src/plugins/qmldesigner/designercore/include/qmltimelinekeyframegroup.h index c37be6934b..a20eeae55e 100644 --- a/src/plugins/qmldesigner/designercore/include/qmltimelinekeyframegroup.h +++ b/src/plugins/qmldesigner/designercore/include/qmltimelinekeyframegroup.h @@ -65,9 +65,9 @@ public: ModelNode keyframe(qreal position) const; - const QList<ModelNode> keyframes() const; + QList<ModelNode> keyframes() const; - const QList<ModelNode> keyframePositions() const; + QList<ModelNode> keyframePositions() const; static bool isValidKeyframe(const ModelNode &node); static bool checkKeyframesType(const ModelNode &node); diff --git a/src/plugins/qmldesigner/designercore/model/abstractview.cpp b/src/plugins/qmldesigner/designercore/model/abstractview.cpp index 6a1a8d4897..963b001f23 100644 --- a/src/plugins/qmldesigner/designercore/model/abstractview.cpp +++ b/src/plugins/qmldesigner/designercore/model/abstractview.cpp @@ -102,7 +102,7 @@ ModelNode AbstractView::createModelNode(const TypeName &typeName, Returns the constant root model node. */ -const ModelNode AbstractView::rootModelNode() const +ModelNode AbstractView::rootModelNode() const { Q_ASSERT(model()); return ModelNode(model()->d->rootNode(), model(), const_cast<AbstractView*>(this)); @@ -465,7 +465,7 @@ bool AbstractView::isSelectedModelNode(const ModelNode &modelNode) const Sets the list of nodes to the actual selected nodes. Returns a list of the selected nodes. */ -const QList<ModelNode> AbstractView::selectedModelNodes() const +QList<ModelNode> AbstractView::selectedModelNodes() const { return toModelNodeList(model()->d->selectedNodes()); } diff --git a/src/plugins/qmldesigner/designercore/model/internalnode.cpp b/src/plugins/qmldesigner/designercore/model/internalnode.cpp index 1f8b622765..17b1d61eb2 100644 --- a/src/plugins/qmldesigner/designercore/model/internalnode.cpp +++ b/src/plugins/qmldesigner/designercore/model/internalnode.cpp @@ -187,7 +187,7 @@ bool InternalNode::hasAuxiliaryData(const PropertyName &name) const return m_auxiliaryDataHash.contains(name); } -QHash<PropertyName, QVariant> InternalNode::auxiliaryData() const +const QHash<PropertyName, QVariant> &InternalNode::auxiliaryData() const { return m_auxiliaryDataHash; } diff --git a/src/plugins/qmldesigner/designercore/model/internalnode_p.h b/src/plugins/qmldesigner/designercore/model/internalnode_p.h index d8b0e314f8..69f1f3c1ee 100644 --- a/src/plugins/qmldesigner/designercore/model/internalnode_p.h +++ b/src/plugins/qmldesigner/designercore/model/internalnode_p.h @@ -84,7 +84,7 @@ public: void setAuxiliaryData(const PropertyName &name, const QVariant &data); void removeAuxiliaryData(const PropertyName &name); bool hasAuxiliaryData(const PropertyName &name) const; - QHash<PropertyName, QVariant> auxiliaryData() const; + const QHash<PropertyName, QVariant> &auxiliaryData() const; InternalProperty::Pointer property(const PropertyName &name) const; InternalBindingProperty::Pointer bindingProperty(const PropertyName &name) const; diff --git a/src/plugins/qmldesigner/designercore/model/modelnode.cpp b/src/plugins/qmldesigner/designercore/model/modelnode.cpp index 1eafaf531a..e249e2fb6a 100644 --- a/src/plugins/qmldesigner/designercore/model/modelnode.cpp +++ b/src/plugins/qmldesigner/designercore/model/modelnode.cpp @@ -106,9 +106,8 @@ ModelNode::ModelNode(ModelNode &&other) ModelNode &ModelNode::operator=(ModelNode &&other) { - ModelNode newNode; + ModelNode newNode = std::move(other); - swap(other, newNode); swap(*this, newNode); return *this; @@ -800,19 +799,19 @@ The list contains every ModelNode that belongs to one of this ModelNodes properties. \return a list of all ModelNodes that are direct children */ -const QList<ModelNode> ModelNode::directSubModelNodes() const +QList<ModelNode> ModelNode::directSubModelNodes() const { return toModelNodeList(internalNode()->allDirectSubNodes(), view()); } -const QList<ModelNode> ModelNode::directSubModelNodesOfType(const TypeName &typeName) const +QList<ModelNode> ModelNode::directSubModelNodesOfType(const TypeName &typeName) const { return Utils::filtered(directSubModelNodes(), [typeName](const ModelNode &node){ return node.metaInfo().isValid() && node.metaInfo().isSubclassOf(typeName); }); } -const QList<ModelNode> ModelNode::subModelNodesOfType(const TypeName &typeName) const +QList<ModelNode> ModelNode::subModelNodesOfType(const TypeName &typeName) const { return Utils::filtered(allSubModelNodes(), [typeName](const ModelNode &node){ return node.metaInfo().isValid() && node.metaInfo().isSubclassOf(typeName); @@ -826,12 +825,12 @@ All children in this list will be implicitly removed if this ModelNode is destro \return a list of all ModelNodes that are direct or indirect children */ -const QList<ModelNode> ModelNode::allSubModelNodes() const +QList<ModelNode> ModelNode::allSubModelNodes() const { return toModelNodeList(internalNode()->allSubNodes(), view()); } -const QList<ModelNode> ModelNode::allSubModelNodesAndThisNode() const +QList<ModelNode> ModelNode::allSubModelNodesAndThisNode() const { QList<ModelNode> modelNodeList; modelNodeList.append(*this); @@ -1065,7 +1064,7 @@ bool ModelNode::hasAuxiliaryData(const PropertyName &name) const return internalNode()->hasAuxiliaryData(name); } -QHash<PropertyName, QVariant> ModelNode::auxiliaryData() const +const QHash<PropertyName, QVariant> &ModelNode::auxiliaryData() const { if (!isValid()) throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); diff --git a/src/plugins/qmldesigner/designercore/model/nodeabstractproperty.cpp b/src/plugins/qmldesigner/designercore/model/nodeabstractproperty.cpp index b9c1fb7075..41e7123823 100644 --- a/src/plugins/qmldesigner/designercore/model/nodeabstractproperty.cpp +++ b/src/plugins/qmldesigner/designercore/model/nodeabstractproperty.cpp @@ -141,7 +141,7 @@ int NodeAbstractProperty::count() const return property->count(); } -const QList<ModelNode> NodeAbstractProperty::allSubNodes() +QList<ModelNode> NodeAbstractProperty::allSubNodes() { if (!internalNode() || !internalNode()->isValid() @@ -153,7 +153,7 @@ const QList<ModelNode> NodeAbstractProperty::allSubNodes() return QmlDesigner::toModelNodeList(property->allSubNodes(), view()); } -const QList<ModelNode> NodeAbstractProperty::directSubNodes() const +QList<ModelNode> NodeAbstractProperty::directSubNodes() const { if (!internalNode() || !internalNode()->isValid() diff --git a/src/plugins/qmldesigner/designercore/model/nodelistproperty.cpp b/src/plugins/qmldesigner/designercore/model/nodelistproperty.cpp index 8271bad362..2fa462c85a 100644 --- a/src/plugins/qmldesigner/designercore/model/nodelistproperty.cpp +++ b/src/plugins/qmldesigner/designercore/model/nodelistproperty.cpp @@ -63,7 +63,7 @@ static QList<ModelNode> internalNodesToModelNodes(const QList<Internal::Internal return modelNodeList; } -const QList<ModelNode> NodeListProperty::toModelNodeList() const +QList<ModelNode> NodeListProperty::toModelNodeList() const { if (!isValid()) throw InvalidPropertyException(__LINE__, __FUNCTION__, __FILE__, "<invalid node list property>"); @@ -77,7 +77,7 @@ const QList<ModelNode> NodeListProperty::toModelNodeList() const return QList<ModelNode>(); } -const QList<QmlObjectNode> NodeListProperty::toQmlObjectNodeList() const +QList<QmlObjectNode> NodeListProperty::toQmlObjectNodeList() const { if (model()->nodeInstanceView()) return QList<QmlObjectNode>(); diff --git a/src/plugins/qmldesigner/designercore/model/qmlitemnode.cpp b/src/plugins/qmldesigner/designercore/model/qmlitemnode.cpp index 814d549480..3a63b7ae34 100644 --- a/src/plugins/qmldesigner/designercore/model/qmlitemnode.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmlitemnode.cpp @@ -718,7 +718,7 @@ ModelNode QmlFlowViewNode::addTransition(const QmlFlowTargetNode &from, const Qm return transition; } -const QList<ModelNode> QmlFlowViewNode::transitions() const +QList<ModelNode> QmlFlowViewNode::transitions() const { if (modelNode().nodeListProperty("flowTransitions").isValid()) return modelNode().nodeListProperty("flowTransitions").toModelNodeList(); @@ -726,7 +726,7 @@ const QList<ModelNode> QmlFlowViewNode::transitions() const return {}; } -const QList<ModelNode> QmlFlowViewNode::wildcards() const +QList<ModelNode> QmlFlowViewNode::wildcards() const { if (modelNode().nodeListProperty("flowWildcards").isValid()) return modelNode().nodeListProperty("flowWildcards").toModelNodeList(); @@ -734,7 +734,7 @@ const QList<ModelNode> QmlFlowViewNode::wildcards() const return {}; } -const QList<ModelNode> QmlFlowViewNode::decicions() const +QList<ModelNode> QmlFlowViewNode::decicions() const { if (modelNode().nodeListProperty("flowDecisions").isValid()) return modelNode().nodeListProperty("flowDecisions").toModelNodeList(); diff --git a/src/plugins/qmldesigner/designercore/model/qmltimelinekeyframegroup.cpp b/src/plugins/qmldesigner/designercore/model/qmltimelinekeyframegroup.cpp index 11474d9171..ad0855ad95 100644 --- a/src/plugins/qmldesigner/designercore/model/qmltimelinekeyframegroup.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmltimelinekeyframegroup.cpp @@ -255,12 +255,12 @@ qreal QmlTimelineKeyframeGroup::maxActualKeyframe() const return max; } -const QList<ModelNode> QmlTimelineKeyframeGroup::keyframes() const +QList<ModelNode> QmlTimelineKeyframeGroup::keyframes() const { return modelNode().defaultNodeListProperty().toModelNodeList(); } -const QList<ModelNode> QmlTimelineKeyframeGroup::keyframePositions() const +QList<ModelNode> QmlTimelineKeyframeGroup::keyframePositions() const { QList<ModelNode> returnValues; for (const ModelNode &childNode : modelNode().defaultNodeListProperty().toModelNodeList()) { |