diff options
| author | isanae <14251494+isanae@users.noreply.github.com> | 2019-12-12 18:57:36 -0500 |
|---|---|---|
| committer | isanae <14251494+isanae@users.noreply.github.com> | 2020-02-04 03:33:17 -0500 |
| commit | c5f98f9756ed9ba5b2241fa11215d99c8bf52461 (patch) | |
| tree | 3e88b4cd79f0a7b408df2337fbaf5569b685d591 /src/shared | |
| parent | d3e9abddaf1f927102002d9fb2721e858f6c3a3e (diff) | |
now prunes empty directories
handles archives and conflicts checkboxes
Diffstat (limited to 'src/shared')
| -rw-r--r-- | src/shared/directoryentry.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/shared/directoryentry.h b/src/shared/directoryentry.h index 785c3ff6..0e6b20f0 100644 --- a/src/shared/directoryentry.h +++ b/src/shared/directoryentry.h @@ -217,8 +217,10 @@ public: void clear();
bool isPopulated() const { return m_Populated; }
+ bool isTopLevel() const { return m_TopLevel; }
bool isEmpty() const { return m_Files.empty() && m_SubDirectories.empty(); }
+ bool hasFiles() const { return !m_Files.empty(); }
const DirectoryEntry *getParent() const { return m_Parent; }
@@ -247,6 +249,18 @@ public: begin = m_SubDirectories.begin(); end = m_SubDirectories.end();
}
+ template <class F>
+ void forEachFile(F&& f) const
+ {
+ for (auto&& p : m_Files) {
+ if (auto file=m_FileRegister->getFile(p.second)) {
+ if (!f(*file)) {
+ break;
+ }
+ }
+ }
+ }
+
DirectoryEntry *findSubDirectory(const std::wstring &name) const;
DirectoryEntry *findSubDirectoryRecursive(const std::wstring &path);
|
