ProjectTree: Make project loading fast again

Change-Id: I4a84579311a606d442805acbac2793e8b5ddf515
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
Daniel Teske
2015-01-21 15:24:27 +01:00
parent cca1030432
commit fc3abe9984

View File

@@ -192,7 +192,9 @@ void ProjectTree::updateFromDocumentManager(bool invalidCurrentNode)
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) {
disconnect(m_currentProject, &Project::projectContextUpdated,
this, &ProjectTree::updateContext);
@@ -216,15 +218,17 @@ void ProjectTree::update(Node *node, Project *project)
Qt::UniqueConnection);
}
if (node != m_currentNode) {
if (changedNode) {
m_currentNode = node;
emit currentNodeChanged(m_currentNode, project);
}
emit currentProjectChanged(m_currentProject);
updateDefaultLocationForNewFiles();
updateContext();
if (changedProject) {
emit currentProjectChanged(m_currentProject);
updateDefaultLocationForNewFiles();
updateContext();
}
}
void ProjectTree::updateDefaultLocationForNewFiles()