diff options
Diffstat (limited to '')
| -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, { |
