diff options
author | Christian Kamm <christian.d.kamm@nokia.com> | 2010-03-31 14:55:05 +0200 |
---|---|---|
committer | Christian Kamm <christian.d.kamm@nokia.com> | 2010-03-31 14:55:35 +0200 |
commit | 9408378a24f556649ba918830dd3e3a95e381718 (patch) | |
tree | 142fcf5ffff2442a40ca519afba2759454452b2c /src/plugins/qmljseditor/qmljsmodelmanager.cpp | |
parent | 107ad1cadfc22f056efec3ebf72337a5a89d2341 (diff) | |
download | qt-creator-9408378a24f556649ba918830dd3e3a95e381718.tar.gz |
QmlJSEditor: Fix file/directory imports for qml files not in a project.
Reviewed-by: Roberto Raggi
Diffstat (limited to 'src/plugins/qmljseditor/qmljsmodelmanager.cpp')
-rw-r--r-- | src/plugins/qmljseditor/qmljsmodelmanager.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/plugins/qmljseditor/qmljsmodelmanager.cpp b/src/plugins/qmljseditor/qmljsmodelmanager.cpp index 52a781efdd..d21bda3660 100644 --- a/src/plugins/qmljseditor/qmljsmodelmanager.cpp +++ b/src/plugins/qmljseditor/qmljsmodelmanager.cpp @@ -100,7 +100,19 @@ Snapshot ModelManager::snapshot() const void ModelManager::updateSourceFiles(const QStringList &files) { - refreshSourceFiles(files); + // for files that are not yet in the snapshot, scan the whole directory + QStringList filesToParse; + QSet<QString> sourceDirectories; + + foreach (const QString &file, files) { + if (! _snapshot.document(file)) + sourceDirectories.insert(QFileInfo(file).path()); + else + filesToParse.append(file); + } + + refreshSourceFiles(filesToParse); + refreshSourceDirectories(sourceDirectories.toList()); } QFuture<void> ModelManager::refreshSourceFiles(const QStringList &sourceFiles) |