From 037b039bfbfeda2e9b7ebef7e38616575411c876 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sun, 14 Jan 2018 20:34:50 +0100 Subject: Initial plugins testing --- src/browser.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/browser.cpp') diff --git a/src/browser.cpp b/src/browser.cpp index 8b7f40f..542465b 100644 --- a/src/browser.cpp +++ b/src/browser.cpp @@ -13,6 +13,9 @@ #include #include +#include +#include + Browser::Browser(int &argc, char *argv[]) : SingleApplication(argc, argv) { @@ -34,12 +37,25 @@ Browser::~Browser() } qDebug("Waiting for threads to wind down: %s", QThreadPool::globalInstance()->waitForDone() ? "done" : "failed"); + + qDeleteAll(m_plugins); } void Browser::setConfiguration(std::shared_ptr &config) { m_config = config; + // plugin loader + QPluginLoader loader("plugins/ProfileEditor/libProfileEditorPlugin.so"); + qDebug("Trying to load %s: %s", qUtf8Printable(loader.fileName()), loader.load() ? "ok" : "failed"); + if(!loader.isLoaded()) { + qDebug("Error: %s", qUtf8Printable(loader.errorString())); + } else { + PluginInterface *plugin = qobject_cast(loader.instance()); + m_plugins.append(plugin); + //qDebug("author: %s", qUtf8Printable(loader.metaData()["MetaData"].toObject()["author"].toString())); + } + m_bookmarksManager = std::make_shared(QString::fromStdString(m_config->value("bookmarks.path").value())); m_downloadManager = std::make_shared(QString::fromStdString(m_config->value("downloads.path").value())); @@ -57,6 +73,7 @@ MainWindow *Browser::createWindow() window->setBookmarksWidget(m_bookmarksManager); window->setDownloadsWidget(m_downloadManager); window->setProfile(m_defaultProfile); + window->addPlugins(m_plugins); m_windows.append(window); -- cgit v1.2.1