QmlDesigner: Fix nested directory imports

Task-number: QDS-12813
Task-number: QDS-12793
Change-Id: I95efb2704b60c07e1fd8b176db4ba5878765f3bf
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
This commit is contained in:
Thomas Hartmann
2024-06-12 11:49:29 +02:00
parent 99e5042732
commit 88f6f52cd4

View File

@@ -781,6 +781,7 @@ bool skipModule(QStringView moduleName)
} }
void collectPossibleFileImports(const QString &checkPath, void collectPossibleFileImports(const QString &checkPath,
const QString &projectFolder,
QSet<QString> usedImportsSet, QSet<QString> usedImportsSet,
QList<QmlDesigner::Import> &possibleImports) QList<QmlDesigner::Import> &possibleImports)
{ {
@@ -799,11 +800,11 @@ void collectPossibleFileImports(const QString &checkPath,
if (!dir.entryInfoList(qmlList, QDir::Files).isEmpty() if (!dir.entryInfoList(qmlList, QDir::Files).isEmpty()
&& dir.entryInfoList(qmldirList, QDir::Files).isEmpty() && dir.entryInfoList(qmldirList, QDir::Files).isEmpty()
&& !usedImportsSet.contains(dirPath)) { && !usedImportsSet.contains(dirPath)) {
const QString importName = dir.path().mid(checkPath.size() + 1); const QString importName = dir.path().mid(projectFolder.size() + 1);
QmlDesigner::Import import = QmlDesigner::Import::createFileImport(importName); QmlDesigner::Import import = QmlDesigner::Import::createFileImport(importName);
possibleImports.append(import); possibleImports.append(import);
} }
collectPossibleFileImports(dirPath, usedImportsSet, possibleImports); collectPossibleFileImports(dirPath, projectFolder, usedImportsSet, possibleImports);
} }
} }
@@ -818,7 +819,7 @@ QList<QmlDesigner::Import> generatePossibleFileImports(const QString &path,
QStringList fileImportPaths; QStringList fileImportPaths;
collectPossibleFileImports(path, usedImportsSet, possibleImports); collectPossibleFileImports(path, path, usedImportsSet, possibleImports);
return possibleImports; return possibleImports;
} }