summaryrefslogtreecommitdiffstats
path: root/api/logic/minecraft
diff options
context:
space:
mode:
Diffstat (limited to 'api/logic/minecraft')
-rw-r--r--api/logic/minecraft/ModList.cpp15
-rw-r--r--api/logic/minecraft/ModList.h3
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();