aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/qmljs/qmljsutils.cpp
diff options
context:
space:
mode:
authorFawzi Mohamed <[email protected]>2022-06-20 12:35:13 +0200
committerTim Jenssen <[email protected]>2022-07-13 17:13:23 +0000
commitfd89043de2f8de1588ee61514170e0168e13e238 (patch)
tree8a9dedc64d065bc8c5a076607421adf636c0177a /src/libs/qmljs/qmljsutils.cpp
parent0bb272d41112dcdc3a92c8b6320294c415d630e5 (diff)
qmljs: (QString -> Utils::FilePath)++
convert more QString containing paths to Utils::FilePath Change-Id: I1219d7d147993e48cfa641dc9bea72ab38c90f51 Reviewed-by: Tim Jenssen <[email protected]> Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: <[email protected]>
Diffstat (limited to 'src/libs/qmljs/qmljsutils.cpp')
-rw-r--r--src/libs/qmljs/qmljsutils.cpp30
1 files changed, 16 insertions, 14 deletions
diff --git a/src/libs/qmljs/qmljsutils.cpp b/src/libs/qmljs/qmljsutils.cpp
index db2bcc69689..aa95a9ce858 100644
--- a/src/libs/qmljs/qmljsutils.cpp
+++ b/src/libs/qmljs/qmljsutils.cpp
@@ -27,6 +27,7 @@
#include "parser/qmljsast_p.h"
+#include <utils/filepath.h>
#include <utils/stringutils.h>
#include <QColor>
@@ -256,8 +257,9 @@ const QStringList QmlJS::splitVersion(const QString &version)
* \return The module paths if found, an empty string otherwise
* \see qmlimportscanner in qtdeclarative/tools
*/
-QStringList QmlJS::modulePaths(const QString &name, const QString &version,
- const QStringList &importPaths)
+QList<Utils::FilePath> QmlJS::modulePaths(const QString &name,
+ const QString &version,
+ const QList<Utils::FilePath> &importPaths)
{
Q_ASSERT(maybeModuleVersion(version));
if (importPaths.isEmpty())
@@ -267,27 +269,27 @@ QStringList QmlJS::modulePaths(const QString &name, const QString &version,
const QStringList parts = name.split('.', Qt::SkipEmptyParts);
auto mkpath = [](const QStringList &xs) -> QString { return xs.join(QLatin1Char('/')); };
- QStringList result;
- QString candidate;
+ QList<Utils::FilePath> result;
+ Utils::FilePath candidate;
for (const QString &versionPart : splitVersion(sanitizedVersion)) {
- for (const QString &path : importPaths) {
+ for (const Utils::FilePath &path : importPaths) {
for (int i = parts.count() - 1; i >= 0; --i) {
- candidate = QDir::cleanPath(QString::fromLatin1("%1/%2.%3/%4")
- .arg(path,
- mkpath(parts.mid(0, i + 1)),
- versionPart,
- mkpath(parts.mid(i + 1))));
- if (QDir(candidate).exists())
+ candidate = path.pathAppended(QString::fromLatin1("%2.%3/%4")
+ .arg(mkpath(parts.mid(0, i + 1)),
+ versionPart,
+ mkpath(parts.mid(i + 1))))
+ .cleanPath();
+ if (candidate.exists())
result << candidate;
}
}
}
// Version is empty
- for (const QString &path: importPaths) {
- candidate = QDir::cleanPath(QString::fromLatin1("%1/%2").arg(path, mkpath(parts)));
- if (QDir(candidate).exists())
+ for (const Utils::FilePath &path : importPaths) {
+ candidate = path.pathAppended(mkpath(parts)).cleanPath();
+ if (candidate.exists())
result << candidate;
}