diff options
Diffstat (limited to 'api')
-rw-r--r-- | api/logic/minecraft/mod/ModFolderModel.cpp | 20 | ||||
-rw-r--r-- | api/logic/minecraft/mod/ModFolderModel.h | 9 |
2 files changed, 22 insertions, 7 deletions
diff --git a/api/logic/minecraft/mod/ModFolderModel.cpp b/api/logic/minecraft/mod/ModFolderModel.cpp index c9a69995..14907dea 100644 --- a/api/logic/minecraft/mod/ModFolderModel.cpp +++ b/api/logic/minecraft/mod/ModFolderModel.cpp @@ -312,15 +312,29 @@ bool ModFolderModel::enableMods(const QModelIndexList& indexes, bool enable) if(indexes.isEmpty()) return true; - for (auto i: indexes) + for (auto index: indexes) { - Mod &m = mods[i.row()]; + Mod &m = mods[index.row()]; m.enable(enable); - emit dataChanged(i, i); + emit dataChanged(index, index); } return true; } +void ModFolderModel::toggleEnabled(const QModelIndex& index) +{ + if(interaction_disabled) { + return; + } + if(!index.isValid()) { + return; + } + + Mod &m = mods[index.row()]; + m.enable(!m.enabled()); + emit dataChanged(index, index); +} + bool ModFolderModel::deleteMods(const QModelIndexList& indexes) { if(interaction_disabled) { diff --git a/api/logic/minecraft/mod/ModFolderModel.h b/api/logic/minecraft/mod/ModFolderModel.h index ff56be4a..624345be 100644 --- a/api/logic/minecraft/mod/ModFolderModel.h +++ b/api/logic/minecraft/mod/ModFolderModel.h @@ -82,7 +82,7 @@ public: } /// Reloads the mod list and returns true if the list changed. - virtual bool update(); + bool update(); /** * Adds the given mod to the list at the given index - if the list supports custom ordering @@ -90,15 +90,16 @@ public: bool installMod(const QString& filename); /// Deletes all the selected mods - virtual bool deleteMods(const QModelIndexList &indexes); + bool deleteMods(const QModelIndexList &indexes); /// Enable or disable listed mods - virtual bool enableMods(const QModelIndexList &indexes, bool enable = true); + bool enableMods(const QModelIndexList &indexes, bool enable = true); + void toggleEnabled(const QModelIndex &index); void startWatching(); void stopWatching(); - virtual bool isValid(); + bool isValid(); QDir dir() { |