From 9ae4510e27d0f7ae2ad483613dad625ee44ee14a Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Fri, 26 Jul 2019 13:52:07 +0200 Subject: [PATCH] ProjectNodes: Use QVector instead of QList for LocationInfo Change-Id: I5bad9e1849b9d752de24626013c9102242d11a0a Reviewed-by: Alexandru Croitor --- src/plugins/cmakeprojectmanager/fileapidataextractor.cpp | 2 +- src/plugins/cmakeprojectmanager/servermodereader.cpp | 2 +- src/plugins/projectexplorer/projectexplorer.cpp | 9 ++++++--- src/plugins/projectexplorer/projectnodes.cpp | 4 ++-- src/plugins/projectexplorer/projectnodes.h | 7 ++++--- 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp b/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp index ba59b4c322b..82505de6442 100644 --- a/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp +++ b/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp @@ -314,7 +314,7 @@ void addBacktraceInformation(FolderNode *node, const QDir &sourceDir, int backtraceIndex) { - QList info; + QVector info; // Set up a default target path: FilePath targetPath = node->filePath().pathAppended("CMakeLists.txt"); while (backtraceIndex != -1) { diff --git a/src/plugins/cmakeprojectmanager/servermodereader.cpp b/src/plugins/cmakeprojectmanager/servermodereader.cpp index 5c4b1f7a810..6b6dc6d60b8 100644 --- a/src/plugins/cmakeprojectmanager/servermodereader.cpp +++ b/src/plugins/cmakeprojectmanager/servermodereader.cpp @@ -800,7 +800,7 @@ void ServerModeReader::addTargets( QTC_ASSERT(tNode, qDebug() << "No target node for" << t->sourceDirectory << t->name; continue); tNode->setTargetInformation(t->artifacts, t->type); tNode->setBuildDirectory(t->buildDirectory); - QList info; + QVector info; // Set up a default target path: FilePath targetPath = t->sourceDirectory.pathAppended("CMakeLists.txt"); for (CrossReference *cr : qAsConst(t->crossReferences)) { diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 5c3d8f3a261..59e3f2e36be 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -3389,8 +3389,8 @@ void ProjectExplorerPluginPrivate::updateLocationSubMenus() const FolderNode *const fn = ProjectTree::currentNode() ? ProjectTree::currentNode()->asFolderNode() : nullptr; - const QList locations - = fn ? fn->locationInfo() : QList(); + const QVector locations = fn ? fn->locationInfo() + : QVector(); const bool isVisible = !locations.isEmpty(); projectMenu->menuAction()->setVisible(isVisible); @@ -3408,7 +3408,10 @@ void ProjectExplorerPluginPrivate::updateLocationSubMenus() } const int line = li.line; const Utils::FilePath path = li.path; - auto *action = new QAction(li.displayName, nullptr); + QString displayName = fn->filePath() == li.path + ? li.displayName + : tr("%1 in %2").arg(li.displayName).arg(li.path.toUserOutput()); + auto *action = new QAction(displayName, nullptr); connect(action, &QAction::triggered, this, [line, path]() { Core::EditorManager::openEditorAt(path.toString(), line); }); diff --git a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp index 97be0e39ee7..ff5ea876a8d 100644 --- a/src/plugins/projectexplorer/projectnodes.cpp +++ b/src/plugins/projectexplorer/projectnodes.cpp @@ -670,13 +670,13 @@ void FolderNode::setIcon(const QIcon &icon) m_icon = icon; } -void FolderNode::setLocationInfo(const QList &info) +void FolderNode::setLocationInfo(const QVector &info) { m_locations = info; Utils::sort(m_locations, &LocationInfo::priority); } -const QList FolderNode::locationInfo() const +const QVector FolderNode::locationInfo() const { return m_locations; } diff --git a/src/plugins/projectexplorer/projectnodes.h b/src/plugins/projectexplorer/projectnodes.h index 760fe92e2e0..a11f8f1710e 100644 --- a/src/plugins/projectexplorer/projectnodes.h +++ b/src/plugins/projectexplorer/projectnodes.h @@ -249,6 +249,7 @@ public: class LocationInfo { public: + LocationInfo() = default; LocationInfo(const QString &dn, const Utils::FilePath &p, const int l = 0, @@ -264,8 +265,8 @@ public: unsigned int priority = 0; QString displayName; }; - void setLocationInfo(const QList &info); - const QList locationInfo() const; + void setLocationInfo(const QVector &info); + const QVector locationInfo() const; QString addFileFilter() const; void setAddFileFilter(const QString &filter) { m_addFileFilter = filter; } @@ -311,7 +312,7 @@ protected: virtual void handleSubTreeChanged(FolderNode *node); std::vector> m_nodes; - QList m_locations; + QVector m_locations; private: std::unique_ptr takeNode(Node *node);