diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-08-27 16:42:51 +0200 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-08-27 17:43:02 +0200 |
commit | 36dce3fd26194cdf6dbf1ba52cc27cfa1daae389 (patch) | |
tree | 23a3919fb67d33583c4bd5c889758bf196100b9a /src | |
parent | Add BrowserInterface to simplify plugins a bit (diff) | |
download | smolbote-36dce3fd26194cdf6dbf1ba52cc27cfa1daae389.tar.xz |
PluginEditor: implement add plugin action
Diffstat (limited to 'src')
-rw-r--r-- | src/browser.cpp | 12 | ||||
-rw-r--r-- | src/browser.h | 9 |
2 files changed, 18 insertions, 3 deletions
diff --git a/src/browser.cpp b/src/browser.cpp index e248a3f..46e55d2 100644 --- a/src/browser.cpp +++ b/src/browser.cpp @@ -52,6 +52,18 @@ void Browser::about() dlg->exec(); } +QPair<QString, WebProfile *> Browser::loadProfile(const QString &id) +{ + Q_ASSERT(m_config); + const QDir profilesDir(m_config->value<QString>("profile.path").value()); + + auto *profile = ProfileManager::loadProfile(profilesDir.absoluteFilePath(id + ".profile"), m_config->section("profile")); + connect(profile, &WebProfile::downloadRequested, m_downloads.get(), &DownloadsWidget::addDownload); + profile->setRequestInterceptor(m_urlFilter.get()); + + return QPair<QString, WebProfile *>(id, profile); +} + void Browser::setConfiguration(std::unique_ptr<Configuration> &config) { Q_ASSERT(config); diff --git a/src/browser.h b/src/browser.h index 340a16d..ff84c32 100644 --- a/src/browser.h +++ b/src/browser.h @@ -36,8 +36,13 @@ public slots: void about(); public: - void setConfiguration(std::unique_ptr<Configuration> &config); + // interface Configuration *getConfiguration() const override; + const QVector<WebProfile *> profiles() const override; + QPair<QString, WebProfile *> loadProfile(const QString &id) override; + + void setConfiguration(std::unique_ptr<Configuration> &config); + void registerPlugin(const Plugin &plugin); void setup(const QString &defaultProfile); @@ -47,8 +52,6 @@ public: return m_bookmarks; } - const QVector<WebProfile *> profiles() const override; - public slots: void createSession(const QJsonObject &object); MainWindow *createWindow(); |