forked from qt-creator/qt-creator
FilePath: Add bool to lambda iterateDirectory
Change-Id: I017426a48981da2fbeb32b6d5bee87865d583c0b Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
@@ -722,7 +722,7 @@ QList<FilePath> FilePath::dirEntries(QDir::Filters filters) const
|
|||||||
return dirEntries({}, filters);
|
return dirEntries({}, filters);
|
||||||
}
|
}
|
||||||
|
|
||||||
void FilePath::iterateDirectory(const std::function<void(const FilePath &item)> &callBack,
|
void FilePath::iterateDirectory(const std::function<bool(const FilePath &item)> &callBack,
|
||||||
const QStringList &nameFilters,
|
const QStringList &nameFilters,
|
||||||
QDir::Filters filters,
|
QDir::Filters filters,
|
||||||
QDirIterator::IteratorFlags flags) const
|
QDirIterator::IteratorFlags flags) const
|
||||||
@@ -730,12 +730,14 @@ void FilePath::iterateDirectory(const std::function<void(const FilePath &item)>
|
|||||||
if (needsDevice()) {
|
if (needsDevice()) {
|
||||||
for (const FilePath &filePath :
|
for (const FilePath &filePath :
|
||||||
s_deviceHooks.dirEntries(*this, nameFilters, filters, QDir::NoSort))
|
s_deviceHooks.dirEntries(*this, nameFilters, filters, QDir::NoSort))
|
||||||
callBack(filePath);
|
if (!callBack(filePath))
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
QDirIterator it(m_data, nameFilters, filters, flags);
|
QDirIterator it(m_data, nameFilters, filters, flags);
|
||||||
while (it.hasNext())
|
while (it.hasNext())
|
||||||
callBack(FilePath::fromString(it.next()));
|
if (!callBack(FilePath::fromString(it.next())))
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
QByteArray FilePath::fileContents(qint64 maxSize, qint64 offset) const
|
QByteArray FilePath::fileContents(qint64 maxSize, qint64 offset) const
|
||||||
|
@@ -156,7 +156,7 @@ public:
|
|||||||
[[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<void(const FilePath &item)> &callBack,
|
void iterateDirectory(const std::function<bool(const FilePath &item)> &callBack,
|
||||||
const QStringList &nameFilters,
|
const QStringList &nameFilters,
|
||||||
QDir::Filters filters = QDir::NoFilter,
|
QDir::Filters filters = QDir::NoFilter,
|
||||||
QDirIterator::IteratorFlags flags = QDirIterator::NoIteratorFlags) const;
|
QDirIterator::IteratorFlags flags = QDirIterator::NoIteratorFlags) const;
|
||||||
|
Reference in New Issue
Block a user