summaryrefslogtreecommitdiff
path: root/src/organizercore.cpp
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2020-05-23 23:08:05 +0200
committerMikaƫl Capelle <capelle.mikael@gmail.com>2020-05-23 23:08:33 +0200
commit20649ec027a6da0994819c0ce18c4862f8ff66f9 (patch)
tree7def64062ef136e0dfddb75899316e5562d4d108 /src/organizercore.cpp
parentfceca422db04ae9d8cd9ca5e2e21a06697293937 (diff)
Fix issues with very slow refresh time for large root data directories.
Diffstat (limited to 'src/organizercore.cpp')
-rw-r--r--src/organizercore.cpp16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/organizercore.cpp b/src/organizercore.cpp
index a6d6e34f..feab76a7 100644
--- a/src/organizercore.cpp
+++ b/src/organizercore.cpp
@@ -834,10 +834,8 @@ QStringList OrganizerCore::listDirectories(const QString &directoryName) const
if (!directoryName.isEmpty())
dir = dir->findSubDirectoryRecursive(ToWString(directoryName));
if (dir != nullptr) {
- std::vector<DirectoryEntry *>::iterator current, end;
- dir->getSubDirectories(current, end);
- for (; current != end; ++current) {
- result.append(ToQString((*current)->getName()));
+ for (const auto& d : dir->getSubDirectories()) {
+ result.append(ToQString(d->getName()));
}
}
return result;
@@ -1926,14 +1924,12 @@ std::vector<Mapping> OrganizerCore::fileMapping(
}
// recurse into subdirectories
- std::vector<DirectoryEntry *>::const_iterator current, end;
- directoryEntry->getSubDirectories(current, end);
- for (; current != end; ++current) {
- int origin = (*current)->anyOrigin();
+ for (const auto& d : directoryEntry->getSubDirectories()) {
+ int origin = d->anyOrigin();
QString originPath
= QString::fromStdWString(base->getOriginByID(origin).getPath());
- QString dirName = QString::fromStdWString((*current)->getName());
+ QString dirName = QString::fromStdWString(d->getName());
QString source = originPath + relPath + dirName;
QString target = dataPath + relPath + dirName;
@@ -1942,7 +1938,7 @@ std::vector<Mapping> OrganizerCore::fileMapping(
result.push_back({source, target, true, writeDestination});
std::vector<Mapping> subRes = fileMapping(
- dataPath, relPath + dirName + "\\", base, *current, createDestination);
+ dataPath, relPath + dirName + "\\", base, d, createDestination);
result.insert(result.end(), subRes.begin(), subRes.end());
}
return result;