summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2014-09-10 20:37:17 +0200
committerTannin <devnull@localhost>2014-09-10 20:37:17 +0200
commit19cb2d4076d3515fa490fce7fbd339e92c7c3adf (patch)
tree11af166f75b1013b441be67d5d321db298e72d85
parent5aa5c90d39f46cfcf8d169b4087f30fcccd89640 (diff)
plugins can now query the list of masters for a plugin
-rw-r--r--src/pluginlist.cpp14
-rw-r--r--src/pluginlist.h1
2 files changed, 15 insertions, 0 deletions
diff --git a/src/pluginlist.cpp b/src/pluginlist.cpp
index 43246b55..ff370fa4 100644
--- a/src/pluginlist.cpp
+++ b/src/pluginlist.cpp
@@ -667,6 +667,20 @@ bool PluginList::isMaster(const QString &name) const
}
}
+QStringList PluginList::masters(const QString &name) const
+{
+ auto iter = m_ESPsByName.find(name.toLower());
+ if (iter == m_ESPsByName.end()) {
+ return QStringList();
+ } else {
+ QStringList result;
+ foreach (const QString &master, m_ESPs[iter->second].m_Masters) {
+ result.append(master);
+ }
+ return result;
+ }
+}
+
QString PluginList::origin(const QString &name) const
{
auto iter = m_ESPsByName.find(name.toLower());
diff --git a/src/pluginlist.h b/src/pluginlist.h
index 8c06fefd..729c6f8b 100644
--- a/src/pluginlist.h
+++ b/src/pluginlist.h
@@ -224,6 +224,7 @@ public:
virtual int priority(const QString &name) const;
virtual int loadOrder(const QString &name) const;
virtual bool isMaster(const QString &name) const;
+ virtual QStringList masters(const QString &name) const;
virtual QString origin(const QString &name) const;
virtual bool onRefreshed(const std::function<void()> &callback);
virtual bool onPluginMoved(const std::function<void (const QString &, int, int)> &func);