From b36c66689912ccd4545bb8c1b712bcf887853e41 Mon Sep 17 00:00:00 2001 From: Tannin Date: Wed, 1 Jun 2016 19:33:37 +0200 Subject: fixed: mandatory esms could get disabled without a way in the ui to re-enable them --- src/pluginlist.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/pluginlist.cpp') diff --git a/src/pluginlist.cpp b/src/pluginlist.cpp index 8d37ab82..bc6a908e 100644 --- a/src/pluginlist.cpp +++ b/src/pluginlist.cpp @@ -223,7 +223,8 @@ void PluginList::enableESP(const QString &name, bool enable) std::map::iterator iter = m_ESPsByName.find(name.toLower()); if (iter != m_ESPsByName.end()) { - m_ESPs[iter->second].m_Enabled = enable; + m_ESPs[iter->second].m_Enabled = + enable | m_ESPs[iter->second].m_ForceEnabled; emit writePluginsList(); } else { @@ -529,11 +530,11 @@ IPluginList::PluginStates PluginList::state(const QString &name) const } } -void PluginList::setState(const QString &name, PluginStates state) -{ +void PluginList::setState(const QString &name, PluginStates state) { auto iter = m_ESPsByName.find(name.toLower()); if (iter != m_ESPsByName.end()) { - m_ESPs[iter->second].m_Enabled = state == IPluginList::STATE_ACTIVE; + m_ESPs[iter->second].m_Enabled = (state == IPluginList::STATE_ACTIVE) || + m_ESPs[iter->second].m_ForceEnabled; } else { qWarning("plugin %s not found", qPrintable(name)); } @@ -810,7 +811,8 @@ bool PluginList::setData(const QModelIndex &modIndex, const QVariant &value, int bool result = false; if (role == Qt::CheckStateRole) { - m_ESPs[modIndex.row()].m_Enabled = value.toInt() == Qt::Checked; + m_ESPs[modIndex.row()].m_Enabled = + value.toInt() == Qt::Checked || m_ESPs[modIndex.row()].m_ForceEnabled; emit dataChanged(modIndex, modIndex); refreshLoadOrder(); -- cgit v1.3.1