From 32216652a855eef76a72ad3b042fbac8cbfd0a63 Mon Sep 17 00:00:00 2001 From: Artem Sokolovskii Date: Thu, 2 Jun 2022 14:05:32 +0200 Subject: [PATCH] modeleditor: Remove foreach / Q_FOREACH usage Task-number: QTCREATORBUG-27464 Change-Id: I252bd537d766a65b8ceb95b32d652f462f89d188 Reviewed-by: Christian Kandeler Reviewed-by: --- .../modeleditor/componentviewcontroller.cpp | 16 ++++++++----- src/plugins/modeleditor/elementtasks.cpp | 11 +++++---- src/plugins/modeleditor/modeleditor.cpp | 24 +++++++++++-------- src/plugins/modeleditor/modelindexer.cpp | 12 ++++++---- src/plugins/modeleditor/modelsmanager.cpp | 8 +++---- src/plugins/modeleditor/modelutilities.cpp | 2 +- src/plugins/modeleditor/pxnodecontroller.cpp | 5 ++-- 7 files changed, 46 insertions(+), 32 deletions(-) diff --git a/src/plugins/modeleditor/componentviewcontroller.cpp b/src/plugins/modeleditor/componentviewcontroller.cpp index 1a3c4f0f0ac..11428e64de0 100644 --- a/src/plugins/modeleditor/componentviewcontroller.cpp +++ b/src/plugins/modeleditor/componentviewcontroller.cpp @@ -168,11 +168,12 @@ void UpdateIncludeDependenciesVisitor::visitMComponent(qmt::MComponent *componen CppEditor::CppModelManager *cppModelManager = CppEditor::CppModelManager::instance(); CPlusPlus::Snapshot snapshot = cppModelManager->snapshot(); - QStringList filePaths = findFilePathOfComponent(component); - foreach (const QString &filePath, filePaths) { + const QStringList filePaths = findFilePathOfComponent(component); + for (const QString &filePath : filePaths) { CPlusPlus::Document::Ptr document = snapshot.document(filePath); if (document) { - foreach (const CPlusPlus::Document::Include &include, document->resolvedIncludes()) { + const QList includes = document->resolvedIncludes(); + for (const CPlusPlus::Document::Include &include : includes) { QString includeFilePath = include.resolvedFileName(); // replace proxy header with real one CPlusPlus::Document::Ptr includeDocument = snapshot.document(includeFilePath); @@ -214,7 +215,8 @@ QStringList UpdateIncludeDependenciesVisitor::findFilePathOfComponent(const qmt: } QStringList bestFilePaths; int maxPathLength = 1; - foreach (const Node &node, m_filePaths.values(component->name())) { + const QList nodes = m_filePaths.values(component->name()); + for (const Node &node : nodes) { int i = elementPath.size() - 1; int j = node.m_elementPath.size() - 1; while (i >= 0 && j >= 0 && elementPath.at(i) == node.m_elementPath.at(j)) { @@ -235,14 +237,16 @@ QStringList UpdateIncludeDependenciesVisitor::findFilePathOfComponent(const qmt: void UpdateIncludeDependenciesVisitor::collectElementPaths(const ProjectExplorer::FolderNode *folderNode, QMultiHash *filePathsMap) { - foreach (const ProjectExplorer::FileNode *fileNode, folderNode->fileNodes()) { + const QList fileNodes = folderNode->fileNodes(); + for (const ProjectExplorer::FileNode *fileNode : fileNodes) { QString elementName = qmt::NameController::convertFileNameToElementName(fileNode->filePath().toString()); QFileInfo fileInfo = fileNode->filePath().toFileInfo(); QString nodePath = fileInfo.path(); QStringList elementsPath = qmt::NameController::buildElementsPath(nodePath, false); filePathsMap->insert(elementName, Node(fileNode->filePath().toString(), elementsPath)); } - foreach (const ProjectExplorer::FolderNode *subNode, folderNode->folderNodes()) + const QList subNodes = folderNode->folderNodes(); + for (const ProjectExplorer::FolderNode *subNode : subNodes) collectElementPaths(subNode, filePathsMap); } diff --git a/src/plugins/modeleditor/elementtasks.cpp b/src/plugins/modeleditor/elementtasks.cpp index 82cad867fd5..0672d7d43d2 100644 --- a/src/plugins/modeleditor/elementtasks.cpp +++ b/src/plugins/modeleditor/elementtasks.cpp @@ -114,9 +114,9 @@ bool ElementTasks::hasClassDefinition(const qmt::MElement *element) const return false; QFutureInterface dummyInterface; - QList matches = classesFilter->matchesFor(dummyInterface, - qualifiedClassName); - foreach (const Core::LocatorFilterEntry &entry, matches) { + const QList matches + = classesFilter->matchesFor(dummyInterface, qualifiedClassName); + for (const Core::LocatorFilterEntry &entry : matches) { CppEditor::IndexItem::Ptr info = qvariant_cast(entry.internalData); if (info->scopedSymbolName() != qualifiedClassName) continue; @@ -151,8 +151,9 @@ void ElementTasks::openClassDefinition(const qmt::MElement *element) return; QFutureInterface dummyInterface; - QList matches = classesFilter->matchesFor(dummyInterface, qualifiedClassName); - foreach (const Core::LocatorFilterEntry &entry, matches) { + const QList matches + = classesFilter->matchesFor(dummyInterface, qualifiedClassName); + for (const Core::LocatorFilterEntry &entry : matches) { CppEditor::IndexItem::Ptr info = qvariant_cast(entry.internalData); if (info->scopedSymbolName() != qualifiedClassName) continue; diff --git a/src/plugins/modeleditor/modeleditor.cpp b/src/plugins/modeleditor/modeleditor.cpp index 286e5b560f0..9c641ddb171 100644 --- a/src/plugins/modeleditor/modeleditor.cpp +++ b/src/plugins/modeleditor/modeleditor.cpp @@ -745,7 +745,8 @@ void ModelEditor::updateSelectedArea(SelectedArea selectedArea) if (hasSelection) { qmt::DSelection selection = documentController->diagramsManager()->diagramSceneModel(activeDiagram)->selectedElements(); if (!selection.isEmpty()) { - foreach (qmt::DSelection::Index index, selection.indices()) { + const QList indexes = selection.indices(); + for (qmt::DSelection::Index index : indexes) { qmt::DElement *diagramElement = documentController->diagramController()->findElement(index.elementKey(), activeDiagram); if (diagramElement) propertiesDiagramElements.append(diagramElement); @@ -765,9 +766,9 @@ void ModelEditor::updateSelectedArea(SelectedArea selectedArea) canPaste = hasSingleSelection && !modelsManager->isModelClipboardEmpty(); canSelectAll = activeDiagram && !activeDiagram->diagramElements().isEmpty(); canExportDiagram = activeDiagram != nullptr; - QModelIndexList indexes = d->modelTreeView->selectedSourceModelIndexes(); + const QModelIndexList indexes = d->modelTreeView->selectedSourceModelIndexes(); if (!indexes.isEmpty()) { - foreach (const QModelIndex &propertiesIndex, indexes) { + for (const QModelIndex &propertiesIndex : indexes) { if (propertiesIndex.isValid()) { qmt::MElement *modelElement = documentController->treeModel()->element(propertiesIndex); if (modelElement) @@ -1065,7 +1066,7 @@ void ModelEditor::initToolbars() QList toolbars = stereotypeController->toolbars(); std::stable_sort(toolbars.begin(), toolbars.end(), [=](const qmt::Toolbar &lhs, const qmt::Toolbar &rhs) { return lhs.priority() > rhs.priority(); }); - foreach (const qmt::Toolbar &toolbar, toolbars) { + for (const qmt::Toolbar &toolbar : qAsConst(toolbars)) { QWidget *toolBar = toolBars.value(toolbar.id()); QLayout *toolBarLayout = nullptr; if (!toolBar) { @@ -1081,7 +1082,8 @@ void ModelEditor::initToolbars() toolBarLayout = toolBar->layout(); QMT_ASSERT(toolBarLayout, continue); } - foreach (const qmt::Toolbar::Tool &tool, toolbar.tools()) { + const QList tools = toolbar.tools(); + for (const qmt::Toolbar::Tool &tool : tools) { switch (tool.m_toolType) { case qmt::Toolbar::TooltypeTool: { @@ -1193,7 +1195,7 @@ void ModelEditor::initToolbars() // add stretch to all layouts and calculate width of tool bar int maxWidth = 48; - foreach (QWidget *toolBar, toolBars) { + for (QWidget *toolBar : qAsConst(toolBars)) { QMT_ASSERT(toolBar, continue); auto layout = qobject_cast(toolBar->layout()); QMT_ASSERT(layout, continue); @@ -1442,13 +1444,14 @@ void ModelEditor::synchronizeDiagramWithBrowser() if (currentDiagram()) { bool done = false; qmt::DocumentController *documentController = d->document->documentController(); - QModelIndexList indexes = d->modelTreeView->selectedSourceModelIndexes(); + const QModelIndexList indexes = d->modelTreeView->selectedSourceModelIndexes(); if (!indexes.isEmpty()) { - foreach (const QModelIndex &index, indexes) { + for (const QModelIndex &index : indexes) { if (index.isValid()) { qmt::MElement *modelElement = documentController->treeModel()->element(index); if (modelElement) { - foreach (qmt::DElement *diagramElement, currentDiagram()->diagramElements()) { + const QList diagramElements = currentDiagram()->diagramElements(); + for (qmt::DElement *diagramElement : diagramElements) { if (diagramElement->modelUid() == modelElement->uid()) { // disconnect temporarily avoiding double update of properties Ui disconnect(documentController->diagramsManager(), &qmt::DiagramsManager::diagramSelectionChanged, @@ -1479,7 +1482,8 @@ void ModelEditor::synchronizeBrowserWithDiagram(const qmt::MDiagram *diagram) qmt::DocumentController *documentController = d->document->documentController(); qmt::DSelection selection = documentController->diagramsManager()->diagramSceneModel(diagram)->selectedElements(); if (!selection.isEmpty()) { - foreach (qmt::DSelection::Index index, selection.indices()) { + const QList indexes = selection.indices(); + for (qmt::DSelection::Index index : indexes) { qmt::DElement *diagramElement = documentController->diagramController()->findElement(index.elementKey(), diagram); if (diagramElement) { qmt::MElement *modelElement = documentController->modelController()->findElement(diagramElement->modelUid()); diff --git a/src/plugins/modeleditor/modelindexer.cpp b/src/plugins/modeleditor/modelindexer.cpp index 622e7204cb3..322a873f86b 100644 --- a/src/plugins/modeleditor/modelindexer.cpp +++ b/src/plugins/modeleditor/modelindexer.cpp @@ -431,13 +431,15 @@ void ModelIndexer::scanProject(ProjectExplorer::Project *project) } // remove deleted files from indexed models - foreach (const QString &file, d->indexedModels.keys()) { + const QStringList files = d->indexedModels.keys(); + for (const QString &file : files) { if (!filesSet.contains(QueuedFile(file, project))) removeModelFile(file, project); } // remove deleted files from indexed diagrams - foreach (const QString &file, d->indexedDiagramReferences.keys()) { + const QStringList deletedFiles = d->indexedDiagramReferences.keys(); + for (const QString &file : deletedFiles) { if (!filesSet.contains(QueuedFile(file, project))) removeDiagramReferenceFile(file, project); } @@ -468,11 +470,13 @@ QString ModelIndexer::findFirstModel(ProjectExplorer::FolderNode *folderNode, { if (!mimeType.isValid()) return QString(); - foreach (ProjectExplorer::FileNode *fileNode, folderNode->fileNodes()) { + const QList fileNodes = folderNode->fileNodes(); + for (const ProjectExplorer::FileNode *fileNode : fileNodes) { if (mimeType.suffixes().contains(fileNode->filePath().completeSuffix())) return fileNode->filePath().toString(); } - foreach (ProjectExplorer::FolderNode *subFolderNode, folderNode->folderNodes()) { + const QList subFolderNodes = folderNode->folderNodes(); + for (ProjectExplorer::FolderNode *subFolderNode : subFolderNodes) { QString modelFileName = findFirstModel(subFolderNode, mimeType); if (!modelFileName.isEmpty()) return modelFileName; diff --git a/src/plugins/modeleditor/modelsmanager.cpp b/src/plugins/modeleditor/modelsmanager.cpp index a4a2a1e3da5..09375871765 100644 --- a/src/plugins/modeleditor/modelsmanager.cpp +++ b/src/plugins/modeleditor/modelsmanager.cpp @@ -167,7 +167,7 @@ void ModelsManager::releaseModel(ExtDocumentController *documentController) void ModelsManager::openDiagram(const qmt::Uid &modelUid, const qmt::Uid &diagramUid) { - foreach (const ManagedModel &managedModel, d->managedModels) { + for (const ManagedModel &managedModel : qAsConst(d->managedModels)) { if (managedModel.m_documentController->projectController()->project()->uid() == modelUid) { qmt::MDiagram *diagram = managedModel.m_documentController->modelController()->findObject(diagramUid); QMT_ASSERT(diagram, continue); @@ -230,7 +230,7 @@ void ModelsManager::onAboutToShowContextMenu(ProjectExplorer::Node *node) { bool canOpenDiagram = false; - foreach (const ManagedModel &managedModel, d->managedModels) { + for (const ManagedModel &managedModel : qAsConst(d->managedModels)) { if (managedModel.m_documentController->pxNodeController()->hasDiagramForExplorerNode(node)) { canOpenDiagram = true; break; @@ -248,7 +248,7 @@ void ModelsManager::onOpenDiagramFromProjectExplorer() { if (ProjectExplorer::ProjectTree::currentNode() == d->contextMenuOwnerNode) { qmt::MDiagram *diagram = nullptr; - foreach (const ManagedModel &managedModel, d->managedModels) { + for (const ManagedModel &managedModel : qAsConst(d->managedModels)) { if ((diagram = managedModel.m_documentController->pxNodeController()->findDiagramForExplorerNode(d->contextMenuOwnerNode))) { openDiagram(managedModel.m_documentController, diagram); break; @@ -267,7 +267,7 @@ void ModelsManager::onOpenDefaultModel(const qmt::Uid &modelUid) void ModelsManager::openDiagram(ExtDocumentController *documentController, qmt::MDiagram *diagram) { - foreach (const ManagedModel &managedModel, d->managedModels) { + for (const ManagedModel &managedModel : qAsConst(d->managedModels)) { if (managedModel.m_documentController == documentController) { Core::IEditor *editor = Core::EditorManager::activateEditorForDocument(managedModel.m_modelDocument); if (auto modelEditor = qobject_cast(editor)) { diff --git a/src/plugins/modeleditor/modelutilities.cpp b/src/plugins/modeleditor/modelutilities.cpp index 58c8d7d851d..2232d837df1 100644 --- a/src/plugins/modeleditor/modelutilities.cpp +++ b/src/plugins/modeleditor/modelutilities.cpp @@ -74,7 +74,7 @@ bool ModelUtilities::haveDependency(const qmt::MObject *source, bool ModelUtilities::haveDependency(const qmt::MObject *source, const QList &targets) { - foreach (const qmt::MPackage *target, targets) { + for (const qmt::MPackage *target : targets) { if (haveDependency(source, target)) return true; } diff --git a/src/plugins/modeleditor/pxnodecontroller.cpp b/src/plugins/modeleditor/pxnodecontroller.cpp index fba2f1c8cab..5761b727152 100644 --- a/src/plugins/modeleditor/pxnodecontroller.cpp +++ b/src/plugins/modeleditor/pxnodecontroller.cpp @@ -156,11 +156,12 @@ void PxNodeController::addFileSystemEntry(const QString &filePath, int line, int auto menu = new QMenu; menu->addAction(new MenuAction(tr("Add Component %1").arg(elementName), elementName, MenuAction::TYPE_ADD_COMPONENT, menu)); - QStringList classNames = Utils::toList(d->classViewController->findClassDeclarations(filePath, line, column)); + const QStringList classNames = Utils::toList( + d->classViewController->findClassDeclarations(filePath, line, column)); if (!classNames.empty()) { menu->addSeparator(); int index = 0; - foreach (const QString &className, classNames) { + for (const QString &className : classNames) { auto action = new MenuAction(tr("Add Class %1").arg(className), elementName, MenuAction::TYPE_ADD_CLASS, index, menu); action->className = className;