forked from qt-creator/qt-creator
ProjectExplorer: Handle project file list globally
Handle the generation of the list of files in a project globally, based on the project tree. Creator now has the concept of TreeManagers which can enrich the project tree with additional data (e.g. the files found in a resource file), which the project does not necessarily know about. So use that tree to find the files that belong to a project instead of implementing similar features in each project. Change-Id: Ia375a914a1f2c0adaa427f9eda834eec2db07f68 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Marco Benelli <marco.benelli@qt.io>
This commit is contained in:
@@ -168,9 +168,6 @@ void QmlProject::parseProject(RefreshOptions options)
|
||||
if (options & Configuration) {
|
||||
// update configuration
|
||||
}
|
||||
|
||||
if (options & Files)
|
||||
emit fileListChanged();
|
||||
}
|
||||
|
||||
void QmlProject::refresh(RefreshOptions options)
|
||||
@@ -195,16 +192,6 @@ void QmlProject::refresh(RefreshOptions options)
|
||||
emit parsingFinished();
|
||||
}
|
||||
|
||||
QStringList QmlProject::files() const
|
||||
{
|
||||
QStringList files;
|
||||
if (m_projectItem)
|
||||
files = m_projectItem.data()->files();
|
||||
else
|
||||
files = m_files;
|
||||
return files;
|
||||
}
|
||||
|
||||
QString QmlProject::mainFile() const
|
||||
{
|
||||
if (m_projectItem)
|
||||
@@ -296,11 +283,6 @@ Internal::QmlProjectNode *QmlProject::rootProjectNode() const
|
||||
return static_cast<Internal::QmlProjectNode *>(Project::rootProjectNode());
|
||||
}
|
||||
|
||||
QStringList QmlProject::files(FilesMode) const
|
||||
{
|
||||
return files();
|
||||
}
|
||||
|
||||
Project::RestoreResult QmlProject::fromMap(const QVariantMap &map, QString *errorMessage)
|
||||
{
|
||||
RestoreResult result = Project::fromMap(map, errorMessage);
|
||||
@@ -371,9 +353,12 @@ Project::RestoreResult QmlProject::fromMap(const QVariantMap &map, QString *erro
|
||||
|
||||
void QmlProject::generateProjectTree()
|
||||
{
|
||||
if (!m_projectItem)
|
||||
return;
|
||||
|
||||
auto newRoot = new Internal::QmlProjectNode(this);
|
||||
|
||||
for (const QString &f : files()) {
|
||||
for (const QString &f : m_projectItem.data()->files()) {
|
||||
FileType fileType = FileType::Source; // ### FIXME
|
||||
if (f == projectFilePath().toString())
|
||||
fileType = FileType::Project;
|
||||
|
Reference in New Issue
Block a user