From f3f109cd054888f857d51ca2b37b4123f3134069 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sat, 12 Apr 2025 11:56:10 +0530 Subject: Add configuration api --- src/WindowActionRouter.cpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'src/WindowActionRouter.cpp') 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, { -- cgit v1.3.1