forked from qt-creator/qt-creator
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:
@@ -902,19 +902,19 @@ static bool findNewQmlLibraryInPath(const Utils::FilePath &path,
|
|||||||
return true;
|
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())
|
if (!import.version().isValid())
|
||||||
return FilePath();
|
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
|
return modPaths.value(0); // first is best match
|
||||||
}
|
}
|
||||||
|
|
||||||
static void findNewLibraryImports(const Document::Ptr &doc,
|
static void findNewLibraryImports(const Document::Ptr &doc,
|
||||||
const Snapshot &snapshot,
|
const Snapshot &snapshot,
|
||||||
ModelManagerInterface *modelManager,
|
ModelManagerInterface *modelManager,
|
||||||
QList<FilePath> *importedFiles,
|
FilePaths *importedFiles,
|
||||||
QSet<Utils::FilePath> *scannedPaths,
|
QSet<Utils::FilePath> *scannedPaths,
|
||||||
QSet<Utils::FilePath> *newLibraries)
|
QSet<Utils::FilePath> *newLibraries)
|
||||||
{
|
{
|
||||||
@@ -923,7 +923,7 @@ static void findNewLibraryImports(const Document::Ptr &doc,
|
|||||||
importedFiles, scannedPaths, newLibraries, false);
|
importedFiles, scannedPaths, newLibraries, false);
|
||||||
|
|
||||||
// scan dir and lib imports
|
// scan dir and lib imports
|
||||||
const QList<FilePath> importPaths = modelManager->importPathsNames();
|
const FilePaths importPaths = modelManager->importPathsNames();
|
||||||
const auto imports = doc->bind()->imports();
|
const auto imports = doc->bind()->imports();
|
||||||
for (const ImportInfo &import : imports) {
|
for (const ImportInfo &import : imports) {
|
||||||
switch (import.type()) {
|
switch (import.type()) {
|
||||||
|
@@ -1454,13 +1454,13 @@ Environment FilePath::deviceEnvironment() const
|
|||||||
return Environment::systemEnvironment();
|
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);
|
const QStringList nativeFiles = transform(files, &FilePath::toUserOutput);
|
||||||
return nativeFiles.join(separator);
|
return nativeFiles.join(separator);
|
||||||
}
|
}
|
||||||
|
|
||||||
void FilePath::removeDuplicates(QList<FilePath> &files)
|
void FilePath::removeDuplicates(FilePaths &files)
|
||||||
{
|
{
|
||||||
// FIXME: Improve.
|
// FIXME: Improve.
|
||||||
QStringList list = transform<QStringList>(files, &FilePath::toString);
|
QStringList list = transform<QStringList>(files, &FilePath::toString);
|
||||||
@@ -1468,7 +1468,7 @@ void FilePath::removeDuplicates(QList<FilePath> &files)
|
|||||||
files = transform(list, &FilePath::fromString);
|
files = transform(list, &FilePath::fromString);
|
||||||
}
|
}
|
||||||
|
|
||||||
void FilePath::sort(QList<FilePath> &files)
|
void FilePath::sort(FilePaths &files)
|
||||||
{
|
{
|
||||||
// FIXME: Improve.
|
// FIXME: Improve.
|
||||||
QStringList list = transform<QStringList>(files, &FilePath::toString);
|
QStringList list = transform<QStringList>(files, &FilePath::toString);
|
||||||
|
@@ -62,6 +62,8 @@ public:
|
|||||||
const QDirIterator::IteratorFlags iteratorFlags = QDirIterator::NoIteratorFlags;
|
const QDirIterator::IteratorFlags iteratorFlags = QDirIterator::NoIteratorFlags;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
using FilePaths = QList<class FilePath>;
|
||||||
|
|
||||||
class QTCREATOR_UTILS_EXPORT FilePath
|
class QTCREATOR_UTILS_EXPORT FilePath
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -132,9 +134,8 @@ public:
|
|||||||
qint64 fileSize() const;
|
qint64 fileSize() const;
|
||||||
qint64 bytesAvailable() const;
|
qint64 bytesAvailable() const;
|
||||||
bool createDir() const;
|
bool createDir() const;
|
||||||
QList<FilePath> dirEntries(const FileFilter &filter,
|
FilePaths dirEntries(const FileFilter &filter, QDir::SortFlags sort = QDir::NoSort) const;
|
||||||
QDir::SortFlags sort = QDir::NoSort) const;
|
FilePaths dirEntries(QDir::Filters filters) const;
|
||||||
QList<FilePath> dirEntries(QDir::Filters filters) const;
|
|
||||||
QByteArray fileContents(qint64 maxSize = -1, qint64 offset = 0) const;
|
QByteArray fileContents(qint64 maxSize = -1, qint64 offset = 0) const;
|
||||||
bool writeFileContents(const QByteArray &data) const;
|
bool writeFileContents(const QByteArray &data) const;
|
||||||
|
|
||||||
@@ -163,18 +164,18 @@ public:
|
|||||||
[[nodiscard]] FilePath withExecutableSuffix() const;
|
[[nodiscard]] FilePath withExecutableSuffix() const;
|
||||||
[[nodiscard]] FilePath relativeChildPath(const FilePath &parent) const;
|
[[nodiscard]] FilePath relativeChildPath(const FilePath &parent) const;
|
||||||
[[nodiscard]] FilePath relativePath(const FilePath &anchor) 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]] Environment deviceEnvironment() const;
|
||||||
[[nodiscard]] FilePath onDevice(const FilePath &deviceTemplate) const;
|
[[nodiscard]] FilePath onDevice(const FilePath &deviceTemplate) const;
|
||||||
[[nodiscard]] FilePath withNewPath(const QString &newPath) const;
|
[[nodiscard]] FilePath withNewPath(const QString &newPath) const;
|
||||||
void iterateDirectory(const std::function<bool(const FilePath &item)> &callBack,
|
void iterateDirectory(const std::function<bool(const FilePath &item)> &callBack,
|
||||||
const FileFilter &filter) const;
|
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 std::function<bool(const FilePath &item)> &callBack,
|
||||||
const FileFilter &filter);
|
const FileFilter &filter);
|
||||||
|
|
||||||
enum PathAmending { AppendToPath, PrependToPath };
|
enum PathAmending { AppendToPath, PrependToPath };
|
||||||
[[nodiscard]] FilePath searchInPath(const QList<FilePath> &additionalDirs = {},
|
[[nodiscard]] FilePath searchInPath(const FilePaths &additionalDirs = {},
|
||||||
PathAmending = AppendToPath) const;
|
PathAmending = AppendToPath) const;
|
||||||
|
|
||||||
// makes sure that capitalization of directories is canonical
|
// makes sure that capitalization of directories is canonical
|
||||||
@@ -186,9 +187,9 @@ public:
|
|||||||
QString shortNativePath() const;
|
QString shortNativePath() const;
|
||||||
bool startsWithDriveLetter() const;
|
bool startsWithDriveLetter() const;
|
||||||
|
|
||||||
static QString formatFilePaths(const QList<FilePath> &files, const QString &separator);
|
static QString formatFilePaths(const FilePaths &files, const QString &separator);
|
||||||
static void removeDuplicates(QList<FilePath> &files);
|
static void removeDuplicates(FilePaths &files);
|
||||||
static void sort(QList<FilePath> &files);
|
static void sort(FilePaths &files);
|
||||||
|
|
||||||
// Asynchronous interface
|
// Asynchronous interface
|
||||||
template <class ...Args> using Continuation = std::function<void(Args...)>;
|
template <class ...Args> using Continuation = std::function<void(Args...)>;
|
||||||
@@ -232,8 +233,6 @@ private:
|
|||||||
QString m_data;
|
QString m_data;
|
||||||
};
|
};
|
||||||
|
|
||||||
using FilePaths = QList<FilePath>;
|
|
||||||
|
|
||||||
inline size_t qHash(const Utils::FilePath &a, uint seed = 0)
|
inline size_t qHash(const Utils::FilePath &a, uint seed = 0)
|
||||||
{
|
{
|
||||||
return a.hash(seed);
|
return a.hash(seed);
|
||||||
|
@@ -71,7 +71,7 @@ public:
|
|||||||
std::function<bool(const FilePath &)> removeRecursively;
|
std::function<bool(const FilePath &)> removeRecursively;
|
||||||
std::function<bool(const FilePath &, const FilePath &)> copyFile;
|
std::function<bool(const FilePath &, const FilePath &)> copyFile;
|
||||||
std::function<bool(const FilePath &, const FilePath &)> renameFile;
|
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<FilePath(const FilePath &)> symLinkTarget;
|
||||||
std::function<QString(const FilePath &)> mapToDevicePath;
|
std::function<QString(const FilePath &)> mapToDevicePath;
|
||||||
std::function<void(const FilePath &,
|
std::function<void(const FilePath &,
|
||||||
@@ -104,7 +104,7 @@ public:
|
|||||||
CopyAskingForOverwrite(QWidget *dialogParent,
|
CopyAskingForOverwrite(QWidget *dialogParent,
|
||||||
const std::function<void(FilePath)> &postOperation = {});
|
const std::function<void(FilePath)> &postOperation = {});
|
||||||
bool operator()(const FilePath &src, const FilePath &dest, QString *error);
|
bool operator()(const FilePath &src, const FilePath &dest, QString *error);
|
||||||
QList<FilePath> files() const;
|
FilePaths files() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QWidget *m_parent;
|
QWidget *m_parent;
|
||||||
|
@@ -402,7 +402,7 @@ static QList<int> availableNdkPlatformsV21Plus(const FilePath &ndkLocation, cons
|
|||||||
const QString abi = AndroidConfig::toolsPrefix(abis.first());
|
const QString abi = AndroidConfig::toolsPrefix(abis.first());
|
||||||
const FilePath libPath =
|
const FilePath libPath =
|
||||||
AndroidConfig::toolchainPathFromNdk(ndkLocation, hostOs) / "sysroot/usr/lib" / abi;
|
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 =
|
const QList<int> availableNdkPlatforms =
|
||||||
Utils::transform(dirEntries, [](const FilePath &path) {
|
Utils::transform(dirEntries, [](const FilePath &path) {
|
||||||
return path.fileName().toInt(); });
|
return path.fileName().toInt(); });
|
||||||
|
@@ -176,7 +176,7 @@ static FilePath clangPlusPlusPath(const FilePath &clangPath)
|
|||||||
return clangPath.parentDir().pathAppended(clangPath.baseName() + "++").withExecutableSuffix();
|
return clangPath.parentDir().pathAppended(clangPath.baseName() + "++").withExecutableSuffix();
|
||||||
}
|
}
|
||||||
|
|
||||||
static QList<FilePath> uniqueNdksForCurrentQtVersions()
|
static FilePaths uniqueNdksForCurrentQtVersions()
|
||||||
{
|
{
|
||||||
const AndroidConfig &config = AndroidConfigurations::currentConfig();
|
const AndroidConfig &config = AndroidConfigurations::currentConfig();
|
||||||
|
|
||||||
@@ -185,7 +185,7 @@ static QList<FilePath> uniqueNdksForCurrentQtVersions()
|
|||||||
return v->targetDeviceTypes().contains(Android::Constants::ANDROID_DEVICE_TYPE);
|
return v->targetDeviceTypes().contains(Android::Constants::ANDROID_DEVICE_TYPE);
|
||||||
});
|
});
|
||||||
|
|
||||||
QList<FilePath> uniqueNdks;
|
FilePaths uniqueNdks;
|
||||||
for (const QtSupport::QtVersion *version : androidQtVersions) {
|
for (const QtSupport::QtVersion *version : androidQtVersions) {
|
||||||
FilePath ndk = config.ndkLocation(version);
|
FilePath ndk = config.ndkLocation(version);
|
||||||
if (!uniqueNdks.contains(ndk))
|
if (!uniqueNdks.contains(ndk))
|
||||||
|
@@ -81,7 +81,7 @@ static QStringList scanDirectory(const FilePath &path, const QString &prefix)
|
|||||||
QStringList result;
|
QStringList result;
|
||||||
qCDebug(cmInputLog) << "Scanning for directories matching" << prefix << "in" << path;
|
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) {
|
for (const FilePath &entry : entries) {
|
||||||
QTC_ASSERT(entry.isDir(), continue);
|
QTC_ASSERT(entry.isDir(), continue);
|
||||||
result.append(entry.toString());
|
result.append(entry.toString());
|
||||||
|
@@ -75,8 +75,8 @@ private:
|
|||||||
std::unique_ptr<QtcProcess> m_process;
|
std::unique_ptr<QtcProcess> m_process;
|
||||||
QMutex m_mutex;
|
QMutex m_mutex;
|
||||||
QWaitCondition m_waitForItems;
|
QWaitCondition m_waitForItems;
|
||||||
QList<FilePath> m_queue;
|
FilePaths m_queue;
|
||||||
QList<FilePath> m_filePaths;
|
FilePaths m_filePaths;
|
||||||
int m_index;
|
int m_index;
|
||||||
bool m_finished;
|
bool m_finished;
|
||||||
};
|
};
|
||||||
|
@@ -1473,8 +1473,8 @@ void MainWindow::changeLog()
|
|||||||
ICore::raiseWindow(dialog);
|
ICore::raiseWindow(dialog);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const QList<FilePath> files = ICore::resourcePath("changelog")
|
const FilePaths files =
|
||||||
.dirEntries({{"changes-*"}, QDir::Files});
|
ICore::resourcePath("changelog").dirEntries({{"changes-*"}, QDir::Files});
|
||||||
static const QRegularExpression versionRegex("\\d+[.]\\d+[.]\\d+");
|
static const QRegularExpression versionRegex("\\d+[.]\\d+[.]\\d+");
|
||||||
using VersionFilePair = std::pair<QVersionNumber, FilePath>;
|
using VersionFilePair = std::pair<QVersionNumber, FilePath>;
|
||||||
QList<VersionFilePair> versionedFiles = Utils::transform(files, [](const FilePath &fp) {
|
QList<VersionFilePair> versionedFiles = Utils::transform(files, [](const FilePath &fp) {
|
||||||
|
@@ -253,7 +253,7 @@ static FileType fileType(const FilePath &path)
|
|||||||
|
|
||||||
static void dirEntries(QFutureInterface<ResultType> &futureInterface, const FilePath &dir)
|
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;
|
ResultType result;
|
||||||
for (const FilePath &entry : entries) {
|
for (const FilePath &entry : entries) {
|
||||||
if (futureInterface.isCanceled())
|
if (futureInterface.isCanceled())
|
||||||
|
@@ -129,7 +129,7 @@ static FilePath filePathValue(const FilePath &value, const QStringList &candidat
|
|||||||
{
|
{
|
||||||
if (!value.isEmpty())
|
if (!value.isEmpty())
|
||||||
return value;
|
return value;
|
||||||
const QList<FilePath> additionalSearchPaths = sshSettings->searchPathRetriever();
|
const FilePaths additionalSearchPaths = sshSettings->searchPathRetriever();
|
||||||
for (const QString &candidate : candidateFileNames) {
|
for (const QString &candidate : candidateFileNames) {
|
||||||
const FilePath filePath = Environment::systemEnvironment()
|
const FilePath filePath = Environment::systemEnvironment()
|
||||||
.searchInPath(candidate, additionalSearchPaths);
|
.searchInPath(candidate, additionalSearchPaths);
|
||||||
|
Reference in New Issue
Block a user