modeleditor: Remove foreach / Q_FOREACH usage

Task-number: QTCREATORBUG-27464
Change-Id: I252bd537d766a65b8ceb95b32d652f462f89d188
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
Artem Sokolovskii
2022-06-02 14:05:32 +02:00
parent 30e60e9979
commit 32216652a8
7 changed files with 46 additions and 32 deletions

View File

@@ -168,11 +168,12 @@ void UpdateIncludeDependenciesVisitor::visitMComponent(qmt::MComponent *componen
CppEditor::CppModelManager *cppModelManager = CppEditor::CppModelManager::instance(); CppEditor::CppModelManager *cppModelManager = CppEditor::CppModelManager::instance();
CPlusPlus::Snapshot snapshot = cppModelManager->snapshot(); CPlusPlus::Snapshot snapshot = cppModelManager->snapshot();
QStringList filePaths = findFilePathOfComponent(component); const QStringList filePaths = findFilePathOfComponent(component);
foreach (const QString &filePath, filePaths) { for (const QString &filePath : filePaths) {
CPlusPlus::Document::Ptr document = snapshot.document(filePath); CPlusPlus::Document::Ptr document = snapshot.document(filePath);
if (document) { if (document) {
foreach (const CPlusPlus::Document::Include &include, document->resolvedIncludes()) { const QList<CPlusPlus::Document::Include> includes = document->resolvedIncludes();
for (const CPlusPlus::Document::Include &include : includes) {
QString includeFilePath = include.resolvedFileName(); QString includeFilePath = include.resolvedFileName();
// replace proxy header with real one // replace proxy header with real one
CPlusPlus::Document::Ptr includeDocument = snapshot.document(includeFilePath); CPlusPlus::Document::Ptr includeDocument = snapshot.document(includeFilePath);
@@ -214,7 +215,8 @@ QStringList UpdateIncludeDependenciesVisitor::findFilePathOfComponent(const qmt:
} }
QStringList bestFilePaths; QStringList bestFilePaths;
int maxPathLength = 1; int maxPathLength = 1;
foreach (const Node &node, m_filePaths.values(component->name())) { const QList<Node> nodes = m_filePaths.values(component->name());
for (const Node &node : nodes) {
int i = elementPath.size() - 1; int i = elementPath.size() - 1;
int j = node.m_elementPath.size() - 1; int j = node.m_elementPath.size() - 1;
while (i >= 0 && j >= 0 && elementPath.at(i) == node.m_elementPath.at(j)) { 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, void UpdateIncludeDependenciesVisitor::collectElementPaths(const ProjectExplorer::FolderNode *folderNode,
QMultiHash<QString, Node> *filePathsMap) QMultiHash<QString, Node> *filePathsMap)
{ {
foreach (const ProjectExplorer::FileNode *fileNode, folderNode->fileNodes()) { const QList<ProjectExplorer::FileNode *> fileNodes = folderNode->fileNodes();
for (const ProjectExplorer::FileNode *fileNode : fileNodes) {
QString elementName = qmt::NameController::convertFileNameToElementName(fileNode->filePath().toString()); QString elementName = qmt::NameController::convertFileNameToElementName(fileNode->filePath().toString());
QFileInfo fileInfo = fileNode->filePath().toFileInfo(); QFileInfo fileInfo = fileNode->filePath().toFileInfo();
QString nodePath = fileInfo.path(); QString nodePath = fileInfo.path();
QStringList elementsPath = qmt::NameController::buildElementsPath(nodePath, false); QStringList elementsPath = qmt::NameController::buildElementsPath(nodePath, false);
filePathsMap->insert(elementName, Node(fileNode->filePath().toString(), elementsPath)); filePathsMap->insert(elementName, Node(fileNode->filePath().toString(), elementsPath));
} }
foreach (const ProjectExplorer::FolderNode *subNode, folderNode->folderNodes()) const QList<ProjectExplorer::FolderNode *> subNodes = folderNode->folderNodes();
for (const ProjectExplorer::FolderNode *subNode : subNodes)
collectElementPaths(subNode, filePathsMap); collectElementPaths(subNode, filePathsMap);
} }

View File

@@ -114,9 +114,9 @@ bool ElementTasks::hasClassDefinition(const qmt::MElement *element) const
return false; return false;
QFutureInterface<Core::LocatorFilterEntry> dummyInterface; QFutureInterface<Core::LocatorFilterEntry> dummyInterface;
QList<Core::LocatorFilterEntry> matches = classesFilter->matchesFor(dummyInterface, const QList<Core::LocatorFilterEntry> matches
qualifiedClassName); = classesFilter->matchesFor(dummyInterface, qualifiedClassName);
foreach (const Core::LocatorFilterEntry &entry, matches) { for (const Core::LocatorFilterEntry &entry : matches) {
CppEditor::IndexItem::Ptr info = qvariant_cast<CppEditor::IndexItem::Ptr>(entry.internalData); CppEditor::IndexItem::Ptr info = qvariant_cast<CppEditor::IndexItem::Ptr>(entry.internalData);
if (info->scopedSymbolName() != qualifiedClassName) if (info->scopedSymbolName() != qualifiedClassName)
continue; continue;
@@ -151,8 +151,9 @@ void ElementTasks::openClassDefinition(const qmt::MElement *element)
return; return;
QFutureInterface<Core::LocatorFilterEntry> dummyInterface; QFutureInterface<Core::LocatorFilterEntry> dummyInterface;
QList<Core::LocatorFilterEntry> matches = classesFilter->matchesFor(dummyInterface, qualifiedClassName); const QList<Core::LocatorFilterEntry> matches
foreach (const Core::LocatorFilterEntry &entry, matches) { = classesFilter->matchesFor(dummyInterface, qualifiedClassName);
for (const Core::LocatorFilterEntry &entry : matches) {
CppEditor::IndexItem::Ptr info = qvariant_cast<CppEditor::IndexItem::Ptr>(entry.internalData); CppEditor::IndexItem::Ptr info = qvariant_cast<CppEditor::IndexItem::Ptr>(entry.internalData);
if (info->scopedSymbolName() != qualifiedClassName) if (info->scopedSymbolName() != qualifiedClassName)
continue; continue;

View File

@@ -745,7 +745,8 @@ void ModelEditor::updateSelectedArea(SelectedArea selectedArea)
if (hasSelection) { if (hasSelection) {
qmt::DSelection selection = documentController->diagramsManager()->diagramSceneModel(activeDiagram)->selectedElements(); qmt::DSelection selection = documentController->diagramsManager()->diagramSceneModel(activeDiagram)->selectedElements();
if (!selection.isEmpty()) { if (!selection.isEmpty()) {
foreach (qmt::DSelection::Index index, selection.indices()) { const QList<qmt::DSelection::Index> indexes = selection.indices();
for (qmt::DSelection::Index index : indexes) {
qmt::DElement *diagramElement = documentController->diagramController()->findElement(index.elementKey(), activeDiagram); qmt::DElement *diagramElement = documentController->diagramController()->findElement(index.elementKey(), activeDiagram);
if (diagramElement) if (diagramElement)
propertiesDiagramElements.append(diagramElement); propertiesDiagramElements.append(diagramElement);
@@ -765,9 +766,9 @@ void ModelEditor::updateSelectedArea(SelectedArea selectedArea)
canPaste = hasSingleSelection && !modelsManager->isModelClipboardEmpty(); canPaste = hasSingleSelection && !modelsManager->isModelClipboardEmpty();
canSelectAll = activeDiagram && !activeDiagram->diagramElements().isEmpty(); canSelectAll = activeDiagram && !activeDiagram->diagramElements().isEmpty();
canExportDiagram = activeDiagram != nullptr; canExportDiagram = activeDiagram != nullptr;
QModelIndexList indexes = d->modelTreeView->selectedSourceModelIndexes(); const QModelIndexList indexes = d->modelTreeView->selectedSourceModelIndexes();
if (!indexes.isEmpty()) { if (!indexes.isEmpty()) {
foreach (const QModelIndex &propertiesIndex, indexes) { for (const QModelIndex &propertiesIndex : indexes) {
if (propertiesIndex.isValid()) { if (propertiesIndex.isValid()) {
qmt::MElement *modelElement = documentController->treeModel()->element(propertiesIndex); qmt::MElement *modelElement = documentController->treeModel()->element(propertiesIndex);
if (modelElement) if (modelElement)
@@ -1065,7 +1066,7 @@ void ModelEditor::initToolbars()
QList<qmt::Toolbar> toolbars = stereotypeController->toolbars(); QList<qmt::Toolbar> toolbars = stereotypeController->toolbars();
std::stable_sort(toolbars.begin(), toolbars.end(), std::stable_sort(toolbars.begin(), toolbars.end(),
[=](const qmt::Toolbar &lhs, const qmt::Toolbar &rhs) { return lhs.priority() > rhs.priority(); }); [=](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()); QWidget *toolBar = toolBars.value(toolbar.id());
QLayout *toolBarLayout = nullptr; QLayout *toolBarLayout = nullptr;
if (!toolBar) { if (!toolBar) {
@@ -1081,7 +1082,8 @@ void ModelEditor::initToolbars()
toolBarLayout = toolBar->layout(); toolBarLayout = toolBar->layout();
QMT_ASSERT(toolBarLayout, continue); QMT_ASSERT(toolBarLayout, continue);
} }
foreach (const qmt::Toolbar::Tool &tool, toolbar.tools()) { const QList<qmt::Toolbar::Tool> tools = toolbar.tools();
for (const qmt::Toolbar::Tool &tool : tools) {
switch (tool.m_toolType) { switch (tool.m_toolType) {
case qmt::Toolbar::TooltypeTool: case qmt::Toolbar::TooltypeTool:
{ {
@@ -1193,7 +1195,7 @@ void ModelEditor::initToolbars()
// add stretch to all layouts and calculate width of tool bar // add stretch to all layouts and calculate width of tool bar
int maxWidth = 48; int maxWidth = 48;
foreach (QWidget *toolBar, toolBars) { for (QWidget *toolBar : qAsConst(toolBars)) {
QMT_ASSERT(toolBar, continue); QMT_ASSERT(toolBar, continue);
auto layout = qobject_cast<QBoxLayout *>(toolBar->layout()); auto layout = qobject_cast<QBoxLayout *>(toolBar->layout());
QMT_ASSERT(layout, continue); QMT_ASSERT(layout, continue);
@@ -1442,13 +1444,14 @@ void ModelEditor::synchronizeDiagramWithBrowser()
if (currentDiagram()) { if (currentDiagram()) {
bool done = false; bool done = false;
qmt::DocumentController *documentController = d->document->documentController(); qmt::DocumentController *documentController = d->document->documentController();
QModelIndexList indexes = d->modelTreeView->selectedSourceModelIndexes(); const QModelIndexList indexes = d->modelTreeView->selectedSourceModelIndexes();
if (!indexes.isEmpty()) { if (!indexes.isEmpty()) {
foreach (const QModelIndex &index, indexes) { for (const QModelIndex &index : indexes) {
if (index.isValid()) { if (index.isValid()) {
qmt::MElement *modelElement = documentController->treeModel()->element(index); qmt::MElement *modelElement = documentController->treeModel()->element(index);
if (modelElement) { if (modelElement) {
foreach (qmt::DElement *diagramElement, currentDiagram()->diagramElements()) { const QList<qmt::DElement *> diagramElements = currentDiagram()->diagramElements();
for (qmt::DElement *diagramElement : diagramElements) {
if (diagramElement->modelUid() == modelElement->uid()) { if (diagramElement->modelUid() == modelElement->uid()) {
// disconnect temporarily avoiding double update of properties Ui // disconnect temporarily avoiding double update of properties Ui
disconnect(documentController->diagramsManager(), &qmt::DiagramsManager::diagramSelectionChanged, disconnect(documentController->diagramsManager(), &qmt::DiagramsManager::diagramSelectionChanged,
@@ -1479,7 +1482,8 @@ void ModelEditor::synchronizeBrowserWithDiagram(const qmt::MDiagram *diagram)
qmt::DocumentController *documentController = d->document->documentController(); qmt::DocumentController *documentController = d->document->documentController();
qmt::DSelection selection = documentController->diagramsManager()->diagramSceneModel(diagram)->selectedElements(); qmt::DSelection selection = documentController->diagramsManager()->diagramSceneModel(diagram)->selectedElements();
if (!selection.isEmpty()) { if (!selection.isEmpty()) {
foreach (qmt::DSelection::Index index, selection.indices()) { const QList<qmt::DSelection::Index> indexes = selection.indices();
for (qmt::DSelection::Index index : indexes) {
qmt::DElement *diagramElement = documentController->diagramController()->findElement(index.elementKey(), diagram); qmt::DElement *diagramElement = documentController->diagramController()->findElement(index.elementKey(), diagram);
if (diagramElement) { if (diagramElement) {
qmt::MElement *modelElement = documentController->modelController()->findElement(diagramElement->modelUid()); qmt::MElement *modelElement = documentController->modelController()->findElement(diagramElement->modelUid());

View File

@@ -431,13 +431,15 @@ void ModelIndexer::scanProject(ProjectExplorer::Project *project)
} }
// remove deleted files from indexed models // 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))) if (!filesSet.contains(QueuedFile(file, project)))
removeModelFile(file, project); removeModelFile(file, project);
} }
// remove deleted files from indexed diagrams // 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))) if (!filesSet.contains(QueuedFile(file, project)))
removeDiagramReferenceFile(file, project); removeDiagramReferenceFile(file, project);
} }
@@ -468,11 +470,13 @@ QString ModelIndexer::findFirstModel(ProjectExplorer::FolderNode *folderNode,
{ {
if (!mimeType.isValid()) if (!mimeType.isValid())
return QString(); return QString();
foreach (ProjectExplorer::FileNode *fileNode, folderNode->fileNodes()) { const QList<ProjectExplorer::FileNode *> fileNodes = folderNode->fileNodes();
for (const ProjectExplorer::FileNode *fileNode : fileNodes) {
if (mimeType.suffixes().contains(fileNode->filePath().completeSuffix())) if (mimeType.suffixes().contains(fileNode->filePath().completeSuffix()))
return fileNode->filePath().toString(); return fileNode->filePath().toString();
} }
foreach (ProjectExplorer::FolderNode *subFolderNode, folderNode->folderNodes()) { const QList<ProjectExplorer::FolderNode *> subFolderNodes = folderNode->folderNodes();
for (ProjectExplorer::FolderNode *subFolderNode : subFolderNodes) {
QString modelFileName = findFirstModel(subFolderNode, mimeType); QString modelFileName = findFirstModel(subFolderNode, mimeType);
if (!modelFileName.isEmpty()) if (!modelFileName.isEmpty())
return modelFileName; return modelFileName;

View File

@@ -167,7 +167,7 @@ void ModelsManager::releaseModel(ExtDocumentController *documentController)
void ModelsManager::openDiagram(const qmt::Uid &modelUid, const qmt::Uid &diagramUid) 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) { if (managedModel.m_documentController->projectController()->project()->uid() == modelUid) {
qmt::MDiagram *diagram = managedModel.m_documentController->modelController()->findObject<qmt::MDiagram>(diagramUid); qmt::MDiagram *diagram = managedModel.m_documentController->modelController()->findObject<qmt::MDiagram>(diagramUid);
QMT_ASSERT(diagram, continue); QMT_ASSERT(diagram, continue);
@@ -230,7 +230,7 @@ void ModelsManager::onAboutToShowContextMenu(ProjectExplorer::Node *node)
{ {
bool canOpenDiagram = false; bool canOpenDiagram = false;
foreach (const ManagedModel &managedModel, d->managedModels) { for (const ManagedModel &managedModel : qAsConst(d->managedModels)) {
if (managedModel.m_documentController->pxNodeController()->hasDiagramForExplorerNode(node)) { if (managedModel.m_documentController->pxNodeController()->hasDiagramForExplorerNode(node)) {
canOpenDiagram = true; canOpenDiagram = true;
break; break;
@@ -248,7 +248,7 @@ void ModelsManager::onOpenDiagramFromProjectExplorer()
{ {
if (ProjectExplorer::ProjectTree::currentNode() == d->contextMenuOwnerNode) { if (ProjectExplorer::ProjectTree::currentNode() == d->contextMenuOwnerNode) {
qmt::MDiagram *diagram = nullptr; 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))) { if ((diagram = managedModel.m_documentController->pxNodeController()->findDiagramForExplorerNode(d->contextMenuOwnerNode))) {
openDiagram(managedModel.m_documentController, diagram); openDiagram(managedModel.m_documentController, diagram);
break; break;
@@ -267,7 +267,7 @@ void ModelsManager::onOpenDefaultModel(const qmt::Uid &modelUid)
void ModelsManager::openDiagram(ExtDocumentController *documentController, void ModelsManager::openDiagram(ExtDocumentController *documentController,
qmt::MDiagram *diagram) qmt::MDiagram *diagram)
{ {
foreach (const ManagedModel &managedModel, d->managedModels) { for (const ManagedModel &managedModel : qAsConst(d->managedModels)) {
if (managedModel.m_documentController == documentController) { if (managedModel.m_documentController == documentController) {
Core::IEditor *editor = Core::EditorManager::activateEditorForDocument(managedModel.m_modelDocument); Core::IEditor *editor = Core::EditorManager::activateEditorForDocument(managedModel.m_modelDocument);
if (auto modelEditor = qobject_cast<ModelEditor *>(editor)) { if (auto modelEditor = qobject_cast<ModelEditor *>(editor)) {

View File

@@ -74,7 +74,7 @@ bool ModelUtilities::haveDependency(const qmt::MObject *source,
bool ModelUtilities::haveDependency(const qmt::MObject *source, bool ModelUtilities::haveDependency(const qmt::MObject *source,
const QList<qmt::MPackage *> &targets) const QList<qmt::MPackage *> &targets)
{ {
foreach (const qmt::MPackage *target, targets) { for (const qmt::MPackage *target : targets) {
if (haveDependency(source, target)) if (haveDependency(source, target))
return true; return true;
} }

View File

@@ -156,11 +156,12 @@ void PxNodeController::addFileSystemEntry(const QString &filePath, int line, int
auto menu = new QMenu; auto menu = new QMenu;
menu->addAction(new MenuAction(tr("Add Component %1").arg(elementName), elementName, menu->addAction(new MenuAction(tr("Add Component %1").arg(elementName), elementName,
MenuAction::TYPE_ADD_COMPONENT, menu)); 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()) { if (!classNames.empty()) {
menu->addSeparator(); menu->addSeparator();
int index = 0; int index = 0;
foreach (const QString &className, classNames) { for (const QString &className : classNames) {
auto action = new MenuAction(tr("Add Class %1").arg(className), elementName, auto action = new MenuAction(tr("Add Class %1").arg(className), elementName,
MenuAction::TYPE_ADD_CLASS, index, menu); MenuAction::TYPE_ADD_CLASS, index, menu);
action->className = className; action->className = className;