From 20649ec027a6da0994819c0ce18c4862f8ff66f9 Mon Sep 17 00:00:00 2001 From: isanae <14251494+isanae@users.noreply.github.com> Date: Sat, 23 May 2020 23:08:05 +0200 Subject: Fix issues with very slow refresh time for large root data directories. --- src/organizercore.cpp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'src/organizercore.cpp') 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::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 OrganizerCore::fileMapping( } // recurse into subdirectories - std::vector::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 OrganizerCore::fileMapping( result.push_back({source, target, true, writeDestination}); std::vector subRes = fileMapping( - dataPath, relPath + dirName + "\\", base, *current, createDestination); + dataPath, relPath + dirName + "\\", base, d, createDestination); result.insert(result.end(), subRes.begin(), subRes.end()); } return result; -- cgit v1.3.1