summaryrefslogtreecommitdiff
path: root/src/plugins/qmlprojectmanager/qmlproject.cpp
diff options
context:
space:
mode:
authorChristian Kamm <christian.d.kamm@nokia.com>2010-03-16 16:34:33 +0100
committerChristian Kamm <christian.d.kamm@nokia.com>2010-03-18 11:25:37 +0100
commit9ea01cf5fb09f5bbef5e55cc0b0f04d48baa8eda (patch)
tree5965b5276d4dc3a7bfad780c2787e0a2596d50a9 /src/plugins/qmlprojectmanager/qmlproject.cpp
parent62c41defb499d67798836772db6f1de89d1422db (diff)
downloadqt-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.cpp15
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;