diff options
author | Artem Sokolovskii <artem.sokolovskii@qt.io> | 2022-12-20 13:23:39 +0100 |
---|---|---|
committer | Artem Sokolovskii <artem.sokolovskii@qt.io> | 2023-01-03 14:45:31 +0000 |
commit | d2f1ac542f077ca3518a611f3246d5731d678231 (patch) | |
tree | e83a2f777a242cc5509136b2da57de5c18eadf89 /src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp | |
parent | e1ae96647d60a262244fbfb8dd43485361d55e74 (diff) | |
download | qt-creator-d2f1ac542f077ca3518a611f3246d5731d678231.tar.gz |
modelinglib: Remove foreach usage part 2
Change-Id: Ia898cc019a0534a97d20a3dc48e69c6617773766
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Diffstat (limited to 'src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp')
-rw-r--r-- | src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp b/src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp index 5c65094859..61a9d6e904 100644 --- a/src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp +++ b/src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp @@ -184,7 +184,7 @@ public: ~AddElementsCommand() override { - foreach (const Clone &clone, m_clonedElements) + for (const Clone &clone : std::as_const(m_clonedElements)) delete clone.m_clonedElement; } @@ -314,7 +314,7 @@ public: ~RemoveElementsCommand() override { - foreach (const Clone &clone, m_clonedElements) + for (const Clone &clone : std::as_const(m_clonedElements)) delete clone.m_clonedElement; } @@ -722,8 +722,8 @@ void ModelController::finishUpdateObject(MObject *object, bool cancelled) if (!m_isResettingModel) { emit endUpdateObject(row, parent); if (!cancelled) { - QList<MRelation *> relations = findRelationsOfObject(object); - foreach (MRelation *relation, relations) + const QList<MRelation *> relations = findRelationsOfObject(object); + for (MRelation *relation : relations) emit relationEndChanged(relation, object); if (auto package = dynamic_cast<MPackage *>(object)) { if (m_oldPackageName != package->name()) @@ -892,7 +892,8 @@ MContainer ModelController::copyElements(const MSelection &modelSelection) { MReferences simplifiedSelection = simplify(modelSelection); MContainer copiedElements; - foreach (MElement *element, simplifiedSelection.elements()) { + const QList<MElement *> elements = simplifiedSelection.elements(); + for (MElement *element : elements) { MCloneDeepVisitor visitor; element->accept(&visitor); MElement *clonedElement = visitor.cloned(); @@ -906,7 +907,8 @@ void ModelController::pasteElements(MObject *owner, const MReferences &modelCont // clone all elements and renew their keys QHash<Uid, Uid> renewedKeys; QList<MElement *> clonedElements; - foreach (MElement *element, modelContainer.elements()) { + const QList<MElement *> elements = modelContainer.elements(); + for (MElement *element : elements) { if (option == PasteAlwaysWithNewKeys || option == PasteAlwaysAndKeepKeys || !findElement(element->uid())) { MCloneDeepVisitor visitor; element->accept(&visitor); @@ -917,13 +919,13 @@ void ModelController::pasteElements(MObject *owner, const MReferences &modelCont } } // fix all keys referencing between pasting elements - foreach (MElement *clonedElement, clonedElements) + for (MElement *clonedElement : std::as_const(clonedElements)) updateRelationKeys(clonedElement, renewedKeys); if (m_undoController) m_undoController->beginMergeSequence(tr("Paste")); // insert all elements bool added = false; - foreach (MElement *clonedElement, clonedElements) { + for (MElement *clonedElement : std::as_const(clonedElements)) { if (auto object = dynamic_cast<MObject *>(clonedElement)) { MObject *objectOwner = owner; if (!dynamic_cast<MPackage*>(owner)) @@ -974,7 +976,8 @@ void ModelController::deleteElements(const MSelection &modelSelection, const QSt if (m_undoController) m_undoController->beginMergeSequence(commandLabel); bool removed = false; - foreach (MElement *element, simplifiedSelection.elements()) { + const QList<MElement *> elements = simplifiedSelection.elements(); + for (MElement *element : elements) { // element may have been deleted indirectly by predecessor element in loop if ((element = findElement(element->uid()))) { if (auto object = dynamic_cast<MObject *>(element)) { @@ -1018,7 +1021,8 @@ void ModelController::deleteElements(const MSelection &modelSelection, const QSt void ModelController::removeRelatedRelations(MObject *object) { - foreach (MRelation *relation, m_objectRelationsMap.values(object->uid())) + const QList<MRelation *> relations = m_objectRelationsMap.values(object->uid()); + for (MRelation *relation : relations) removeRelation(relation); QMT_CHECK(m_objectRelationsMap.values(object->uid()).isEmpty()); } @@ -1126,7 +1130,8 @@ MReferences ModelController::simplify(const MSelection &modelSelection) { // PERFORM improve performance by using a set of Uid build from modelSelection MReferences references; - foreach (const MSelection::Index &index, modelSelection.indices()) { + const QList<MSelection::Index> indices = modelSelection.indices(); + for (const MSelection::Index &index : indices) { MElement *element = findElement(index.elementKey()); QMT_ASSERT(element, return MReferences()); // if any (grand-)parent of element is in modelSelection then ignore element @@ -1134,8 +1139,8 @@ MReferences ModelController::simplify(const MSelection &modelSelection) MObject *owner = element->owner(); while (owner) { Uid ownerKey = owner->uid(); - foreach (const MSelection::Index &index, modelSelection.indices()) { - if (index.elementKey() == ownerKey) { + for (const MSelection::Index &otherIndex : indices) { + if (otherIndex.elementKey() == ownerKey) { ignore = true; break; } @@ -1162,13 +1167,13 @@ void ModelController::verifyModelIntegrity() const verifyModelIntegrity(m_rootPackage, &objectsMap, &relationsMap, &objectRelationsMap); QMT_ASSERT(objectsMap.size() == m_objectsMap.size(), return); - foreach (const MObject *object, m_objectsMap) { + for (const MObject *object : m_objectsMap) { QMT_ASSERT(object, return); QMT_ASSERT(m_objectsMap.contains(object->uid()), return); QMT_ASSERT(objectsMap.contains(object->uid()), return); } QMT_ASSERT(relationsMap.size() == m_relationsMap.size(), return); - foreach (const MRelation *relation, m_relationsMap) { + for (const MRelation *relation : m_relationsMap) { QMT_ASSERT(relation, return); QMT_ASSERT(m_relationsMap.contains(relation->uid()), return); QMT_ASSERT(relationsMap.contains(relation->uid()), return); |