mirror of
https://github.com/ModOrganizer2/modorganizer-bsapacker.git
synced 2026-07-27 14:06:14 -07:00
Merge pull request #39 from Liderate/setFiles_speedup
Avoid is_directory check for increased performance
This commit is contained in:
@@ -7,7 +7,6 @@
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
using std::filesystem::is_directory;
|
||||
using std::filesystem::path;
|
||||
using std::filesystem::directory_entry;
|
||||
using std::filesystem::directory_iterator;
|
||||
@@ -25,7 +24,9 @@ namespace BsaPacker
|
||||
{
|
||||
uint32_t count = 0;
|
||||
for(auto& p : recursive_directory_iterator(rootDirectory)) {
|
||||
count++;
|
||||
if (p.is_regular_file()) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
return count;
|
||||
}
|
||||
@@ -42,7 +43,6 @@ namespace BsaPacker
|
||||
bool ArchiveBuilderHelper::isFileIgnorable(const path& filepath, const std::vector<path::string_type>& rootDirFilenames) const
|
||||
{
|
||||
return this->doesPathContainFiles(filepath, rootDirFilenames) || // ignore files within mod directory
|
||||
is_directory(filepath) || // ignore directories
|
||||
this->isExtensionBlacklisted(filepath); // ignore user blacklisted file types
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace BsaPacker
|
||||
const auto& rootDirFiles = this->m_ArchiveBuilderHelper->getRootDirectoryFilenames(dirString);
|
||||
qDebug() << "root is: " << m_RootDirectory.path() + '/';
|
||||
|
||||
QDirIterator iterator(this->m_RootDirectory, QDirIterator::Subdirectories);
|
||||
QDirIterator iterator(this->m_RootDirectory.absolutePath(), QDir::Files, QDirIterator::Subdirectories);
|
||||
while (iterator.hasNext()) {
|
||||
QApplication::processEvents();
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace BsaPacker
|
||||
const auto& rootDirFiles = this->m_ArchiveBuilderHelper->getRootDirectoryFilenames(dirString);
|
||||
qDebug() << "root is: " << m_RootDirectory.path() + '/';
|
||||
|
||||
QDirIterator iterator(this->m_RootDirectory, QDirIterator::Subdirectories);
|
||||
QDirIterator iterator(this->m_RootDirectory.absolutePath(), QDir::Files, QDirIterator::Subdirectories);
|
||||
while (iterator.hasNext()) {
|
||||
QApplication::processEvents();
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace BsaPacker
|
||||
const auto& rootDirFiles = this->m_ArchiveBuilderHelper->getRootDirectoryFilenames(dirString);
|
||||
qDebug() << "root is: " << m_RootDirectory.path() + '/';
|
||||
|
||||
QDirIterator iterator(this->m_RootDirectory, QDirIterator::Subdirectories);
|
||||
QDirIterator iterator(this->m_RootDirectory.absolutePath(), QDir::Files, QDirIterator::Subdirectories);
|
||||
while (iterator.hasNext()) {
|
||||
QApplication::processEvents();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user