aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhjk <[email protected]>2022-09-26 14:40:28 +0200
committerhjk <[email protected]>2022-09-27 06:22:23 +0000
commitcbd5e5efeacfd761c06193e2e97212de04099760 (patch)
tree77aa9802ecf2cd3aa61a6bd5c926f83f0772e761
parenta098f43b6e3d43e3888db57984fb1b2a678c9bdf (diff)
QbsPM: FilePath-ify QbsProjectImporter
Change-Id: Ia043dbfa9db401b5afa17f435eeaf4f4347290c2 Reviewed-by: Christian Stenger <[email protected]>
-rw-r--r--src/plugins/qbsprojectmanager/qbsprojectimporter.cpp30
1 files changed, 14 insertions, 16 deletions
diff --git a/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp b/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp
index 4c88d52b821..0010aa53343 100644
--- a/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp
+++ b/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp
@@ -69,42 +69,40 @@ static FilePath buildDir(const FilePath &projectFilePath, const Kit *k)
projectFilePath, projectName, k, QString(), BuildConfiguration::Unknown, "qbs");
}
-static bool hasBuildGraph(const QString &dir)
+static bool hasBuildGraph(const FilePath &dir)
{
- const QString &dirName = QFileInfo(dir).fileName();
- return QFileInfo::exists(dir + QLatin1Char('/') + dirName + QLatin1String(".bg"));
+ return dir.pathAppended(dir.fileName() + ".bg").exists();
}
-static QStringList candidatesForDirectory(const QString &dir)
+static FilePaths candidatesForDirectory(const FilePath &dir)
{
- QStringList candidates;
- const QStringList &subDirs = QDir(dir).entryList(QDir::Dirs | QDir::NoDotAndDotDot);
- for (const QString &subDir : subDirs) {
- const QString absSubDir = dir + QLatin1Char('/') + subDir;
- if (hasBuildGraph(absSubDir))
- candidates << absSubDir;
+ FilePaths candidates;
+ const FilePaths subDirs = dir.dirEntries(QDir::Dirs | QDir::NoDotAndDotDot);
+ for (const FilePath &subDir : subDirs) {
+ if (hasBuildGraph(subDir))
+ candidates << subDir;
}
return candidates;
}
FilePaths QbsProjectImporter::importCandidates()
{
- const QString projectDir = projectFilePath().toFileInfo().absolutePath();
- QStringList candidates = candidatesForDirectory(projectDir);
+ const FilePath projectDir = projectFilePath().absolutePath();
+ FilePaths candidates = candidatesForDirectory(projectDir);
- QSet<QString> seenCandidates;
+ QSet<FilePath> seenCandidates;
seenCandidates.insert(projectDir);
const auto &kits = KitManager::kits();
for (Kit * const k : kits) {
- QFileInfo fi = buildDir(projectFilePath(), k).toFileInfo();
- const QString candidate = fi.absolutePath();
+ FilePath bdir = buildDir(projectFilePath(), k);
+ const FilePath candidate = bdir.absolutePath();
if (!seenCandidates.contains(candidate)) {
seenCandidates.insert(candidate);
candidates << candidatesForDirectory(candidate);
}
}
qCDebug(qbsPmLog) << "build directory candidates:" << candidates;
- return Utils::transform(candidates, &FilePath::fromString);
+ return candidates;
}
QList<void *> QbsProjectImporter::examineDirectory(const FilePath &importPath,