From b47c89661e603336abd98d5ecd0a82f6743cab18 Mon Sep 17 00:00:00 2001 From: Tannin Date: Wed, 16 Oct 2013 23:04:03 +0200 Subject: - plugin (esp/esm) list is now exposed to plugins (read-only functionality right now) - integrated fomod installer now supports file dependencies - bugfix: integrated fomod installer crashed if the installer had no optiosn´´ns MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pluginlist.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'src/pluginlist.cpp') diff --git a/src/pluginlist.cpp b/src/pluginlist.cpp index 55f8a39e..74aa6ff3 100644 --- a/src/pluginlist.cpp +++ b/src/pluginlist.cpp @@ -571,6 +571,46 @@ void PluginList::refreshLoadOrder() } } +IPluginList::PluginState PluginList::state(const QString &name) const +{ + auto iter = m_ESPsByName.find(name.toLower()); + if (iter == m_ESPsByName.end()) { + return IPluginList::STATE_MISSING; + } else { + return m_ESPs[iter->second].m_Enabled ? IPluginList::STATE_ACTIVE : IPluginList::STATE_INACTIVE; + } +} + +int PluginList::priority(const QString &name) const +{ + auto iter = m_ESPsByName.find(name.toLower()); + if (iter == m_ESPsByName.end()) { + return -1; + } else { + return m_ESPs[iter->second].m_Priority; + } +} + +int PluginList::loadOrder(const QString &name) const +{ + auto iter = m_ESPsByName.find(name.toLower()); + if (iter == m_ESPsByName.end()) { + return -1; + } else { + return m_ESPs[iter->second].m_LoadOrder; + } +} + +bool PluginList::isMaster(const QString &name) const +{ + auto iter = m_ESPsByName.find(name.toLower()); + if (iter == m_ESPsByName.end()) { + return false; + } else { + return m_ESPs[iter->second].m_IsMaster; + } +} + void PluginList::updateIndices() { -- cgit v1.3.1