From 41329fae5f819eee8c394571125f11f0a0b67cd9 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sat, 23 Jun 2018 12:50:10 +0200 Subject: Add ConfigurationEditor plugin Removed poi-config --- src/browser.cpp | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) (limited to 'src/browser.cpp') diff --git a/src/browser.cpp b/src/browser.cpp index 56eed96..e266024 100644 --- a/src/browser.cpp +++ b/src/browser.cpp @@ -70,6 +70,13 @@ void Browser::registerPlugin(const Plugin &plugin) }); } + if(plugin.instance->inherits("ConfigurationInterface")) { + auto *configEditor = qobject_cast(plugin.instance); + Q_CHECK_PTR(configEditor); + + configEditor->setConfiguration(m_config.get()); + } + m_plugins.append(plugin); } @@ -193,15 +200,17 @@ MainWindow *Browser::createWindow() window->addAction(MainWindow::ToolsMenu, downloadsAction); for(const Plugin &p : qAsConst(m_plugins)) { - if(p.instance->inherits("ProfileInterface")) { - auto *profileEditor = qobject_cast(p.instance); - auto *profileAction = new QAction(tr("Profile"), window); - profileAction->setShortcut(p.shortcut); - connect(profileAction, &QAction::triggered, window, [profileEditor]() { - profileEditor->createWidget(nullptr)->show(); - }); - window->addAction(MainWindow::ToolsMenu, profileAction); - } + auto *plugin = qobject_cast(p.instance); + Q_CHECK_PTR(plugin); + + auto *pluginAction = new QAction(p.name, window); + pluginAction->setShortcut(p.shortcut); + + connect(pluginAction, &QAction::triggered, window, [=]() { + plugin->createWidget(window)->exec(); + }); + window->addAction(MainWindow::ToolsMenu, pluginAction); + } m_windows.append(window); -- cgit v1.2.1