From 240fb8427a89d0aa78da07c8d147a0d57df5bb67 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Thu, 22 Nov 2018 10:23:47 +0100 Subject: Add AboutPlugin dialog --- src/browser.cpp | 39 ++++++++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 13 deletions(-) (limited to 'src/browser.cpp') diff --git a/src/browser.cpp b/src/browser.cpp index 8ff8616..0bd3d06 100644 --- a/src/browser.cpp +++ b/src/browser.cpp @@ -7,11 +7,21 @@ */ #include "browser.h" +#include "aboutdialog.h" +#include "aboutplugin.h" #include "addressbar.h" +#include "bookmarkswidget.h" +#include "config.h" +#include "configuration.h" +#include "downloadswidget.h" #include "mainwindow/mainwindow.h" +#include "profilemanager.h" #include "subwindow/subwindow.h" +#include "ui_mainwindow.h" #include "util.h" +#include "webengine/filter.h" #include "webengine/urlinterceptor.h" +#include "webprofile.h" #include #include #include @@ -20,18 +30,9 @@ #include #include #include -#include "aboutdialog.h" -#include "bookmarkswidget.h" -#include "configuration.h" -#include "downloadswidget.h" -#include -#include "profilemanager.h" -#include "webprofile.h" -#include "webengine/filter.h" -#include -#include -#include "config.h" #include +#include +#include Browser::Browser(int &argc, char *argv[], bool allowSecondary) : SingleApplication(argc, argv, allowSecondary, SingleApplication::User | SingleApplication::SecondaryNotification | SingleApplication::ExcludeAppVersion) @@ -69,12 +70,12 @@ const QStringList Browser::configurationOptions() const return options; } -const QString Browser::configuration(const QString& key) const +const QString Browser::configuration(const QString &key) const { return m_config->value(qUtf8Printable(key)).value_or(QString()); } -void Browser::setConfiguration(const QString& key, const QString& value) +void Browser::setConfiguration(const QString &key, const QString &value) { m_config->setValue(qUtf8Printable(key), value); } @@ -223,6 +224,18 @@ MainWindow *Browser::createWindow() connect(window->addressBar, &AddressBar::complete, m_bookmarks.get(), &BookmarksWidget::search); connect(window, &MainWindow::createBookmark, m_bookmarks.get(), &BookmarksWidget::addBookmark); + connect(window->ui->menuTools, &QMenu::aboutToShow, this, [this, window]() { + window->ui->menuPlugins->clear(); + + for(const QPluginLoader *l : m_plugins) { + auto *action = window->ui->menuPlugins->addAction(l->metaData()[QLatin1String("MetaData")].toObject()[QLatin1String("name")].toString()); + connect(action, &QAction::triggered, this, [l, window]() { + auto *dlg = new AboutPluginDialog(l, window); + dlg->exec(); + }); + } + }); + auto *bookmarksAction = new QAction(tr("Bookmarks"), window); m_config->setShortcut(bookmarksAction, "bookmarks.shortcut"); connect(bookmarksAction, &QAction::triggered, window, [this, window]() { -- cgit v1.2.1