forked from qt-creator/qt-creator
ProjectTree: Make project loading fast again
Change-Id: I4a84579311a606d442805acbac2793e8b5ddf515 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
@@ -192,7 +192,9 @@ void ProjectTree::updateFromDocumentManager(bool invalidCurrentNode)
|
|||||||
|
|
||||||
void ProjectTree::update(Node *node, Project *project)
|
void ProjectTree::update(Node *node, Project *project)
|
||||||
{
|
{
|
||||||
if (project != m_currentProject) {
|
bool changedProject = project != m_currentProject;
|
||||||
|
bool changedNode = node != m_currentNode;
|
||||||
|
if (changedProject) {
|
||||||
if (m_currentProject) {
|
if (m_currentProject) {
|
||||||
disconnect(m_currentProject, &Project::projectContextUpdated,
|
disconnect(m_currentProject, &Project::projectContextUpdated,
|
||||||
this, &ProjectTree::updateContext);
|
this, &ProjectTree::updateContext);
|
||||||
@@ -216,16 +218,18 @@ void ProjectTree::update(Node *node, Project *project)
|
|||||||
Qt::UniqueConnection);
|
Qt::UniqueConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (node != m_currentNode) {
|
if (changedNode) {
|
||||||
m_currentNode = node;
|
m_currentNode = node;
|
||||||
emit currentNodeChanged(m_currentNode, project);
|
emit currentNodeChanged(m_currentNode, project);
|
||||||
}
|
}
|
||||||
|
|
||||||
emit currentProjectChanged(m_currentProject);
|
|
||||||
|
|
||||||
|
if (changedProject) {
|
||||||
|
emit currentProjectChanged(m_currentProject);
|
||||||
updateDefaultLocationForNewFiles();
|
updateDefaultLocationForNewFiles();
|
||||||
updateContext();
|
updateContext();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void ProjectTree::updateDefaultLocationForNewFiles()
|
void ProjectTree::updateDefaultLocationForNewFiles()
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user