From b4b6a646b3a7a7f6c7e990c67f208b76f4b5f748 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sun, 20 Apr 2025 12:57:07 +0530 Subject: Refactor + expose managing mode to inside lua --- src/widgets/BrowserWindow.cpp | 17 ++++------------- src/widgets/BrowserWindow.hpp | 2 +- src/widgets/WebView.hpp | 4 ++-- 3 files changed, 7 insertions(+), 16 deletions(-) (limited to 'src/widgets') diff --git a/src/widgets/BrowserWindow.cpp b/src/widgets/BrowserWindow.cpp index 5a8a062..f4ea97d 100644 --- a/src/widgets/BrowserWindow.cpp +++ b/src/widgets/BrowserWindow.cpp @@ -26,7 +26,7 @@ BrowserWindow::BrowserWindow(const Configuration &configuration, const QStringLi profile->setDownloadPath(configuration.downloads_dir()); profile->setHttpUserAgent(configuration.user_agent()); - // Web engine + // Stack of web views auto *webview_stack = new WebViewStack(&configuration, profile); layout->addWidget(webview_stack); @@ -40,16 +40,9 @@ BrowserWindow::BrowserWindow(const Configuration &configuration, const QStringLi } // Default keymaps - auto &keymap_evaluator = KeymapEvaluator::instance(); - - // TODO: remove - keymap_evaluator.add_keymap(KeyMode::Normal, "i", [&keymap_evaluator]() { - keymap_evaluator.set_current_mode(KeyMode::Insert); - }); - keymap_evaluator.add_keymap(KeyMode::Insert, "", [&keymap_evaluator]() { - keymap_evaluator.set_current_mode(KeyMode::Normal); - }); - keymap_evaluator.add_keymap(KeyMode::Normal, "a", []() { qDebug() << "Stuff"; }); + auto &keymap = KeymapEvaluator::instance(); + keymap.define_mode("n", {.passthrough = false}); + keymap.define_mode("i", {.passthrough = true}); win_mediator = new WindowMediator(webview_stack); @@ -63,8 +56,6 @@ BrowserWindow::BrowserWindow(const Configuration &configuration, const QStringLi }); } -void BrowserWindow::closeEvent(QCloseEvent * /*event*/) { emit closed(); } - bool BrowserWindow::on_window_key_event(QKeyEvent *event) { auto &keymap_evaluator = KeymapEvaluator::instance(); const bool should_skip = keymap_evaluator.evaluate(event->modifiers(), (Qt::Key)event->key()); diff --git a/src/widgets/BrowserWindow.hpp b/src/widgets/BrowserWindow.hpp index 638d8de..6f20e4b 100644 --- a/src/widgets/BrowserWindow.hpp +++ b/src/widgets/BrowserWindow.hpp @@ -20,7 +20,7 @@ public: bool on_window_key_event(QKeyEvent *event); - void closeEvent(QCloseEvent * /*event*/) override; + void closeEvent(QCloseEvent * /*event*/) override { emit closed(); }; signals: void closed(); diff --git a/src/widgets/WebView.hpp b/src/widgets/WebView.hpp index 16c039c..c861b6e 100644 --- a/src/widgets/WebView.hpp +++ b/src/widgets/WebView.hpp @@ -36,10 +36,10 @@ class WebView : public QWebEngineView { public: WebView(uint32_t webview_id, QWebEngineProfile *profile, QWidget *parent_node = nullptr); - DEFINE_GETTER(get_id, id) - void open_devtools(); + DEFINE_GETTER(get_id, id) + private: uint32_t id; -- cgit v1.3.1