forked from qt-creator/qt-creator
ProjectTree: De-duplicate functionality
Change-Id: I465e07c0764ca3dcbf6a6082670b140eb2b01374 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -149,7 +149,7 @@ void ProjectTree::updateFromFocus(bool invalidCurrentNode)
|
|||||||
void ProjectTree::updateFromProjectTreeWidget(ProjectTreeWidget *widget)
|
void ProjectTree::updateFromProjectTreeWidget(ProjectTreeWidget *widget)
|
||||||
{
|
{
|
||||||
Node *currentNode = widget->currentNode();
|
Node *currentNode = widget->currentNode();
|
||||||
Project *project = projectForNode(currentNode);
|
Project *project = SessionManager::projectForNode(currentNode);
|
||||||
|
|
||||||
update(currentNode, project);
|
update(currentNode, project);
|
||||||
}
|
}
|
||||||
@@ -159,23 +159,6 @@ void ProjectTree::documentManagerCurrentFileChanged()
|
|||||||
updateFromFocus();
|
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)
|
void ProjectTree::updateFromDocumentManager(bool invalidCurrentNode)
|
||||||
{
|
{
|
||||||
Core::IDocument *document = Core::EditorManager::currentDocument();
|
Core::IDocument *document = Core::EditorManager::currentDocument();
|
||||||
@@ -194,7 +177,7 @@ void ProjectTree::updateFromNode(Node *node)
|
|||||||
{
|
{
|
||||||
Project *project;
|
Project *project;
|
||||||
if (node)
|
if (node)
|
||||||
project = projectForNode(node);
|
project = SessionManager::projectForNode(node);
|
||||||
else
|
else
|
||||||
project = SessionManager::startupProject();
|
project = SessionManager::startupProject();
|
||||||
|
|
||||||
|
|||||||
@@ -55,7 +55,6 @@ public:
|
|||||||
static void registerWidget(Internal::ProjectTreeWidget *widget);
|
static void registerWidget(Internal::ProjectTreeWidget *widget);
|
||||||
static void unregisterWidget(Internal::ProjectTreeWidget *widget);
|
static void unregisterWidget(Internal::ProjectTreeWidget *widget);
|
||||||
static void nodeChanged(Internal::ProjectTreeWidget *widget);
|
static void nodeChanged(Internal::ProjectTreeWidget *widget);
|
||||||
static Project *projectForNode(Node *node);
|
|
||||||
|
|
||||||
static void aboutToShutDown();
|
static void aboutToShutDown();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user