diff options
Diffstat (limited to 'src/widgets')
| -rw-r--r-- | src/widgets/BrowserApp.cpp | 7 | ||||
| -rw-r--r-- | src/widgets/BrowserWindow.cpp | 27 | ||||
| -rw-r--r-- | src/widgets/WebViewStack.cpp | 1 |
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 |
