diff options
| author | Akshay Nair <phenax5@gmail.com> | 2025-04-12 11:56:10 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2025-04-12 11:56:35 +0530 |
| commit | f3f109cd054888f857d51ca2b37b4123f3134069 (patch) | |
| tree | 81250db8a30f85d34d3c101830a37e3535e77054 /src/WindowActionRouter.cpp | |
| parent | c0ee5203201d4ddf4ed560f856cb0da958935fc6 (diff) | |
| download | null-browser-f3f109cd054888f857d51ca2b37b4123f3134069.tar.gz null-browser-f3f109cd054888f857d51ca2b37b4123f3134069.zip | |
Add configuration api
Diffstat (limited to 'src/WindowActionRouter.cpp')
| -rw-r--r-- | src/WindowActionRouter.cpp | 22 |
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, { |
