diff options
| author | Akshay Nair <phenax5@gmail.com> | 2025-05-01 23:41:54 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2025-05-02 16:21:45 +0530 |
| commit | 9c812753e2b1f01b2e0c85be9904ff7694f0e6ec (patch) | |
| tree | f308228c63fc8eeb526c901e80746d8da633b352 /src/widgets/BrowserApp.cpp | |
| parent | f0faa92246c1f5fc58546051ace2d047869447df (diff) | |
| download | null-browser-9c812753e2b1f01b2e0c85be9904ff7694f0e6ec.tar.gz null-browser-9c812753e2b1f01b2e0c85be9904ff7694f0e6ec.zip | |
Implement NotificationReceived event
Diffstat (limited to 'src/widgets/BrowserApp.cpp')
| -rw-r--r-- | src/widgets/BrowserApp.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/widgets/BrowserApp.cpp b/src/widgets/BrowserApp.cpp index 1362941..32ac598 100644 --- a/src/widgets/BrowserApp.cpp +++ b/src/widgets/BrowserApp.cpp @@ -1,9 +1,11 @@ #include <QDir> #include <QKeyEvent> +#include <QWebEngineNotification> #include <QtCore> #include "LuaRuntime.hpp" #include "WindowActionRouter.hpp" +#include "events/NotificationReceivedEvent.hpp" #include "widgets/BrowserApp.hpp" #include "widgets/BrowserWindow.hpp" @@ -35,6 +37,12 @@ BrowserApp::BrowserApp(Configuration &configuration) : configuration(configurati for (auto *profile : profiles) { profile->setDownloadPath(configuration.downloads_dir()); profile->setHttpUserAgent(configuration.user_agent()); + profile->setNotificationPresenter([](std::unique_ptr<QWebEngineNotification> notification) { + auto *event = new NotificationReceivedEvent(std::move(notification)); + WindowActionRouter::instance().dispatch_event(event); + }); + profile->setPersistentPermissionsPolicy( + QWebEngineProfile::PersistentPermissionsPolicy::StoreInMemory); } connect(&window_action_router, &WindowActionRouter::new_window_requested, this, @@ -42,7 +50,7 @@ BrowserApp::BrowserApp(Configuration &configuration) : configuration(configurati }; BrowserWindow *BrowserApp::create_window(const QStringList &urls) { - auto *window = new BrowserWindow((const Configuration &)configuration, urls); + auto *window = new BrowserWindow((const Configuration &)configuration, &default_profile, urls); window->setWindowTitle("null-browser"); WindowActionRouter::instance().add_window(window); |
