ProjectTree: De-duplicate functionality

Change-Id: I465e07c0764ca3dcbf6a6082670b140eb2b01374
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Tobias Hunger
2016-12-19 13:37:23 +01:00
parent 63cf5b8ad6
commit 5d8134f57c
2 changed files with 2 additions and 20 deletions

View File

@@ -149,7 +149,7 @@ void ProjectTree::updateFromFocus(bool invalidCurrentNode)
void ProjectTree::updateFromProjectTreeWidget(ProjectTreeWidget *widget)
{
Node *currentNode = widget->currentNode();
Project *project = projectForNode(currentNode);
Project *project = SessionManager::projectForNode(currentNode);
update(currentNode, project);
}
@@ -159,23 +159,6 @@ void ProjectTree::documentManagerCurrentFileChanged()
updateFromFocus();
}
Project *ProjectTree::projectForNode(Node *node)
{
if (!node)
return nullptr;
FolderNode *rootProjectNode = node->asFolderNode();
if (!rootProjectNode)
rootProjectNode = node->parentFolderNode();
while (rootProjectNode && rootProjectNode->parentFolderNode() != SessionManager::sessionNode())
rootProjectNode = rootProjectNode->parentFolderNode();
Q_ASSERT(rootProjectNode);
return Utils::findOrDefault(SessionManager::projects(), Utils::equal(&Project::rootProjectNode, rootProjectNode));
}
void ProjectTree::updateFromDocumentManager(bool invalidCurrentNode)
{
Core::IDocument *document = Core::EditorManager::currentDocument();
@@ -194,7 +177,7 @@ void ProjectTree::updateFromNode(Node *node)
{
Project *project;
if (node)
project = projectForNode(node);
project = SessionManager::projectForNode(node);
else
project = SessionManager::startupProject();