From df26d12b73b3b6e416d076b863ac89eb627b820a Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 1 Jul 2022 15:43:51 +0200 Subject: [PATCH] Utils: Add a convenience function to iterate over multiple directories Change-Id: I7959b65b5502362b15fab3c0fd78b3e76431ff64 Reviewed-by: Reviewed-by: Christian Stenger --- src/libs/utils/filepath.cpp | 8 ++++++++ src/libs/utils/filepath.h | 3 +++ 2 files changed, 11 insertions(+) diff --git a/src/libs/utils/filepath.cpp b/src/libs/utils/filepath.cpp index db5befd5e2d..02cea083c0f 100644 --- a/src/libs/utils/filepath.cpp +++ b/src/libs/utils/filepath.cpp @@ -795,6 +795,14 @@ void FilePath::iterateDirectory(const std::function } } +void FilePath::iterateDirectories(const FilePaths &dirs, + const std::function &callBack, + const FileFilter &filter) +{ + for (const FilePath &dir : dirs) + dir.iterateDirectory(callBack, filter); +} + QByteArray FilePath::fileContents(qint64 maxSize, qint64 offset) const { if (needsDevice()) { diff --git a/src/libs/utils/filepath.h b/src/libs/utils/filepath.h index 4b589389b4d..48682590db1 100644 --- a/src/libs/utils/filepath.h +++ b/src/libs/utils/filepath.h @@ -169,6 +169,9 @@ public: [[nodiscard]] FilePath withNewPath(const QString &newPath) const; void iterateDirectory(const std::function &callBack, const FileFilter &filter) const; + static void iterateDirectories(const QList &dirs, + const std::function &callBack, + const FileFilter &filter); enum PathAmending { AppendToPath, PrependToPath }; [[nodiscard]] FilePath searchInPath(const QList &additionalDirs = {},