diff options
| author | Christian Kamm <christian.d.kamm@nokia.com> | 2010-03-16 16:34:33 +0100 |
|---|---|---|
| committer | Christian Kamm <christian.d.kamm@nokia.com> | 2010-03-18 11:25:37 +0100 |
| commit | 9ea01cf5fb09f5bbef5e55cc0b0f04d48baa8eda (patch) | |
| tree | 5965b5276d4dc3a7bfad780c2787e0a2596d50a9 /src/plugins/qmlprojectmanager/qmlproject.cpp | |
| parent | 62c41defb499d67798836772db6f1de89d1422db (diff) | |
| download | qt-creator-9ea01cf5fb09f5bbef5e55cc0b0f04d48baa8eda.tar.gz | |
Improve Qml code model import handling.
* Fill the snapshot with files that could be imported.
* Implement package imports.
* The qmldir file is not parsed yet.
Reviewed-by: Erik Verbruggen
Diffstat (limited to 'src/plugins/qmlprojectmanager/qmlproject.cpp')
| -rw-r--r-- | src/plugins/qmlprojectmanager/qmlproject.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp index b529db36a9..ccbb81e6c0 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.cpp +++ b/src/plugins/qmlprojectmanager/qmlproject.cpp @@ -95,6 +95,8 @@ void QmlProject::parseProject(RefreshOptions options) && qobject_cast<QmlProjectItem*>(component->create())) { m_projectItem = qobject_cast<QmlProjectItem*>(component->create()); connect(m_projectItem.data(), SIGNAL(qmlFilesChanged()), this, SLOT(refreshFiles())); + connect(m_projectItem.data(), SIGNAL(libraryPathsChanged()), this, SLOT(refreshImportPaths())); + refreshImportPaths(); } else { Core::MessageManager *messageManager = Core::ICore::instance()->messageManager(); messageManager->printToOutputPane(tr("Error while loading project file!")); @@ -104,7 +106,13 @@ void QmlProject::parseProject(RefreshOptions options) } if (m_projectItem) { m_projectItem.data()->setSourceDirectory(projectDir().path()); - m_modelManager->updateSourceFiles(m_projectItem.data()->files()); + + QSet<QString> sourceDirectories; + foreach (const QString &file, m_projectItem.data()->files()) { + sourceDirectories.insert(QFileInfo(file).path()); + } + + m_modelManager->updateSourceDirectories(sourceDirectories.toList()); } m_rootNode->refresh(); } @@ -185,6 +193,11 @@ void QmlProject::refreshFiles() refresh(Files); } +void QmlProject::refreshImportPaths() +{ + m_modelManager->setProjectImportPaths(libraryPaths()); +} + QString QmlProject::displayName() const { return m_projectName; |
