summaryrefslogtreecommitdiff
path: root/src
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
commit4c42a6fbf1b80b76371f9f99f2655980fded5d0c (patch)
treeeb475db2e4a269dbf41893b6deecc699133a9ffb /src
parent243b59c64cb165d8d7a837d8c989ad8ecad900ad (diff)
plugins can now query the list of masters for a plugin
Diffstat (limited to 'src')
-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 3146969a..a1c98ebd 100644
--- a/src/pluginlist.cpp
+++ b/src/pluginlist.cpp
@@ -668,6 +668,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);