ProjectExplorer: Remove ProjectNode::m_projectNodes

They are duplicated in m_folderNodes, use them.

Change-Id: I4571720f1ef3daf098870a3cf05fa28a1002bb3f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
hjk
2017-02-07 13:49:37 +01:00
parent c985914bde
commit 95e2d7f545
8 changed files with 35 additions and 106 deletions

View File

@@ -686,24 +686,24 @@ QList<RunConfiguration *> ProjectNode::runConfigurations() const
return QList<RunConfiguration *>();
}
void ProjectNode::accept(NodesVisitor *visitor)
{
visitor->visitProjectNode(this);
foreach (FolderNode *folder, m_folderNodes)
folder->accept(visitor);
}
ProjectNode *ProjectNode::projectNode(const Utils::FileName &file) const
{
return Utils::findOrDefault(m_projectNodes, [&file](const ProjectNode *fn) {
return fn->filePath() == file;
});
for (FolderNode *node : m_folderNodes) {
if (ProjectNode *pnode = node->asProjectNode())
if (pnode->filePath() == file)
return pnode;
}
return nullptr;
}
QList<ProjectNode*> ProjectNode::projectNodes() const
QList<ProjectNode*> FolderNode::projectNodes() const
{
return m_projectNodes;
QList<ProjectNode *> nodes;
for (FolderNode *node : m_folderNodes) {
if (ProjectNode *pnode = node->asProjectNode())
nodes.append(pnode);
}
return nodes;
}
/*!
@@ -717,31 +717,13 @@ void ProjectNode::addProjectNode(ProjectNode *subProject)
subProject->setParentFolderNode(this);
m_folderNodes.append(subProject);
m_projectNodes.append(subProject);
Utils::sort(m_folderNodes);
Utils::sort(m_projectNodes);
}
/*!
Removes all child nodes from the node hierarchy and deletes them.
*/
void ProjectNode::makeEmpty()
bool FolderNode::isEmpty() const
{
foreach (ProjectNode *subProject, m_projectNodes)
m_folderNodes.removeAll(subProject);
qDeleteAll(m_projectNodes);
m_projectNodes.clear();
FolderNode::makeEmpty();
}
bool ProjectNode::isEmpty() const
{
return m_fileNodes.isEmpty() && m_folderNodes.isEmpty() && m_projectNodes.isEmpty();
return m_fileNodes.isEmpty() && m_folderNodes.isEmpty();
}
/*!
@@ -758,24 +740,11 @@ QList<ProjectAction> SessionNode::supportedActions(Node *node) const
return QList<ProjectAction>();
}
void SessionNode::accept(NodesVisitor *visitor)
{
visitor->visitSessionNode(this);
foreach (ProjectNode *project, m_projectNodes)
project->accept(visitor);
}
bool SessionNode::showInSimpleTree() const
{
return true;
}
QList<ProjectNode*> SessionNode::projectNodes() const
{
return m_projectNodes;
}
QString SessionNode::addFileFilter() const
{
return QString::fromLatin1("*.c; *.cc; *.cpp; *.cp; *.cxx; *.c++; *.h; *.hh; *.hpp; *.hxx;");
@@ -787,16 +756,12 @@ void SessionNode::addProjectNode(ProjectNode *projectNode)
qDebug("Project node has already a parent folder"));
projectNode->setParentFolderNode(this);
m_folderNodes.append(projectNode);
m_projectNodes.append(projectNode);
Utils::sort(m_folderNodes);
Utils::sort(m_projectNodes);
}
void SessionNode::removeProjectNode(ProjectNode *projectNode)
{
m_folderNodes.removeOne(projectNode);
m_projectNodes.removeOne(projectNode);
}
} // namespace ProjectExplorer