From 3423b0a59337cf4cf99a24a1421ea33c4c641a22 Mon Sep 17 00:00:00 2001 From: isanae <14251494+isanae@users.noreply.github.com> Date: Mon, 10 Feb 2020 14:53:04 -0500 Subject: threaded refresher --- src/shared/directoryentry.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/shared/directoryentry.cpp') diff --git a/src/shared/directoryentry.cpp b/src/shared/directoryentry.cpp index d171be38..b7329833 100644 --- a/src/shared/directoryentry.cpp +++ b/src/shared/directoryentry.cpp @@ -691,6 +691,33 @@ void DirectoryEntry::addFromOrigin( m_Populated = true; } +void DirectoryEntry::addFromList( + const std::wstring &originName, const std::wstring &directory, + env::Directory& root, int priority) +{ + FilesOrigin &origin = createOrigin(originName, directory, priority); + addDir(origin, root); +} + +void DirectoryEntry::addDir(FilesOrigin& origin, env::Directory& d) +{ + for (auto& sd : d.dirs) { + auto* sdirEntry = getSubDirectory(sd.name, true, origin.getID()); + sdirEntry->addDir(origin, sd); + } + + for (auto& f : d.files) { + insert(f.name, origin, f.ft, L"", -1); + } + + std::sort( + m_SubDirectories.begin(), + m_SubDirectories.end(), + &DirCompareByName); + + m_Populated = true; +} + void DirectoryEntry::addFromBSA( const std::wstring &originName, std::wstring &directory, const std::wstring &fileName, int priority, int order) -- cgit v1.3.1