aboutsummaryrefslogtreecommitdiff
path: root/src/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/BrowserApp.cpp7
-rw-r--r--src/widgets/BrowserWindow.cpp27
-rw-r--r--src/widgets/WebViewStack.cpp1
3 files changed, 24 insertions, 11 deletions
diff --git a/src/widgets/BrowserApp.cpp b/src/widgets/BrowserApp.cpp
index 9a4e1cf..13d855b 100644
--- a/src/widgets/BrowserApp.cpp
+++ b/src/widgets/BrowserApp.cpp
@@ -10,8 +10,15 @@ BrowserApp::BrowserApp() {
auto *lua = LuaRuntime::instance();
lua->start_event_loop();
+ // Router init
+ auto *router = WindowActionRouter::instance();
+ router->initialize();
+
// Global event filter
qApp->installEventFilter(this);
+
+ // NOTE: TMP
+ LuaRuntime::instance()->load_file("./config.lua");
};
BrowserWindow *BrowserApp::create_window() {
diff --git a/src/widgets/BrowserWindow.cpp b/src/widgets/BrowserWindow.cpp
index 3ff4d3c..4eb0ad7 100644
--- a/src/widgets/BrowserWindow.cpp
+++ b/src/widgets/BrowserWindow.cpp
@@ -4,6 +4,8 @@
#include <QtCore>
#include "Configuration.hpp"
+#include "LuaRuntime.hpp"
+#include "WindowActionRouter.hpp"
#include "WindowMediator.hpp"
#include "keymap/KeymapEvaluator.hpp"
#include "widgets/BrowserWindow.hpp"
@@ -27,13 +29,6 @@ BrowserWindow::BrowserWindow(const Configuration &configuration)
auto *keymap_evaluator = KeymapEvaluator::instance();
- // TODO: remoev
- web_view_stack->open_url(QUrl("https://duckduckgo.com"), OpenType::OpenUrl);
- web_view_stack->open_url(QUrl("https://ediblemonad.dev"),
- OpenType::OpenUrlInBgTab);
- web_view_stack->open_url(QUrl("https://github.com/trending"),
- OpenType::OpenUrlInBgTab);
-
// TODO: remove
keymap_evaluator->add_keymap(KeyMode::Normal, "i", [keymap_evaluator]() {
keymap_evaluator->set_current_mode(KeyMode::Insert);
@@ -44,13 +39,23 @@ BrowserWindow::BrowserWindow(const Configuration &configuration)
keymap_evaluator->add_keymap(KeyMode::Normal, "<c-t>a",
[]() { qDebug() << "Stuff"; });
- input_mediator = new WindowMediator(web_view_stack, LuaRuntime::instance(),
- keymap_evaluator);
+ input_mediator = new WindowMediator(web_view_stack);
+
+ auto *lua = LuaRuntime::instance();
+ lua->queue_task([this]() {
+ emit input_mediator->url_opened("https://github.com/phenax/null-browser",
+ OpenType::OpenUrl, 0);
+ emit input_mediator->url_opened("https://ediblemonad.dev",
+ OpenType::OpenUrlInBgTab, 0);
+ emit input_mediator->url_opened("https://github.com/trending",
+ OpenType::OpenUrlInBgTab, 0);
+ });
}
bool BrowserWindow::on_window_key_event(QKeyEvent *event) {
- const bool should_skip = input_mediator->evaluate_keymap(
- event->modifiers(), (Qt::Key)event->key());
+ auto *keymap_evaluator = KeymapEvaluator::instance();
+ const bool should_skip =
+ keymap_evaluator->evaluate(event->modifiers(), (Qt::Key)event->key());
return should_skip;
}
diff --git a/src/widgets/WebViewStack.cpp b/src/widgets/WebViewStack.cpp
index 5ec6364..f01b75c 100644
--- a/src/widgets/WebViewStack.cpp
+++ b/src/widgets/WebViewStack.cpp
@@ -81,6 +81,7 @@ void WebViewStack::on_new_webview_request(
int32_t WebViewStack::get_webview_index(WebViewId webview_id) {
if (webview_id == 0) {
+ // TODO: Check how to detect "active" window before qapp start (lua init)?
if (window()->isActiveWindow())
webview_id = current_webview_id();
else