aboutsummaryrefslogtreecommitdiff
path: root/src/WindowActionRouter.cpp
diff options
context:
space:
mode:
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, {