mirror of
https://github.com/vcmi/vcmi.git
synced 2025-02-15 13:33:36 +02:00
Fix display of active submods of disabled root mods
This commit is contained in:
parent
822b6a00e7
commit
6bad88ba99
@ -112,7 +112,10 @@ QVariant ModStateItemModel::getIcon(const ModState & mod, int field) const
|
||||
|
||||
if(mod.isSubmod() && !model->isModEnabled(mod.getTopParentID()))
|
||||
{
|
||||
if (model->isModEnabled(mod.getID()))
|
||||
QString topParentID = mod.getTopParentID();
|
||||
QString settingID = mod.getID().section('.', 1);
|
||||
|
||||
if (model->isModSettingEnabled(topParentID, settingID))
|
||||
return QIcon(iconEnabledSubmod);
|
||||
else
|
||||
return QIcon(iconDisabledSubmod);
|
||||
|
@ -70,6 +70,11 @@ bool ModStateModel::isModInstalled(QString modName) const
|
||||
return getMod(modName).isInstalled();
|
||||
}
|
||||
|
||||
bool ModStateModel::isModSettingEnabled(QString rootModName, QString modSettingName) const
|
||||
{
|
||||
return modManager->isModSettingActive(rootModName.toStdString(), modSettingName.toStdString());
|
||||
}
|
||||
|
||||
bool ModStateModel::isModEnabled(QString modName) const
|
||||
{
|
||||
return modManager->isModActive(modName.toStdString());
|
||||
|
@ -40,6 +40,7 @@ public:
|
||||
bool isModExists(QString modName) const;
|
||||
bool isModInstalled(QString modName) const;
|
||||
bool isModEnabled(QString modName) const;
|
||||
bool isModSettingEnabled(QString rootModName, QString modSettingName) const;
|
||||
bool isModUpdateAvailable(QString modName) const;
|
||||
bool isModVisible(QString modName) const;
|
||||
|
||||
|
@ -387,6 +387,11 @@ const ModDescription & ModManager::getModDescription(const TModID & modID) const
|
||||
return modsStorage->getMod(modID);
|
||||
}
|
||||
|
||||
bool ModManager::isModSettingActive(const TModID & rootModID, const TModID & modSettingID) const
|
||||
{
|
||||
return modsPreset->getModSettings(rootModID).at(modSettingID);
|
||||
}
|
||||
|
||||
bool ModManager::isModActive(const TModID & modID) const
|
||||
{
|
||||
return vstd::contains(getActiveMods(), modID);
|
||||
|
@ -128,6 +128,7 @@ public:
|
||||
const TModList & getActiveMods() const;
|
||||
TModList getAllMods() const;
|
||||
|
||||
bool isModSettingActive(const TModID & rootModID, const TModID & modSettingID) const;
|
||||
bool isModActive(const TModID & modID) const;
|
||||
uint32_t computeChecksum(const TModID & modName) const;
|
||||
std::optional<uint32_t> getValidatedChecksum(const TModID & modName) const;
|
||||
|
Loading…
x
Reference in New Issue
Block a user