ProjectExplorer: Add method to find ProjectNodes

Change-Id: Ib8056bd7d5603ced67c3ce3514d49ec51d05e2cf
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Tobias Hunger
2016-11-07 13:56:57 +01:00
parent ad003363b7
commit f9e9357756
2 changed files with 15 additions and 10 deletions

View File

@@ -730,11 +730,6 @@ QString ProjectNode::vcsTopic() const
return QString(); return QString();
} }
QList<ProjectNode*> ProjectNode::projectNodes() const
{
return m_projectNodes;
}
bool ProjectNode::canAddSubProject(const QString &proFilePath) const bool ProjectNode::canAddSubProject(const QString &proFilePath) const
{ {
Q_UNUSED(proFilePath) Q_UNUSED(proFilePath)
@@ -811,6 +806,18 @@ void ProjectNode::accept(NodesVisitor *visitor)
folder->accept(visitor); folder->accept(visitor);
} }
ProjectNode *ProjectNode::projectNode(const Utils::FileName &file) const
{
return Utils::findOrDefault(m_projectNodes, [&file](const ProjectNode *fn) {
return fn->filePath() == file;
});
}
QList<ProjectNode*> ProjectNode::projectNodes() const
{
return m_projectNodes;
}
/*! /*!
Adds project nodes specified by \a subProjects to the node hierarchy and Adds project nodes specified by \a subProjects to the node hierarchy and
emits the corresponding signals. emits the corresponding signals.

View File

@@ -257,9 +257,6 @@ class PROJECTEXPLORER_EXPORT ProjectNode : public FolderNode
public: public:
QString vcsTopic() const; QString vcsTopic() const;
// all subFolders that are projects
QList<ProjectNode*> projectNodes() const;
virtual bool canAddSubProject(const QString &proFilePath) const; virtual bool canAddSubProject(const QString &proFilePath) const;
virtual bool addSubProjects(const QStringList &proFilePaths); virtual bool addSubProjects(const QStringList &proFilePaths);
virtual bool removeSubProjects(const QStringList &proFilePaths); virtual bool removeSubProjects(const QStringList &proFilePaths);
@@ -277,8 +274,9 @@ public:
void accept(NodesVisitor *visitor) override; void accept(NodesVisitor *visitor) override;
// to be called in implementation of ProjectNode *projectNode(const Utils::FileName &file) const;
// the corresponding public functions // all subFolders that are projects
QList<ProjectNode*> projectNodes() const;
void addProjectNodes(const QList<ProjectNode*> &subProjects); void addProjectNodes(const QList<ProjectNode*> &subProjects);
void removeProjectNodes(const QList<ProjectNode*> &subProjects); void removeProjectNodes(const QList<ProjectNode*> &subProjects);