From 7fd81029ce2f67aa7a6555858dfed7d6ac58c4e3 Mon Sep 17 00:00:00 2001 From: LostDragonist Date: Tue, 22 Jan 2019 14:59:07 -0600 Subject: Reduce file I/O operations when enabling/disabling multiple mods --- src/modlistsortproxy.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/modlistsortproxy.cpp') diff --git a/src/modlistsortproxy.cpp b/src/modlistsortproxy.cpp index 464f9104..5afcc26a 100644 --- a/src/modlistsortproxy.cpp +++ b/src/modlistsortproxy.cpp @@ -86,10 +86,12 @@ void ModListSortProxy::enableAllVisible() { if (m_Profile == nullptr) return; + QList modsToEnable; for (int i = 0; i < this->rowCount(); ++i) { int modID = mapToSource(index(i, 0)).data(Qt::UserRole + 1).toInt(); - m_Profile->setModEnabled(modID, true); + modsToEnable.append(modID); } + m_Profile->setModsEnabled(modsToEnable, QList()); invalidate(); } @@ -97,10 +99,12 @@ void ModListSortProxy::disableAllVisible() { if (m_Profile == nullptr) return; + QList modsToDisable; for (int i = 0; i < this->rowCount(); ++i) { int modID = mapToSource(index(i, 0)).data(Qt::UserRole + 1).toInt(); - m_Profile->setModEnabled(modID, false); + modsToDisable.append(modID); } + m_Profile->setModsEnabled(QList(), modsToDisable); invalidate(); } -- cgit v1.3.1