From 737d688e5b173ef5155db3e4fc9e8debf9b33a11 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sun, 31 May 2020 21:53:52 +0300 Subject: enable smolblok Build both HostlistFilter and AdblockFitler plugins by default. --- src/browser.cpp | 10 +++++++++- src/browser.h | 4 +++- 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/browser.cpp b/src/browser.cpp index ff948e4..a04f87d 100644 --- a/src/browser.cpp +++ b/src/browser.cpp @@ -19,7 +19,6 @@ #include "smolbote/plugininterface.hpp" #include "subwindow/subwindow.h" #include "util.h" -#include "webengine/urlinterceptor.h" #include "webengine/webprofile.h" #include "webengine/webprofilemanager.h" #include "webengine/webview.h" @@ -70,6 +69,14 @@ Browser::Browser(int &argc, char *argv[], bool allowSecondary) } } + // content filter - register format plugins + if(const auto hostlist_plugin = conf.value("smolblok.plugins.hostlist")) { + content_filter.registerFormatPlugin("hostlist", hostlist_plugin.value()); + } + if(const auto adblock_plugin = conf.value("smolblok.plugins.adblock")) { + content_filter.registerFormatPlugin("adblock", adblock_plugin.value()); + } + // load profiles { const auto profiles = Util::files(conf.value("profile.path").value(), { "*.profile" }); @@ -92,6 +99,7 @@ Browser::Browser(int &argc, char *argv[], bool allowSecondary) // downloads m_downloads = std::make_unique(conf.value("downloads.path").value()); m_profileManager->walk([this](const QString &, WebProfile *profile, QSettings *) { + profile->setUrlRequestInterceptor(content_filter.interceptor()); connect(profile, &QWebEngineProfile::downloadRequested, m_downloads.get(), &DownloadsWidget::addDownload); }); diff --git a/src/browser.h b/src/browser.h index 0a0b201..69cf804 100644 --- a/src/browser.h +++ b/src/browser.h @@ -9,8 +9,9 @@ #ifndef SMOLBOTE_BROWSER_H #define SMOLBOTE_BROWSER_H -#include "webengine/webprofilemanager.h" +#include "smolblok.hpp" #include "smolbote/session.hpp" +#include "webengine/webprofilemanager.h" #include #include #include @@ -79,6 +80,7 @@ private: std::shared_ptr m_bookmarks; std::unique_ptr m_downloads; std::unique_ptr> m_profileManager{ nullptr }; + smolblok content_filter; QVector m_windows; QVector m_plugins; -- cgit v1.2.1