diff options
| author | Akshay Nair <phenax5@gmail.com> | 2025-03-11 23:02:44 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2025-03-12 00:13:47 +0530 |
| commit | 35d8464f8975ab35c1e2f1a076302d9f95bfb22c (patch) | |
| tree | 0b4e26e36fb27dd32c0e174e4ef829f1f77c1daf /src/widgets/MainWindow.cpp | |
| parent | 0d5b7cb2a8bea5d91c58dd40f80d60bca384b766 (diff) | |
| download | null-browser-35d8464f8975ab35c1e2f1a076302d9f95bfb22c.tar.gz null-browser-35d8464f8975ab35c1e2f1a076302d9f95bfb22c.zip | |
Refactor browsermanager to webviewstack
Diffstat (limited to 'src/widgets/MainWindow.cpp')
| -rw-r--r-- | src/widgets/MainWindow.cpp | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/src/widgets/MainWindow.cpp b/src/widgets/MainWindow.cpp index f2825e8..2d936aa 100644 --- a/src/widgets/MainWindow.cpp +++ b/src/widgets/MainWindow.cpp @@ -7,9 +7,9 @@ #include "CommandParser.hpp" #include "completion/CommandsAdapter.hpp" #include "completion/UrlAdapter.hpp" -#include "widgets/BrowserManager.hpp" #include "widgets/InputLine.hpp" #include "widgets/MainWindow.hpp" +#include "widgets/WebViewStack.hpp" MainWindow::MainWindow() { setStyleSheet("background-color: #000; color: #fff;"); @@ -23,8 +23,8 @@ MainWindow::MainWindow() { centralWidget()->setLayout(layout); // Web engine - browserManager = new BrowserManager(new QWebEngineProfile("web-browser")); - layout->addWidget(browserManager); + webViewStack = new WebViewStack(new QWebEngineProfile("web-browser")); + layout->addWidget(webViewStack); // Command input inputLine = new InputLine; @@ -38,7 +38,7 @@ MainWindow::MainWindow() { luaRuntime = LuaRuntime::instance(); connect(luaRuntime, &LuaRuntime::urlOpened, this, [this](QString url, OpenType openType) { - browserManager->openUrl(QUrl(url), openType); + webViewStack->openUrl(QUrl(url), openType); }); } @@ -78,7 +78,7 @@ void MainWindow::onInputSubmit(QString input) { if (dynamic_cast<CommandEval *>(currentEvaluationType)) { evaluateCommand(input); } else if (auto urlEval = dynamic_cast<UrlEval *>(currentEvaluationType)) { - browserManager->openUrl(input, urlEval->type()); + webViewStack->openUrl(input, urlEval->type()); } } @@ -94,19 +94,19 @@ void MainWindow::evaluateCommand(QString command) { if (cmd.argsString.trimmed().isEmpty()) showURLInput("", OpenType::OpenUrl); else - browserManager->openUrl(cmd.argsString, OpenType::OpenUrl); + webViewStack->openUrl(cmd.argsString, OpenType::OpenUrl); break; case CommandType::TabOpen: if (cmd.argsString.trimmed().isEmpty()) showURLInput("", OpenType::OpenUrlInTab); else - browserManager->openUrl(cmd.argsString, OpenType::OpenUrlInTab); + webViewStack->openUrl(cmd.argsString, OpenType::OpenUrlInTab); break; case CommandType::TabNext: - browserManager->nextWebView(); + webViewStack->next(); break; case CommandType::TabPrev: - browserManager->previousWebView(); + webViewStack->previous(); break; case CommandType::Noop: break; @@ -117,21 +117,22 @@ void MainWindow::keyPressEvent(QKeyEvent *event) { auto combo = event->keyCombination(); if (combo.key() == Qt::Key_L && combo.keyboardModifiers().testFlag(Qt::ControlModifier)) { - showURLInput(browserManager->currentUrl().toString(), OpenType::OpenUrl); + showURLInput(webViewStack->currentUrl().toString(), OpenType::OpenUrl); } else if (combo.key() == Qt::Key_Semicolon && combo.keyboardModifiers().testFlag(Qt::ControlModifier)) { showCommandInput(""); } else if (combo.key() == Qt::Key_T && combo.keyboardModifiers().testFlag(Qt::ControlModifier)) { - browserManager->createNewWebView(QUrl("https://lite.duckduckgo.com"), true); + webViewStack->openUrl(QUrl("https://lite.duckduckgo.com"), + OpenType::OpenUrlInTab); } else if (combo.key() == Qt::Key_J && combo.keyboardModifiers().testFlag(Qt::ControlModifier)) { - browserManager->nextWebView(); + webViewStack->next(); } else if (combo.key() == Qt::Key_K && combo.keyboardModifiers().testFlag(Qt::ControlModifier)) { - browserManager->previousWebView(); + webViewStack->previous(); } else if (combo.key() == Qt::Key_W && combo.keyboardModifiers().testFlag(Qt::ControlModifier)) { - browserManager->closeCurrentWebView(); + webViewStack->closeCurrent(); } } |
