forked from qt-creator/qt-creator
Utils: Also pass Sort flag to FilePath::dirEntries
Change-Id: Ic21c2ba3ef59c6bb3e19552904187b3c6a096d80 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -952,14 +952,16 @@ bool FilePath::createDir() const
|
||||
return dir.mkpath(dir.absolutePath());
|
||||
}
|
||||
|
||||
QList<FilePath> FilePath::dirEntries(const QStringList &nameFilters, QDir::Filters filters) const
|
||||
QList<FilePath> FilePath::dirEntries(const QStringList &nameFilters,
|
||||
QDir::Filters filters,
|
||||
QDir::SortFlags sort) const
|
||||
{
|
||||
if (needsDevice()) {
|
||||
QTC_ASSERT(s_deviceHooks.dirEntries, return {});
|
||||
return s_deviceHooks.dirEntries(*this, nameFilters, filters);
|
||||
return s_deviceHooks.dirEntries(*this, nameFilters, filters, sort);
|
||||
}
|
||||
|
||||
const QFileInfoList entryInfoList = QDir(toString()).entryInfoList(nameFilters, filters);
|
||||
const QFileInfoList entryInfoList = QDir(m_data).entryInfoList(nameFilters, filters, sort);
|
||||
return Utils::transform(entryInfoList, &FilePath::fromFileInfo);
|
||||
}
|
||||
|
||||
|
||||
@@ -83,7 +83,8 @@ public:
|
||||
std::function<bool(const FilePath &, const FilePath &)> copyFile;
|
||||
std::function<bool(const FilePath &, const FilePath &)> renameFile;
|
||||
std::function<FilePath(const FilePath &)> searchInPath;
|
||||
std::function<QList<FilePath>(const FilePath &, const QStringList &, QDir::Filters)> dirEntries;
|
||||
std::function<QList<FilePath>(const FilePath &, const QStringList &,
|
||||
QDir::Filters, QDir::SortFlags)> dirEntries;
|
||||
std::function<QByteArray(const FilePath &, int)> fileContents;
|
||||
std::function<bool(const FilePath &, const QByteArray &)> writeFileContents;
|
||||
std::function<QDateTime(const FilePath &)> lastModified;
|
||||
@@ -141,7 +142,9 @@ public:
|
||||
bool isReadableFile() const;
|
||||
bool isReadableDir() const;
|
||||
bool createDir() const;
|
||||
QList<FilePath> dirEntries(const QStringList &nameFilters, QDir::Filters filters) const;
|
||||
QList<FilePath> dirEntries(const QStringList &nameFilters,
|
||||
QDir::Filters filters,
|
||||
QDir::SortFlags sort = QDir::NoSort) const;
|
||||
QList<FilePath> dirEntries(QDir::Filters filters) const;
|
||||
QByteArray fileContents(int maxSize = -1) const;
|
||||
bool writeFileContents(const QByteArray &data) const;
|
||||
|
||||
@@ -995,17 +995,14 @@ FilePath DockerDevice::searchInPath(const FilePath &filePath) const
|
||||
|
||||
QList<FilePath> DockerDevice::directoryEntries(const FilePath &filePath,
|
||||
const QStringList &nameFilters,
|
||||
QDir::Filters filters) const
|
||||
QDir::Filters filters,
|
||||
QDir::SortFlags sort) const
|
||||
{
|
||||
QTC_ASSERT(handlesFile(filePath), return {});
|
||||
tryCreateLocalFileAccess();
|
||||
if (hasLocalFileAccess()) {
|
||||
const FilePath localAccess = mapToLocalAccess(filePath);
|
||||
const QFileInfoList entryInfoList = QDir(localAccess.toString()).entryInfoList(nameFilters, filters);
|
||||
return Utils::transform(entryInfoList, [this](const QFileInfo &fi) {
|
||||
return mapFromLocalAccess(fi.absoluteFilePath());
|
||||
});
|
||||
}
|
||||
if (hasLocalFileAccess())
|
||||
return mapToLocalAccess(filePath).dirEntries(nameFilters, filters, sort);
|
||||
|
||||
QTC_CHECK(false); // FIXME: Implement
|
||||
return {};
|
||||
}
|
||||
|
||||
@@ -90,7 +90,8 @@ public:
|
||||
Utils::FilePath searchInPath(const Utils::FilePath &filePath) const override;
|
||||
QList<Utils::FilePath> directoryEntries(const Utils::FilePath &filePath,
|
||||
const QStringList &nameFilters,
|
||||
QDir::Filters filters) const override;
|
||||
QDir::Filters filters,
|
||||
QDir::SortFlags sort) const override;
|
||||
QByteArray fileContents(const Utils::FilePath &filePath, int limit) const override;
|
||||
bool writeFileContents(const Utils::FilePath &filePath, const QByteArray &data) const override;
|
||||
QDateTime lastModified(const Utils::FilePath &filePath) const override;
|
||||
|
||||
@@ -180,7 +180,8 @@ bool DesktopDevice::handlesFile(const FilePath &filePath) const
|
||||
|
||||
QList<FilePath> DesktopDevice::directoryEntries(const FilePath &filePath,
|
||||
const QStringList &nameFilters,
|
||||
QDir::Filters filters) const
|
||||
QDir::Filters filters,
|
||||
QDir::SortFlags sort) const
|
||||
{
|
||||
QTC_CHECK(!filePath.needsDevice());
|
||||
const QDir dir(filePath.path());
|
||||
|
||||
@@ -57,7 +57,8 @@ public:
|
||||
bool handlesFile(const Utils::FilePath &filePath) const override;
|
||||
QList<Utils::FilePath> directoryEntries(const Utils::FilePath &filePath,
|
||||
const QStringList &nameFilters,
|
||||
QDir::Filters filters) const override;
|
||||
QDir::Filters filters,
|
||||
QDir::SortFlags sort) const override;
|
||||
Utils::Environment systemEnvironment() const override;
|
||||
|
||||
|
||||
|
||||
@@ -459,11 +459,11 @@ DeviceManager::DeviceManager(bool isInstance) : d(std::make_unique<DeviceManager
|
||||
return device->searchInPath(filePath);
|
||||
};
|
||||
|
||||
deviceHooks.dirEntries = [](const FilePath &filePath,
|
||||
const QStringList &nameFilters, QDir::Filters filters) {
|
||||
deviceHooks.dirEntries = [](const FilePath &filePath, const QStringList &nameFilters,
|
||||
QDir::Filters filters, QDir::SortFlags sort) {
|
||||
auto device = DeviceManager::deviceForPath(filePath);
|
||||
QTC_ASSERT(device, return FilePaths());
|
||||
return device->directoryEntries(filePath, nameFilters, filters);
|
||||
return device->directoryEntries(filePath, nameFilters, filters, sort);
|
||||
};
|
||||
|
||||
deviceHooks.fileContents = [](const FilePath &filePath, int maxSize) {
|
||||
|
||||
@@ -318,11 +318,13 @@ FilePath IDevice::searchInPath(const FilePath &filePath) const
|
||||
|
||||
QList<FilePath> IDevice::directoryEntries(const FilePath &filePath,
|
||||
const QStringList &nameFilters,
|
||||
QDir::Filters filters) const
|
||||
QDir::Filters filters,
|
||||
QDir::SortFlags sort) const
|
||||
{
|
||||
Q_UNUSED(filePath);
|
||||
Q_UNUSED(nameFilters);
|
||||
Q_UNUSED(filters);
|
||||
Q_UNUSED(sort);
|
||||
QTC_CHECK(false);
|
||||
return {};
|
||||
}
|
||||
|
||||
@@ -252,7 +252,8 @@ public:
|
||||
virtual Utils::FilePath searchInPath(const Utils::FilePath &filePath) const;
|
||||
virtual QList<Utils::FilePath> directoryEntries(const Utils::FilePath &filePath,
|
||||
const QStringList &nameFilters,
|
||||
QDir::Filters filters) const;
|
||||
QDir::Filters filters,
|
||||
QDir::SortFlags sort = QDir::NoSort) const;
|
||||
virtual QByteArray fileContents(const Utils::FilePath &filePath, int limit) const;
|
||||
virtual bool writeFileContents(const Utils::FilePath &filePath, const QByteArray &data) const;
|
||||
virtual QDateTime lastModified(const Utils::FilePath &filePath) const;
|
||||
|
||||
Reference in New Issue
Block a user