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());
|
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()) {
|
if (needsDevice()) {
|
||||||
QTC_ASSERT(s_deviceHooks.dirEntries, return {});
|
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);
|
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 &)> copyFile;
|
||||||
std::function<bool(const FilePath &, const FilePath &)> renameFile;
|
std::function<bool(const FilePath &, const FilePath &)> renameFile;
|
||||||
std::function<FilePath(const FilePath &)> searchInPath;
|
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<QByteArray(const FilePath &, int)> fileContents;
|
||||||
std::function<bool(const FilePath &, const QByteArray &)> writeFileContents;
|
std::function<bool(const FilePath &, const QByteArray &)> writeFileContents;
|
||||||
std::function<QDateTime(const FilePath &)> lastModified;
|
std::function<QDateTime(const FilePath &)> lastModified;
|
||||||
@@ -141,7 +142,9 @@ public:
|
|||||||
bool isReadableFile() const;
|
bool isReadableFile() const;
|
||||||
bool isReadableDir() const;
|
bool isReadableDir() const;
|
||||||
bool createDir() 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;
|
QList<FilePath> dirEntries(QDir::Filters filters) const;
|
||||||
QByteArray fileContents(int maxSize = -1) const;
|
QByteArray fileContents(int maxSize = -1) const;
|
||||||
bool writeFileContents(const QByteArray &data) 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,
|
QList<FilePath> DockerDevice::directoryEntries(const FilePath &filePath,
|
||||||
const QStringList &nameFilters,
|
const QStringList &nameFilters,
|
||||||
QDir::Filters filters) const
|
QDir::Filters filters,
|
||||||
|
QDir::SortFlags sort) const
|
||||||
{
|
{
|
||||||
QTC_ASSERT(handlesFile(filePath), return {});
|
QTC_ASSERT(handlesFile(filePath), return {});
|
||||||
tryCreateLocalFileAccess();
|
tryCreateLocalFileAccess();
|
||||||
if (hasLocalFileAccess()) {
|
if (hasLocalFileAccess())
|
||||||
const FilePath localAccess = mapToLocalAccess(filePath);
|
return mapToLocalAccess(filePath).dirEntries(nameFilters, filters, sort);
|
||||||
const QFileInfoList entryInfoList = QDir(localAccess.toString()).entryInfoList(nameFilters, filters);
|
|
||||||
return Utils::transform(entryInfoList, [this](const QFileInfo &fi) {
|
|
||||||
return mapFromLocalAccess(fi.absoluteFilePath());
|
|
||||||
});
|
|
||||||
}
|
|
||||||
QTC_CHECK(false); // FIXME: Implement
|
QTC_CHECK(false); // FIXME: Implement
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -90,7 +90,8 @@ public:
|
|||||||
Utils::FilePath searchInPath(const Utils::FilePath &filePath) const override;
|
Utils::FilePath searchInPath(const Utils::FilePath &filePath) const override;
|
||||||
QList<Utils::FilePath> directoryEntries(const Utils::FilePath &filePath,
|
QList<Utils::FilePath> directoryEntries(const Utils::FilePath &filePath,
|
||||||
const QStringList &nameFilters,
|
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;
|
QByteArray fileContents(const Utils::FilePath &filePath, int limit) const override;
|
||||||
bool writeFileContents(const Utils::FilePath &filePath, const QByteArray &data) const override;
|
bool writeFileContents(const Utils::FilePath &filePath, const QByteArray &data) const override;
|
||||||
QDateTime lastModified(const Utils::FilePath &filePath) 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,
|
QList<FilePath> DesktopDevice::directoryEntries(const FilePath &filePath,
|
||||||
const QStringList &nameFilters,
|
const QStringList &nameFilters,
|
||||||
QDir::Filters filters) const
|
QDir::Filters filters,
|
||||||
|
QDir::SortFlags sort) const
|
||||||
{
|
{
|
||||||
QTC_CHECK(!filePath.needsDevice());
|
QTC_CHECK(!filePath.needsDevice());
|
||||||
const QDir dir(filePath.path());
|
const QDir dir(filePath.path());
|
||||||
|
|||||||
@@ -57,7 +57,8 @@ public:
|
|||||||
bool handlesFile(const Utils::FilePath &filePath) const override;
|
bool handlesFile(const Utils::FilePath &filePath) const override;
|
||||||
QList<Utils::FilePath> directoryEntries(const Utils::FilePath &filePath,
|
QList<Utils::FilePath> directoryEntries(const Utils::FilePath &filePath,
|
||||||
const QStringList &nameFilters,
|
const QStringList &nameFilters,
|
||||||
QDir::Filters filters) const override;
|
QDir::Filters filters,
|
||||||
|
QDir::SortFlags sort) const override;
|
||||||
Utils::Environment systemEnvironment() const override;
|
Utils::Environment systemEnvironment() const override;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -459,11 +459,11 @@ DeviceManager::DeviceManager(bool isInstance) : d(std::make_unique<DeviceManager
|
|||||||
return device->searchInPath(filePath);
|
return device->searchInPath(filePath);
|
||||||
};
|
};
|
||||||
|
|
||||||
deviceHooks.dirEntries = [](const FilePath &filePath,
|
deviceHooks.dirEntries = [](const FilePath &filePath, const QStringList &nameFilters,
|
||||||
const QStringList &nameFilters, QDir::Filters filters) {
|
QDir::Filters filters, QDir::SortFlags sort) {
|
||||||
auto device = DeviceManager::deviceForPath(filePath);
|
auto device = DeviceManager::deviceForPath(filePath);
|
||||||
QTC_ASSERT(device, return FilePaths());
|
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) {
|
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,
|
QList<FilePath> IDevice::directoryEntries(const FilePath &filePath,
|
||||||
const QStringList &nameFilters,
|
const QStringList &nameFilters,
|
||||||
QDir::Filters filters) const
|
QDir::Filters filters,
|
||||||
|
QDir::SortFlags sort) const
|
||||||
{
|
{
|
||||||
Q_UNUSED(filePath);
|
Q_UNUSED(filePath);
|
||||||
Q_UNUSED(nameFilters);
|
Q_UNUSED(nameFilters);
|
||||||
Q_UNUSED(filters);
|
Q_UNUSED(filters);
|
||||||
|
Q_UNUSED(sort);
|
||||||
QTC_CHECK(false);
|
QTC_CHECK(false);
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -252,7 +252,8 @@ public:
|
|||||||
virtual Utils::FilePath searchInPath(const Utils::FilePath &filePath) const;
|
virtual Utils::FilePath searchInPath(const Utils::FilePath &filePath) const;
|
||||||
virtual QList<Utils::FilePath> directoryEntries(const Utils::FilePath &filePath,
|
virtual QList<Utils::FilePath> directoryEntries(const Utils::FilePath &filePath,
|
||||||
const QStringList &nameFilters,
|
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 QByteArray fileContents(const Utils::FilePath &filePath, int limit) const;
|
||||||
virtual bool writeFileContents(const Utils::FilePath &filePath, const QByteArray &data) const;
|
virtual bool writeFileContents(const Utils::FilePath &filePath, const QByteArray &data) const;
|
||||||
virtual QDateTime lastModified(const Utils::FilePath &filePath) const;
|
virtual QDateTime lastModified(const Utils::FilePath &filePath) const;
|
||||||
|
|||||||
Reference in New Issue
Block a user