GenericProject: Make node tree updates smarter

By not simpy removing all filenodes and foldernodes.
The algorithm is not optimal, since it searches for each difference
instead of traversing the two trees in lockstep, like for example the
qmake project manager does. But it seems good enough.

Task-number: QTCREATORBUG-7410
Change-Id: Ie7c0f4bc57cd3aff4e8b7a26845cfaf213329326
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
Daniel Teske
2012-10-24 15:25:42 +02:00
parent dc9f59999b
commit 16f272e0f6
3 changed files with 111 additions and 54 deletions

View File

@@ -237,7 +237,7 @@ void GenericProject::refresh(RefreshOptions options)
parseProject(options);
if (options & Files)
m_rootNode->refresh();
m_rootNode->refresh(oldFileList);
CPlusPlus::CppModelManagerInterface *modelManager =
CPlusPlus::CppModelManagerInterface::instance();