diff options
author | Petr Mrázek <peterix@gmail.com> | 2016-08-04 23:16:03 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2016-08-04 23:16:03 +0200 |
commit | b76d4573cdaa41a3493596571dbba452ab7a5b2e (patch) | |
tree | bb2412b3b2d7307ac2f1084771f923020e511fc6 /api | |
parent | 6ec2652b4562119ccf45d3bc455ef865fdfbd3ce (diff) | |
download | MultiMC-b76d4573cdaa41a3493596571dbba452ab7a5b2e.tar MultiMC-b76d4573cdaa41a3493596571dbba452ab7a5b2e.tar.gz MultiMC-b76d4573cdaa41a3493596571dbba452ab7a5b2e.tar.lz MultiMC-b76d4573cdaa41a3493596571dbba452ab7a5b2e.tar.xz MultiMC-b76d4573cdaa41a3493596571dbba452ab7a5b2e.zip |
GH-589 GH-842 GH-901 GH-1117 allow mass-enabling/disabling of mods
Diffstat (limited to 'api')
-rw-r--r-- | api/logic/minecraft/ModList.cpp | 15 | ||||
-rw-r--r-- | api/logic/minecraft/ModList.h | 3 |
2 files changed, 18 insertions, 0 deletions
diff --git a/api/logic/minecraft/ModList.cpp b/api/logic/minecraft/ModList.cpp index b9c7d9ba..d1ad75ab 100644 --- a/api/logic/minecraft/ModList.cpp +++ b/api/logic/minecraft/ModList.cpp @@ -175,6 +175,21 @@ bool ModList::installMod(const QString &filename) return false; } +bool ModList::enableMods(const QModelIndexList& indexes, bool enable) +{ + if(indexes.isEmpty()) + return true; + + for (auto i: indexes) + { + Mod &m = mods[i.row()]; + m.enable(enable); + emit dataChanged(i, i); + } + emit changed(); + return true; +} + bool ModList::deleteMods(const QModelIndexList& indexes) { if(indexes.isEmpty()) diff --git a/api/logic/minecraft/ModList.h b/api/logic/minecraft/ModList.h index 14b102e1..e7267389 100644 --- a/api/logic/minecraft/ModList.h +++ b/api/logic/minecraft/ModList.h @@ -86,6 +86,9 @@ public: /// Deletes all the selected mods virtual bool deleteMods(const QModelIndexList &indexes); + /// Enable or disable listed mods + virtual bool enableMods(const QModelIndexList &indexes, bool enable = true); + void startWatching(); void stopWatching(); |