aboutsummaryrefslogtreecommitdiff
path: root/src/widgets
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2025-04-20 12:57:07 +0530
committerAkshay Nair <phenax5@gmail.com>2025-05-02 16:15:17 +0530
commitb4b6a646b3a7a7f6c7e990c67f208b76f4b5f748 (patch)
tree7f18775a63594acf0187668af63766dd72b9f66f /src/widgets
parent75157006bf6f1176f64e87695343980b16908bb6 (diff)
downloadnull-browser-b4b6a646b3a7a7f6c7e990c67f208b76f4b5f748.tar.gz
null-browser-b4b6a646b3a7a7f6c7e990c67f208b76f4b5f748.zip
Refactor + expose managing mode to inside lua
Diffstat (limited to '')
-rw-r--r--src/widgets/BrowserWindow.cpp17
-rw-r--r--src/widgets/BrowserWindow.hpp2
-rw-r--r--src/widgets/WebView.hpp4
3 files changed, 7 insertions, 16 deletions
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, "<esc>", [&keymap_evaluator]() {
- keymap_evaluator.set_current_mode(KeyMode::Normal);
- });
- keymap_evaluator.add_keymap(KeyMode::Normal, "<c-t>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;