Utils: Use FilePaths alias instead of QList<FilePath>

Change-Id: I2eb0956377e46a34e73208b301eb662704a25e8b
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
Alessandro Portale
2022-07-21 15:58:09 +02:00
parent c56c3ea024
commit afe0b5a42d
11 changed files with 29 additions and 30 deletions

View File

@@ -902,19 +902,19 @@ static bool findNewQmlLibraryInPath(const Utils::FilePath &path,
return true;
}
static FilePath modulePath(const ImportInfo &import, const QList<FilePath> &paths)
static FilePath modulePath(const ImportInfo &import, const FilePaths &paths)
{
if (!import.version().isValid())
return FilePath();
const QList<FilePath> modPaths = modulePaths(import.name(), import.version().toString(), paths);
const FilePaths modPaths = modulePaths(import.name(), import.version().toString(), paths);
return modPaths.value(0); // first is best match
}
static void findNewLibraryImports(const Document::Ptr &doc,
const Snapshot &snapshot,
ModelManagerInterface *modelManager,
QList<FilePath> *importedFiles,
FilePaths *importedFiles,
QSet<Utils::FilePath> *scannedPaths,
QSet<Utils::FilePath> *newLibraries)
{
@@ -923,7 +923,7 @@ static void findNewLibraryImports(const Document::Ptr &doc,
importedFiles, scannedPaths, newLibraries, false);
// scan dir and lib imports
const QList<FilePath> importPaths = modelManager->importPathsNames();
const FilePaths importPaths = modelManager->importPathsNames();
const auto imports = doc->bind()->imports();
for (const ImportInfo &import : imports) {
switch (import.type()) {

View File

@@ -1454,13 +1454,13 @@ Environment FilePath::deviceEnvironment() const
return Environment::systemEnvironment();
}
QString FilePath::formatFilePaths(const QList<FilePath> &files, const QString &separator)
QString FilePath::formatFilePaths(const FilePaths &files, const QString &separator)
{
const QStringList nativeFiles = transform(files, &FilePath::toUserOutput);
return nativeFiles.join(separator);
}
void FilePath::removeDuplicates(QList<FilePath> &files)
void FilePath::removeDuplicates(FilePaths &files)
{
// FIXME: Improve.
QStringList list = transform<QStringList>(files, &FilePath::toString);
@@ -1468,7 +1468,7 @@ void FilePath::removeDuplicates(QList<FilePath> &files)
files = transform(list, &FilePath::fromString);
}
void FilePath::sort(QList<FilePath> &files)
void FilePath::sort(FilePaths &files)
{
// FIXME: Improve.
QStringList list = transform<QStringList>(files, &FilePath::toString);

View File

@@ -62,6 +62,8 @@ public:
const QDirIterator::IteratorFlags iteratorFlags = QDirIterator::NoIteratorFlags;
};
using FilePaths = QList<class FilePath>;
class QTCREATOR_UTILS_EXPORT FilePath
{
public:
@@ -132,9 +134,8 @@ public:
qint64 fileSize() const;
qint64 bytesAvailable() const;
bool createDir() const;
QList<FilePath> dirEntries(const FileFilter &filter,
QDir::SortFlags sort = QDir::NoSort) const;
QList<FilePath> dirEntries(QDir::Filters filters) const;
FilePaths dirEntries(const FileFilter &filter, QDir::SortFlags sort = QDir::NoSort) const;
FilePaths dirEntries(QDir::Filters filters) const;
QByteArray fileContents(qint64 maxSize = -1, qint64 offset = 0) const;
bool writeFileContents(const QByteArray &data) const;
@@ -163,18 +164,18 @@ public:
[[nodiscard]] FilePath withExecutableSuffix() const;
[[nodiscard]] FilePath relativeChildPath(const FilePath &parent) const;
[[nodiscard]] FilePath relativePath(const FilePath &anchor) const;
[[nodiscard]] FilePath searchInDirectories(const QList<FilePath> &dirs) const;
[[nodiscard]] FilePath searchInDirectories(const FilePaths &dirs) const;
[[nodiscard]] Environment deviceEnvironment() const;
[[nodiscard]] FilePath onDevice(const FilePath &deviceTemplate) const;
[[nodiscard]] FilePath withNewPath(const QString &newPath) const;
void iterateDirectory(const std::function<bool(const FilePath &item)> &callBack,
const FileFilter &filter) const;
static void iterateDirectories(const QList<FilePath> &dirs,
static void iterateDirectories(const FilePaths &dirs,
const std::function<bool(const FilePath &item)> &callBack,
const FileFilter &filter);
enum PathAmending { AppendToPath, PrependToPath };
[[nodiscard]] FilePath searchInPath(const QList<FilePath> &additionalDirs = {},
[[nodiscard]] FilePath searchInPath(const FilePaths &additionalDirs = {},
PathAmending = AppendToPath) const;
// makes sure that capitalization of directories is canonical
@@ -186,9 +187,9 @@ public:
QString shortNativePath() const;
bool startsWithDriveLetter() const;
static QString formatFilePaths(const QList<FilePath> &files, const QString &separator);
static void removeDuplicates(QList<FilePath> &files);
static void sort(QList<FilePath> &files);
static QString formatFilePaths(const FilePaths &files, const QString &separator);
static void removeDuplicates(FilePaths &files);
static void sort(FilePaths &files);
// Asynchronous interface
template <class ...Args> using Continuation = std::function<void(Args...)>;
@@ -232,8 +233,6 @@ private:
QString m_data;
};
using FilePaths = QList<FilePath>;
inline size_t qHash(const Utils::FilePath &a, uint seed = 0)
{
return a.hash(seed);

View File

@@ -71,7 +71,7 @@ public:
std::function<bool(const FilePath &)> removeRecursively;
std::function<bool(const FilePath &, const FilePath &)> copyFile;
std::function<bool(const FilePath &, const FilePath &)> renameFile;
std::function<FilePath(const FilePath &, const QList<FilePath> &)> searchInPath;
std::function<FilePath(const FilePath &, const FilePaths &)> searchInPath;
std::function<FilePath(const FilePath &)> symLinkTarget;
std::function<QString(const FilePath &)> mapToDevicePath;
std::function<void(const FilePath &,
@@ -104,7 +104,7 @@ public:
CopyAskingForOverwrite(QWidget *dialogParent,
const std::function<void(FilePath)> &postOperation = {});
bool operator()(const FilePath &src, const FilePath &dest, QString *error);
QList<FilePath> files() const;
FilePaths files() const;
private:
QWidget *m_parent;

View File

@@ -402,7 +402,7 @@ static QList<int> availableNdkPlatformsV21Plus(const FilePath &ndkLocation, cons
const QString abi = AndroidConfig::toolsPrefix(abis.first());
const FilePath libPath =
AndroidConfig::toolchainPathFromNdk(ndkLocation, hostOs) / "sysroot/usr/lib" / abi;
const QList<FilePath> dirEntries = libPath.dirEntries(QDir::Dirs | QDir::NoDotAndDotDot);
const FilePaths dirEntries = libPath.dirEntries(QDir::Dirs | QDir::NoDotAndDotDot);
const QList<int> availableNdkPlatforms =
Utils::transform(dirEntries, [](const FilePath &path) {
return path.fileName().toInt(); });

View File

@@ -176,7 +176,7 @@ static FilePath clangPlusPlusPath(const FilePath &clangPath)
return clangPath.parentDir().pathAppended(clangPath.baseName() + "++").withExecutableSuffix();
}
static QList<FilePath> uniqueNdksForCurrentQtVersions()
static FilePaths uniqueNdksForCurrentQtVersions()
{
const AndroidConfig &config = AndroidConfigurations::currentConfig();
@@ -185,7 +185,7 @@ static QList<FilePath> uniqueNdksForCurrentQtVersions()
return v->targetDeviceTypes().contains(Android::Constants::ANDROID_DEVICE_TYPE);
});
QList<FilePath> uniqueNdks;
FilePaths uniqueNdks;
for (const QtSupport::QtVersion *version : androidQtVersions) {
FilePath ndk = config.ndkLocation(version);
if (!uniqueNdks.contains(ndk))

View File

@@ -81,7 +81,7 @@ static QStringList scanDirectory(const FilePath &path, const QString &prefix)
QStringList result;
qCDebug(cmInputLog) << "Scanning for directories matching" << prefix << "in" << path;
const QList<FilePath> entries = path.dirEntries({{prefix + "*"}, QDir::Dirs | QDir::NoDotAndDotDot});
const FilePaths entries = path.dirEntries({{prefix + "*"}, QDir::Dirs | QDir::NoDotAndDotDot});
for (const FilePath &entry : entries) {
QTC_ASSERT(entry.isDir(), continue);
result.append(entry.toString());

View File

@@ -75,8 +75,8 @@ private:
std::unique_ptr<QtcProcess> m_process;
QMutex m_mutex;
QWaitCondition m_waitForItems;
QList<FilePath> m_queue;
QList<FilePath> m_filePaths;
FilePaths m_queue;
FilePaths m_filePaths;
int m_index;
bool m_finished;
};

View File

@@ -1473,8 +1473,8 @@ void MainWindow::changeLog()
ICore::raiseWindow(dialog);
return;
}
const QList<FilePath> files = ICore::resourcePath("changelog")
.dirEntries({{"changes-*"}, QDir::Files});
const FilePaths files =
ICore::resourcePath("changelog").dirEntries({{"changes-*"}, QDir::Files});
static const QRegularExpression versionRegex("\\d+[.]\\d+[.]\\d+");
using VersionFilePair = std::pair<QVersionNumber, FilePath>;
QList<VersionFilePair> versionedFiles = Utils::transform(files, [](const FilePath &fp) {

View File

@@ -253,7 +253,7 @@ static FileType fileType(const FilePath &path)
static void dirEntries(QFutureInterface<ResultType> &futureInterface, const FilePath &dir)
{
const QList<FilePath> entries = dir.dirEntries(QDir::NoFilter);
const FilePaths entries = dir.dirEntries(QDir::NoFilter);
ResultType result;
for (const FilePath &entry : entries) {
if (futureInterface.isCanceled())

View File

@@ -129,7 +129,7 @@ static FilePath filePathValue(const FilePath &value, const QStringList &candidat
{
if (!value.isEmpty())
return value;
const QList<FilePath> additionalSearchPaths = sshSettings->searchPathRetriever();
const FilePaths additionalSearchPaths = sshSettings->searchPathRetriever();
for (const QString &candidate : candidateFileNames) {
const FilePath filePath = Environment::systemEnvironment()
.searchInPath(candidate, additionalSearchPaths);