aboutsummaryrefslogtreecommitdiff
path: root/src/WindowActionRouter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/WindowActionRouter.cpp')
-rw-r--r--src/WindowActionRouter.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/WindowActionRouter.cpp b/src/WindowActionRouter.cpp
index 3aeabc7..d0cc6d0 100644
--- a/src/WindowActionRouter.cpp
+++ b/src/WindowActionRouter.cpp
@@ -4,6 +4,7 @@
#include <unordered_map>
#include "LuaRuntime.hpp"
+#include "events/ModeChangedEvent.hpp"
#include "keymap/KeymapEvaluator.hpp"
#include "widgets/BrowserWindow.hpp"
@@ -19,8 +20,11 @@ void WindowActionRouter::initialize(Configuration *config) {
configuration = config;
connect(&runtime, &LuaRuntime::keymap_add_requested, this, &WindowActionRouter::add_keymap);
- connect(&runtime, &LuaRuntime::keymap_mode_update_requested, this,
- [](const QString &mode) { KeymapEvaluator::instance().set_current_mode(mode); });
+ connect(&runtime, &LuaRuntime::keymap_mode_update_requested, this, [](const QString &mode) {
+ KeymapEvaluator::instance().set_current_mode(mode);
+ auto *event = new ModeChangedEvent(mode);
+ WindowActionRouter::instance().dispatch_event(event);
+ });
// Configuration
connect(&runtime, &LuaRuntime::config_updated, configuration, &Configuration::set_config);