aboutsummaryrefslogtreecommitdiff
path: root/src/WindowActionRouter.cpp
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2025-04-12 11:56:10 +0530
committerAkshay Nair <phenax5@gmail.com>2025-04-12 11:56:35 +0530
commitf3f109cd054888f857d51ca2b37b4123f3134069 (patch)
tree81250db8a30f85d34d3c101830a37e3535e77054 /src/WindowActionRouter.cpp
parentc0ee5203201d4ddf4ed560f856cb0da958935fc6 (diff)
downloadnull-browser-f3f109cd054888f857d51ca2b37b4123f3134069.tar.gz
null-browser-f3f109cd054888f857d51ca2b37b4123f3134069.zip
Add configuration api
Diffstat (limited to 'src/WindowActionRouter.cpp')
-rw-r--r--src/WindowActionRouter.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/WindowActionRouter.cpp b/src/WindowActionRouter.cpp
index 51e24e9..4bac3ad 100644
--- a/src/WindowActionRouter.cpp
+++ b/src/WindowActionRouter.cpp
@@ -9,11 +9,31 @@
#include "widgets/BrowserWindow.hpp"
#include "widgets/WebViewStack.hpp"
-void WindowActionRouter::initialize() {
+QVariant WindowActionRouter::fetch_config_value(const QString &key) {
+ if (key == "new_view_url")
+ return configuration->new_view_url;
+ if (key == "close_window_when_no_views")
+ return configuration->close_window_when_no_views;
+ return "";
+}
+
+// NOLINTNEXTLINE(readability-function-cognitive-complexity)
+void WindowActionRouter::initialize(Configuration *config) {
auto &runtime = LuaRuntime::instance();
+ configuration = config;
connect(&runtime, &LuaRuntime::keymap_added, this, &WindowActionRouter::add_keymap);
+ connect(&runtime, &LuaRuntime::config_updated, this,
+ [this](const QString &key, const QVariant &value) {
+ qDebug() << key << value;
+ if (key == "new_view_url") {
+ configuration->new_view_url = value.toString();
+ } else if (key == "close_window_when_no_views") {
+ configuration->close_window_when_no_views = value.toBool();
+ }
+ });
+
connect(&runtime, &LuaRuntime::history_back_requested, this,
[this](WebViewId webview_id, qsizetype history_index) {
WITH_WEBVIEW_WINDOW(webview_id, window, {