diff options
| author | LostDragonist <lost.dragonist@gmail.com> | 2019-03-30 22:27:26 -0500 |
|---|---|---|
| committer | LostDragonist <lost.dragonist@gmail.com> | 2019-03-30 22:27:26 -0500 |
| commit | c362199ac04da66ddeb0a29abf8f4fc765ac9bfe (patch) | |
| tree | 3dce51de07d327f16fcacc9782105f34be45f9d0 | |
| parent | 22d3f0cd3ca475c95095e158d95dd1a1e22f8229 (diff) | |
Fix performance when selecting many mods
| -rw-r--r-- | src/mainwindow.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 1569eba5..8066c59f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -2593,12 +2593,11 @@ void MainWindow::modlistSelectionsChanged(const QItemSelection &selected) { if (selected.count()) { auto selection = selected.last(); - for (auto index : selection.indexes()) { - ModInfo::Ptr selectedMod = ModInfo::getByIndex(index.data(Qt::UserRole + 1).toInt()); - m_OrganizerCore.modList()->setOverwriteMarkers(selectedMod->getModOverwrite(), selectedMod->getModOverwritten()); - m_OrganizerCore.modList()->setArchiveOverwriteMarkers(selectedMod->getModArchiveOverwrite(), selectedMod->getModArchiveOverwritten()); - m_OrganizerCore.modList()->setArchiveLooseOverwriteMarkers(selectedMod->getModArchiveLooseOverwrite(), selectedMod->getModArchiveLooseOverwritten()); - } + auto index = selection.indexes().last(); + ModInfo::Ptr selectedMod = ModInfo::getByIndex(index.data(Qt::UserRole + 1).toInt()); + m_OrganizerCore.modList()->setOverwriteMarkers(selectedMod->getModOverwrite(), selectedMod->getModOverwritten()); + m_OrganizerCore.modList()->setArchiveOverwriteMarkers(selectedMod->getModArchiveOverwrite(), selectedMod->getModArchiveOverwritten()); + m_OrganizerCore.modList()->setArchiveLooseOverwriteMarkers(selectedMod->getModArchiveLooseOverwrite(), selectedMod->getModArchiveLooseOverwritten()); } else { m_OrganizerCore.modList()->setOverwriteMarkers(std::set<unsigned int>(), std::set<unsigned int>()); m_OrganizerCore.modList()->setArchiveOverwriteMarkers(std::set<unsigned int>(), std::set<unsigned int>()); |
