forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/9.0' into qds/dev
Change-Id: I02fd6f492c27d85b88af7ec8bc18ff62f2c6ed14
This commit is contained in:
@@ -81,8 +81,36 @@ static void setupProjectInfoQmlBundles(ModelManagerInterface::ProjectInfo &proje
|
||||
}
|
||||
}
|
||||
|
||||
static void findAllQrcFiles(const FilePath &filePath, FilePaths &out)
|
||||
{
|
||||
filePath.iterateDirectory(
|
||||
[&out](const FilePath &path) {
|
||||
out.append(path.canonicalPath());
|
||||
return true;
|
||||
},
|
||||
{{"*.qrc"}, QDir::Files});
|
||||
}
|
||||
|
||||
static FilePaths findGeneratedQrcFiles(const ModelManagerInterface::ProjectInfo &pInfo,
|
||||
const FilePaths &hiddenRccFolders)
|
||||
{
|
||||
FilePaths result;
|
||||
// Search in Application Directories for directories named ".rcc"
|
||||
// and add all .qrc files in there to the resource file list.
|
||||
for (const Utils::FilePath &path : pInfo.applicationDirectories) {
|
||||
Utils::FilePath generatedQrcDir = path.pathAppended(".rcc");
|
||||
findAllQrcFiles(generatedQrcDir, result);
|
||||
}
|
||||
|
||||
for (const Utils::FilePath &hiddenRccFolder : hiddenRccFolders) {
|
||||
findAllQrcFiles(hiddenRccFolder, result);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
ModelManagerInterface::ProjectInfo ModelManager::defaultProjectInfoForProject(
|
||||
Project *project) const
|
||||
Project *project, const FilePaths &hiddenRccFolders) const
|
||||
{
|
||||
ModelManagerInterface::ProjectInfo projectInfo;
|
||||
projectInfo.project = project;
|
||||
@@ -187,6 +215,7 @@ ModelManagerInterface::ProjectInfo ModelManager::defaultProjectInfoForProject(
|
||||
}
|
||||
|
||||
setupProjectInfoQmlBundles(projectInfo);
|
||||
projectInfo.generatedQrcFiles = findGeneratedQrcFiles(projectInfo, hiddenRccFolders);
|
||||
return projectInfo;
|
||||
}
|
||||
|
||||
@@ -298,7 +327,7 @@ void ModelManager::updateDefaultProjectInfo()
|
||||
Project *currentProject = SessionManager::startupProject();
|
||||
setDefaultProject(containsProject(currentProject)
|
||||
? projectInfo(currentProject)
|
||||
: defaultProjectInfoForProject(currentProject),
|
||||
: defaultProjectInfoForProject(currentProject, {}),
|
||||
currentProject);
|
||||
}
|
||||
|
||||
|
||||
@@ -32,7 +32,8 @@ protected:
|
||||
WorkingCopy workingCopyInternal() const override;
|
||||
void addTaskInternal(const QFuture<void> &result, const QString &msg,
|
||||
const char *taskId) const override;
|
||||
ProjectInfo defaultProjectInfoForProject(ProjectExplorer::Project *project) const override;
|
||||
ProjectInfo defaultProjectInfoForProject(
|
||||
ProjectExplorer::Project *project, const Utils::FilePaths &hiddenRccFolders) const override;
|
||||
private:
|
||||
void updateDefaultProjectInfo();
|
||||
void loadDefaultQmlTypeDescriptions();
|
||||
|
||||
Reference in New Issue
Block a user