From e38592da977858149013d0c500c66975720b3e1f Mon Sep 17 00:00:00 2001 From: Tannin Date: Sun, 17 May 2015 14:30:14 +0200 Subject: extended plugin interface. Plugins can now activate/deactivate mods, install mods suggesting a name and retrieve a list of all installed mods --- src/modlist.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/modlist.cpp') diff --git a/src/modlist.cpp b/src/modlist.cpp index e05935ef..fc09097a 100644 --- a/src/modlist.cpp +++ b/src/modlist.cpp @@ -708,6 +708,15 @@ QString ModList::displayName(const QString &internalName) const } } +QStringList ModList::allMods() const +{ + QStringList result; + for (unsigned int i = 0; i < ModInfo::getNumMods(); ++i) { + result.append(ModInfo::getByIndex(i)->internalName()); + } + return result; +} + IModList::ModStates ModList::state(const QString &name) const { unsigned int modIndex = ModInfo::getIndex(name); @@ -715,6 +724,20 @@ IModList::ModStates ModList::state(const QString &name) const return state(modIndex); } +bool ModList::setActive(const QString &name, bool active) +{ + unsigned int modIndex = ModInfo::getIndex(name); + if (modIndex == UINT_MAX) { + return false; + } else { + m_Profile->setModEnabled(modIndex, active); + + IModList::ModStates newState = state(modIndex); + m_ModStateChanged(name, newState); + return true; + } +} + int ModList::priority(const QString &name) const { unsigned int modIndex = ModInfo::getIndex(name); -- cgit v1.3.1