diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-05-16 18:20:25 +0200 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-05-16 18:20:25 +0200 |
commit | 6d095aca7f59dff26df0e2b5283d926feff5b477 (patch) | |
tree | da26b56719aefee7eec5b81a47b6b6ad49125437 /src/browser.cpp | |
parent | Move help and version functions to main (out of Configuration) (diff) | |
download | smolbote-6d095aca7f59dff26df0e2b5283d926feff5b477.tar.xz |
Plugin command-line parameters
Diffstat (limited to 'src/browser.cpp')
-rw-r--r-- | src/browser.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/browser.cpp b/src/browser.cpp index 09db2d1..91ba4f8 100644 --- a/src/browser.cpp +++ b/src/browser.cpp @@ -82,6 +82,14 @@ void Browser::setup(const QString &defaultProfile) // plugins m_plugins.append(loadPlugins(QString::fromStdString(m_config->value<std::string>("plugins.path").value()))); + // register commands + for(Plugin p : m_plugins) { + auto *plugin = qobject_cast<PluginInterface *>(p.instance.get()); + if(plugin) { + m_commands.unite(plugin->commands()); + } + } + // url request filter m_urlFilter = std::make_shared<UrlRequestInterceptor>(QString::fromStdString(m_config->value<std::string>("filter.path").value())); @@ -113,6 +121,15 @@ void Browser::setup(const QString &defaultProfile) } } +void Browser::command(const QString &command) +{ + if(m_commands.contains(command)) { + m_commands.value(command)(); + } else { + qWarning("No such command: %s", qUtf8Printable(command)); + } +} + void Browser::createSession(const QString &profileName, bool newWindow, const QStringList &urls) { if(m_windows.isEmpty()) { |