aboutsummaryrefslogtreecommitdiff
path: root/src/widgets/MainWindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/widgets/MainWindow.cpp34
1 files changed, 12 insertions, 22 deletions
diff --git a/src/widgets/MainWindow.cpp b/src/widgets/MainWindow.cpp
index d66611b..2d17557 100644
--- a/src/widgets/MainWindow.cpp
+++ b/src/widgets/MainWindow.cpp
@@ -9,13 +9,11 @@
#include "widgets/MainWindow.hpp"
#include "widgets/WebViewStack.hpp"
-MainWindow::MainWindow() {
+MainWindow::MainWindow(const Configuration &configuration)
+ : configuration(configuration) {
setStyleSheet("background-color: #000; color: #fff;");
setCentralWidget(new QWidget()); // TODO: manage widget memory
- // Global event filter
- qApp->installEventFilter(this);
-
// Root stacked layout
auto *layout = new QStackedLayout();
layout->setContentsMargins(0, 0, 0, 0);
@@ -25,10 +23,14 @@ MainWindow::MainWindow() {
// Web engine
auto *web_view_stack =
- new WebViewStack((const Configuration *)&configuration,
- new QWebEngineProfile("null-browser"));
+ new WebViewStack(&configuration, new QWebEngineProfile("null-browser"));
layout->addWidget(web_view_stack);
+ auto *keymap_evaluator = new KeymapEvaluator;
+
+ input_mediator = new InputMediator(web_view_stack, LuaRuntime::instance(),
+ keymap_evaluator);
+
// TODO: remoev
web_view_stack->open_url(QUrl("https://duckduckgo.com"), OpenType::OpenUrl);
web_view_stack->open_url(QUrl("https://ediblemonad.dev"),
@@ -36,32 +38,20 @@ MainWindow::MainWindow() {
web_view_stack->open_url(QUrl("https://github.com/trending"),
OpenType::OpenUrlInBgTab);
- auto *keymap_evaluator = new KeymapEvaluator;
-
- input_mediator = new InputMediator(web_view_stack, LuaRuntime::instance(),
- keymap_evaluator);
-
- // NOTE: TMP
- LuaRuntime::instance()->load_file("./config.lua");
-
// TODO: remove
- keymap_evaluator->add_keymap(KeyMode::Normal, "i", [&keymap_evaluator]() {
+ 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->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"; });
}
-bool MainWindow::eventFilter(QObject * /*watched*/, QEvent *event) {
- if (event->type() != QEvent::KeyPress)
- return false;
-
- auto *key_event = static_cast<QKeyEvent *>(event);
+bool MainWindow::on_window_key_event(QKeyEvent *event) {
const bool should_skip = input_mediator->evaluate_keymap(
- key_event->modifiers(), (Qt::Key)key_event->key());
+ event->modifiers(), (Qt::Key)event->key());
return should_skip;
}