mirror of
https://github.com/vcmi/vcmi.git
synced 2025-06-21 00:19:29 +02:00
Fix display of active submods of disabled root mods
This commit is contained in:
@ -112,7 +112,10 @@ QVariant ModStateItemModel::getIcon(const ModState & mod, int field) const
|
|||||||
|
|
||||||
if(mod.isSubmod() && !model->isModEnabled(mod.getTopParentID()))
|
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);
|
return QIcon(iconEnabledSubmod);
|
||||||
else
|
else
|
||||||
return QIcon(iconDisabledSubmod);
|
return QIcon(iconDisabledSubmod);
|
||||||
|
@ -70,6 +70,11 @@ bool ModStateModel::isModInstalled(QString modName) const
|
|||||||
return getMod(modName).isInstalled();
|
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
|
bool ModStateModel::isModEnabled(QString modName) const
|
||||||
{
|
{
|
||||||
return modManager->isModActive(modName.toStdString());
|
return modManager->isModActive(modName.toStdString());
|
||||||
|
@ -40,6 +40,7 @@ public:
|
|||||||
bool isModExists(QString modName) const;
|
bool isModExists(QString modName) const;
|
||||||
bool isModInstalled(QString modName) const;
|
bool isModInstalled(QString modName) const;
|
||||||
bool isModEnabled(QString modName) const;
|
bool isModEnabled(QString modName) const;
|
||||||
|
bool isModSettingEnabled(QString rootModName, QString modSettingName) const;
|
||||||
bool isModUpdateAvailable(QString modName) const;
|
bool isModUpdateAvailable(QString modName) const;
|
||||||
bool isModVisible(QString modName) const;
|
bool isModVisible(QString modName) const;
|
||||||
|
|
||||||
|
@ -387,6 +387,11 @@ const ModDescription & ModManager::getModDescription(const TModID & modID) const
|
|||||||
return modsStorage->getMod(modID);
|
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
|
bool ModManager::isModActive(const TModID & modID) const
|
||||||
{
|
{
|
||||||
return vstd::contains(getActiveMods(), modID);
|
return vstd::contains(getActiveMods(), modID);
|
||||||
|
@ -128,6 +128,7 @@ public:
|
|||||||
const TModList & getActiveMods() const;
|
const TModList & getActiveMods() const;
|
||||||
TModList getAllMods() const;
|
TModList getAllMods() const;
|
||||||
|
|
||||||
|
bool isModSettingActive(const TModID & rootModID, const TModID & modSettingID) const;
|
||||||
bool isModActive(const TModID & modID) const;
|
bool isModActive(const TModID & modID) const;
|
||||||
uint32_t computeChecksum(const TModID & modName) const;
|
uint32_t computeChecksum(const TModID & modName) const;
|
||||||
std::optional<uint32_t> getValidatedChecksum(const TModID & modName) const;
|
std::optional<uint32_t> getValidatedChecksum(const TModID & modName) const;
|
||||||
|
Reference in New Issue
Block a user