diff options
author | Hannah von Reth <hannah.vonreth@owncloud.com> | 2022-07-06 15:12:32 +0300 |
---|---|---|
committer | Hannah von Reth <vonreth@kde.org> | 2022-07-06 19:57:04 +0300 |
commit | ab8f9e3a43b51a853eae1680bcaf3459357fb790 (patch) | |
tree | dc52276f7deee96b360ec0516c604134a2694be9 | |
parent | bee85d6bdf7fa6fe6ff0129289da67d1247215e5 (diff) |
Cleanup
-rw-r--r-- | src/gui/folderstatusmodel.cpp | 40 | ||||
-rw-r--r-- | src/gui/folderstatusmodel.h | 3 |
2 files changed, 16 insertions, 27 deletions
diff --git a/src/gui/folderstatusmodel.cpp b/src/gui/folderstatusmodel.cpp index 30cc380d5..0cbf64355 100644 --- a/src/gui/folderstatusmodel.cpp +++ b/src/gui/folderstatusmodel.cpp @@ -880,16 +880,7 @@ void FolderStatusModel::slotSetProgress(const ProgressInfo &progress, Folder *f) return; // for https://github.com/owncloud/client/issues/2648#issuecomment-71377909 } - const int folderIndex = [f, this] { - int folderIndex = -1; - for (int i = 0; i < _folders.count(); ++i) { - if (_folders.at(i)._folder == f) { - folderIndex = i; - break; - } - } - return folderIndex; - }(); + const int folderIndex = indexOf(f); if (folderIndex < 0) { return; } @@ -918,8 +909,6 @@ void FolderStatusModel::slotSetProgress(const ProgressInfo &progress, Folder *f) case ProgressInfo::Propagation: Q_FALLTHROUGH(); case ProgressInfo::Done: - // Status is Propagation or Done - if (!progress._lastCompletedItem.isEmpty() && Progress::isWarningKind(progress._lastCompletedItem._status)) { pi->_warningCount++; @@ -1057,19 +1046,24 @@ void FolderStatusModel::computeProgress(const ProgressInfo &progress, SubFolderI pi->_overallPercent = qBound(0, overallPercent, 100); } +int FolderStatusModel::indexOf(Folder *f) const +{ + const auto it = std::find_if(_folders.cbegin(), _folders.cend(), [f](auto &it) { + return it._folder == f; + }); + if (it == _folders.cend()) { + return -1; + } + return std::distance(_folders.cbegin(), it); +} + void FolderStatusModel::slotFolderSyncStateChange(Folder *f) { if (!f) { return; } - int folderIndex = -1; - for (int i = 0; i < _folders.count(); ++i) { - if (_folders.at(i)._folder == f) { - folderIndex = i; - break; - } - } + const int folderIndex = indexOf(f); if (folderIndex < 0) { return; } @@ -1207,13 +1201,7 @@ void FolderStatusModel::slotNewBigFolder() auto f = qobject_cast<Folder *>(sender()); OC_ASSERT(f); - int folderIndex = -1; - for (int i = 0; i < _folders.count(); ++i) { - if (_folders.at(i)._folder == f) { - folderIndex = i; - break; - } - } + const int folderIndex = indexOf(f); if (folderIndex < 0) { return; } diff --git a/src/gui/folderstatusmodel.h b/src/gui/folderstatusmodel.h index 09f67eb9a..e58018958 100644 --- a/src/gui/folderstatusmodel.h +++ b/src/gui/folderstatusmodel.h @@ -115,7 +115,6 @@ public: std::chrono::steady_clock::time_point _lastProgressUpdated = std::chrono::steady_clock::now(); }; - QVector<SubFolderInfo> _folders; enum ItemType { RootFolder, SubFolder, @@ -160,9 +159,11 @@ private: const QStringList &oldBlackList) const; void computeProgress(const ProgressInfo &progress, SubFolderInfo::Progress *pi); + int indexOf(Folder *f) const; const AccountState *_accountState; bool _dirty; // If the selective sync checkboxes were changed + QVector<SubFolderInfo> _folders; /** * Keeps track of items that are fetching data from the server. |