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>
This commit is contained in:
Marco Bubke
2020-11-16 14:51:46 +01:00
parent 2d5a6818f2
commit 382aed1f72
16 changed files with 40 additions and 41 deletions

View File

@@ -348,7 +348,7 @@ void TransitionEditorView::openSettingsDialog()
dialog->show(); dialog->show();
} }
const QList<ModelNode> TransitionEditorView::allTransitions() const QList<ModelNode> TransitionEditorView::allTransitions() const
{ {
if (rootModelNode().isValid() && rootModelNode().hasProperty("transitions")) { if (rootModelNode().isValid() && rootModelNode().hasProperty("transitions")) {
NodeAbstractProperty transitions = rootModelNode().nodeAbstractProperty("transitions"); NodeAbstractProperty transitions = rootModelNode().nodeAbstractProperty("transitions");

View File

@@ -83,7 +83,7 @@ public:
void openSettingsDialog(); void openSettingsDialog();
const QList<ModelNode> allTransitions() const; QList<ModelNode> allTransitions() const;
void asyncUpdate(const ModelNode &transition); void asyncUpdate(const ModelNode &transition);

View File

@@ -142,7 +142,7 @@ public:
const QString &nodeSource = QString(), const QString &nodeSource = QString(),
ModelNode::NodeSourceType nodeSourceType = ModelNode::NodeWithoutSource); ModelNode::NodeSourceType nodeSourceType = ModelNode::NodeWithoutSource);
const ModelNode rootModelNode() const; ModelNode rootModelNode() const;
ModelNode rootModelNode(); ModelNode rootModelNode();
void setSelectedModelNodes(const QList<ModelNode> &selectedNodeList); void setSelectedModelNodes(const QList<ModelNode> &selectedNodeList);
@@ -155,7 +155,7 @@ public:
bool hasSingleSelectedModelNode() const; bool hasSingleSelectedModelNode() const;
bool isSelectedModelNode(const ModelNode &modelNode) const; bool isSelectedModelNode(const ModelNode &modelNode) const;
const QList<ModelNode> selectedModelNodes() const; QList<ModelNode> selectedModelNodes() const;
ModelNode firstSelectedModelNode() const; ModelNode firstSelectedModelNode() const;
ModelNode singleSelectedModelNode() const; ModelNode singleSelectedModelNode() const;

View File

@@ -115,12 +115,12 @@ public:
void setParentProperty(const ModelNode &newParentNode, const PropertyName &propertyName); void setParentProperty(const ModelNode &newParentNode, const PropertyName &propertyName);
bool hasParentProperty() const; bool hasParentProperty() const;
const QList<ModelNode> directSubModelNodes() const; QList<ModelNode> directSubModelNodes() const;
const QList<ModelNode> directSubModelNodesOfType(const TypeName &typeName) const; QList<ModelNode> directSubModelNodesOfType(const TypeName &typeName) const;
const QList<ModelNode> subModelNodesOfType(const TypeName &typeName) const; QList<ModelNode> subModelNodesOfType(const TypeName &typeName) const;
const QList<ModelNode> allSubModelNodes() const; QList<ModelNode> allSubModelNodes() const;
const QList<ModelNode> allSubModelNodesAndThisNode() const; QList<ModelNode> allSubModelNodesAndThisNode() const;
bool hasAnySubModelNodes() const; bool hasAnySubModelNodes() const;
//### //###
@@ -186,11 +186,11 @@ public:
static int variantUserType(); static int variantUserType();
QVariant toVariant() const; 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 setAuxiliaryData(const PropertyName &name, const QVariant &data) const;
void removeAuxiliaryData(const PropertyName &name) const; void removeAuxiliaryData(const PropertyName &name) const;
bool hasAuxiliaryData(const PropertyName &name) const; bool hasAuxiliaryData(const PropertyName &name) const;
QHash<PropertyName, QVariant> auxiliaryData() const; const QHash<PropertyName, QVariant> &auxiliaryData() const;
QString customId() const; QString customId() const;
bool hasCustomId() const; bool hasCustomId() const;

View File

@@ -53,8 +53,8 @@ public:
int indexOf(const ModelNode &node) const; int indexOf(const ModelNode &node) const;
NodeAbstractProperty parentProperty() const; NodeAbstractProperty parentProperty() const;
const QList<ModelNode> allSubNodes(); QList<ModelNode> allSubNodes();
const QList<ModelNode> directSubNodes() const; QList<ModelNode> directSubNodes() const;
protected: protected:
NodeAbstractProperty(const PropertyName &propertyName, const Internal::InternalNodePointer &internalNode, Model *model, AbstractView *view); NodeAbstractProperty(const PropertyName &propertyName, const Internal::InternalNodePointer &internalNode, Model *model, AbstractView *view);

View File

@@ -48,8 +48,8 @@ class QMLDESIGNERCORE_EXPORT NodeListProperty : public NodeAbstractProperty
public: public:
NodeListProperty(); NodeListProperty();
NodeListProperty(const NodeListProperty &nodeListProperty, AbstractView *view); NodeListProperty(const NodeListProperty &nodeListProperty, AbstractView *view);
const QList<ModelNode> toModelNodeList() const; QList<ModelNode> toModelNodeList() const;
const QList<QmlObjectNode> toQmlObjectNodeList() const; QList<QmlObjectNode> toQmlObjectNodeList() const;
void slide(int, int) const; void slide(int, int) const;
void swap(int, int) const; void swap(int, int) const;
void reparentHere(const ModelNode &modelNode); void reparentHere(const ModelNode &modelNode);

View File

@@ -186,9 +186,9 @@ public:
static bool isValidQmlFlowViewNode(const ModelNode &modelNode); static bool isValidQmlFlowViewNode(const ModelNode &modelNode);
QList<QmlFlowItemNode> flowItems() const; QList<QmlFlowItemNode> flowItems() const;
ModelNode addTransition(const QmlFlowTargetNode &from, const QmlFlowTargetNode &to); ModelNode addTransition(const QmlFlowTargetNode &from, const QmlFlowTargetNode &to);
const QList<ModelNode> transitions() const; QList<ModelNode> transitions() const;
const QList<ModelNode> wildcards() const; QList<ModelNode> wildcards() const;
const QList<ModelNode> decicions() const; QList<ModelNode> decicions() const;
QList<ModelNode> transitionsForTarget(const ModelNode &modelNode); QList<ModelNode> transitionsForTarget(const ModelNode &modelNode);
QList<ModelNode> transitionsForSource(const ModelNode &modelNode); QList<ModelNode> transitionsForSource(const ModelNode &modelNode);
void removeDanglingTransitions(); void removeDanglingTransitions();

View File

@@ -65,9 +65,9 @@ public:
ModelNode keyframe(qreal position) const; 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 isValidKeyframe(const ModelNode &node);
static bool checkKeyframesType(const ModelNode &node); static bool checkKeyframesType(const ModelNode &node);

View File

@@ -102,7 +102,7 @@ ModelNode AbstractView::createModelNode(const TypeName &typeName,
Returns the constant root model node. Returns the constant root model node.
*/ */
const ModelNode AbstractView::rootModelNode() const ModelNode AbstractView::rootModelNode() const
{ {
Q_ASSERT(model()); Q_ASSERT(model());
return ModelNode(model()->d->rootNode(), model(), const_cast<AbstractView*>(this)); 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 Sets the list of nodes to the actual selected nodes. Returns a list of the
selected nodes. selected nodes.
*/ */
const QList<ModelNode> AbstractView::selectedModelNodes() const QList<ModelNode> AbstractView::selectedModelNodes() const
{ {
return toModelNodeList(model()->d->selectedNodes()); return toModelNodeList(model()->d->selectedNodes());
} }

View File

@@ -187,7 +187,7 @@ bool InternalNode::hasAuxiliaryData(const PropertyName &name) const
return m_auxiliaryDataHash.contains(name); return m_auxiliaryDataHash.contains(name);
} }
QHash<PropertyName, QVariant> InternalNode::auxiliaryData() const const QHash<PropertyName, QVariant> &InternalNode::auxiliaryData() const
{ {
return m_auxiliaryDataHash; return m_auxiliaryDataHash;
} }

View File

@@ -84,7 +84,7 @@ public:
void setAuxiliaryData(const PropertyName &name, const QVariant &data); void setAuxiliaryData(const PropertyName &name, const QVariant &data);
void removeAuxiliaryData(const PropertyName &name); void removeAuxiliaryData(const PropertyName &name);
bool hasAuxiliaryData(const PropertyName &name) const; bool hasAuxiliaryData(const PropertyName &name) const;
QHash<PropertyName, QVariant> auxiliaryData() const; const QHash<PropertyName, QVariant> &auxiliaryData() const;
InternalProperty::Pointer property(const PropertyName &name) const; InternalProperty::Pointer property(const PropertyName &name) const;
InternalBindingProperty::Pointer bindingProperty(const PropertyName &name) const; InternalBindingProperty::Pointer bindingProperty(const PropertyName &name) const;

View File

@@ -106,9 +106,8 @@ ModelNode::ModelNode(ModelNode &&other)
ModelNode &ModelNode::operator=(ModelNode &&other) ModelNode &ModelNode::operator=(ModelNode &&other)
{ {
ModelNode newNode; ModelNode newNode = std::move(other);
swap(other, newNode);
swap(*this, newNode); swap(*this, newNode);
return *this; return *this;
@@ -800,19 +799,19 @@ The list contains every ModelNode that belongs to one of this ModelNodes
properties. properties.
\return a list of all ModelNodes that are direct children \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()); 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 Utils::filtered(directSubModelNodes(), [typeName](const ModelNode &node){
return node.metaInfo().isValid() && node.metaInfo().isSubclassOf(typeName); 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 Utils::filtered(allSubModelNodes(), [typeName](const ModelNode &node){
return node.metaInfo().isValid() && node.metaInfo().isSubclassOf(typeName); 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 \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()); return toModelNodeList(internalNode()->allSubNodes(), view());
} }
const QList<ModelNode> ModelNode::allSubModelNodesAndThisNode() const QList<ModelNode> ModelNode::allSubModelNodesAndThisNode() const
{ {
QList<ModelNode> modelNodeList; QList<ModelNode> modelNodeList;
modelNodeList.append(*this); modelNodeList.append(*this);
@@ -1065,7 +1064,7 @@ bool ModelNode::hasAuxiliaryData(const PropertyName &name) const
return internalNode()->hasAuxiliaryData(name); return internalNode()->hasAuxiliaryData(name);
} }
QHash<PropertyName, QVariant> ModelNode::auxiliaryData() const const QHash<PropertyName, QVariant> &ModelNode::auxiliaryData() const
{ {
if (!isValid()) if (!isValid())
throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__);

View File

@@ -141,7 +141,7 @@ int NodeAbstractProperty::count() const
return property->count(); return property->count();
} }
const QList<ModelNode> NodeAbstractProperty::allSubNodes() QList<ModelNode> NodeAbstractProperty::allSubNodes()
{ {
if (!internalNode() if (!internalNode()
|| !internalNode()->isValid() || !internalNode()->isValid()
@@ -153,7 +153,7 @@ const QList<ModelNode> NodeAbstractProperty::allSubNodes()
return QmlDesigner::toModelNodeList(property->allSubNodes(), view()); return QmlDesigner::toModelNodeList(property->allSubNodes(), view());
} }
const QList<ModelNode> NodeAbstractProperty::directSubNodes() const QList<ModelNode> NodeAbstractProperty::directSubNodes() const
{ {
if (!internalNode() if (!internalNode()
|| !internalNode()->isValid() || !internalNode()->isValid()

View File

@@ -63,7 +63,7 @@ static QList<ModelNode> internalNodesToModelNodes(const QList<Internal::Internal
return modelNodeList; return modelNodeList;
} }
const QList<ModelNode> NodeListProperty::toModelNodeList() const QList<ModelNode> NodeListProperty::toModelNodeList() const
{ {
if (!isValid()) if (!isValid())
throw InvalidPropertyException(__LINE__, __FUNCTION__, __FILE__, "<invalid node list property>"); throw InvalidPropertyException(__LINE__, __FUNCTION__, __FILE__, "<invalid node list property>");
@@ -77,7 +77,7 @@ const QList<ModelNode> NodeListProperty::toModelNodeList() const
return QList<ModelNode>(); return QList<ModelNode>();
} }
const QList<QmlObjectNode> NodeListProperty::toQmlObjectNodeList() const QList<QmlObjectNode> NodeListProperty::toQmlObjectNodeList() const
{ {
if (model()->nodeInstanceView()) if (model()->nodeInstanceView())
return QList<QmlObjectNode>(); return QList<QmlObjectNode>();

View File

@@ -718,7 +718,7 @@ ModelNode QmlFlowViewNode::addTransition(const QmlFlowTargetNode &from, const Qm
return transition; return transition;
} }
const QList<ModelNode> QmlFlowViewNode::transitions() const QList<ModelNode> QmlFlowViewNode::transitions() const
{ {
if (modelNode().nodeListProperty("flowTransitions").isValid()) if (modelNode().nodeListProperty("flowTransitions").isValid())
return modelNode().nodeListProperty("flowTransitions").toModelNodeList(); return modelNode().nodeListProperty("flowTransitions").toModelNodeList();
@@ -726,7 +726,7 @@ const QList<ModelNode> QmlFlowViewNode::transitions() const
return {}; return {};
} }
const QList<ModelNode> QmlFlowViewNode::wildcards() const QList<ModelNode> QmlFlowViewNode::wildcards() const
{ {
if (modelNode().nodeListProperty("flowWildcards").isValid()) if (modelNode().nodeListProperty("flowWildcards").isValid())
return modelNode().nodeListProperty("flowWildcards").toModelNodeList(); return modelNode().nodeListProperty("flowWildcards").toModelNodeList();
@@ -734,7 +734,7 @@ const QList<ModelNode> QmlFlowViewNode::wildcards() const
return {}; return {};
} }
const QList<ModelNode> QmlFlowViewNode::decicions() const QList<ModelNode> QmlFlowViewNode::decicions() const
{ {
if (modelNode().nodeListProperty("flowDecisions").isValid()) if (modelNode().nodeListProperty("flowDecisions").isValid())
return modelNode().nodeListProperty("flowDecisions").toModelNodeList(); return modelNode().nodeListProperty("flowDecisions").toModelNodeList();

View File

@@ -255,12 +255,12 @@ qreal QmlTimelineKeyframeGroup::maxActualKeyframe() const
return max; return max;
} }
const QList<ModelNode> QmlTimelineKeyframeGroup::keyframes() const QList<ModelNode> QmlTimelineKeyframeGroup::keyframes() const
{ {
return modelNode().defaultNodeListProperty().toModelNodeList(); return modelNode().defaultNodeListProperty().toModelNodeList();
} }
const QList<ModelNode> QmlTimelineKeyframeGroup::keyframePositions() const QList<ModelNode> QmlTimelineKeyframeGroup::keyframePositions() const
{ {
QList<ModelNode> returnValues; QList<ModelNode> returnValues;
for (const ModelNode &childNode : modelNode().defaultNodeListProperty().toModelNodeList()) { for (const ModelNode &childNode : modelNode().defaultNodeListProperty().toModelNodeList()) {