diff options
| author | Akshay Nair <phenax5@gmail.com> | 2025-03-09 22:09:09 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2025-03-09 23:41:36 +0530 |
| commit | 6b1d49e607da16853d1a0f460dbe756538e4790c (patch) | |
| tree | d5c784e6e568272afbb7530ea5dd752ce835b8fa /src/widgets/BrowserManager.cpp | |
| parent | 61f99089288138989cf244d174882aa5088b738b (diff) | |
| download | null-browser-6b1d49e607da16853d1a0f460dbe756538e4790c.tar.gz null-browser-6b1d49e607da16853d1a0f460dbe756538e4790c.zip | |
Add lua integration for command input (web.open, web.tabopen)
Diffstat (limited to '')
| -rw-r--r-- | src/widgets/BrowserManager.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/widgets/BrowserManager.cpp b/src/widgets/BrowserManager.cpp index a2390fc..5ac6479 100644 --- a/src/widgets/BrowserManager.cpp +++ b/src/widgets/BrowserManager.cpp @@ -16,6 +16,23 @@ BrowserManager::BrowserManager(QWebEngineProfile *profile) : QWidget() { createNewWebView(BrowserManager::NewtabURL, true); } +void BrowserManager::openUrl(QUrl url, OpenType openType) { + switch (openType) { + case OpenType::OpenUrl: + setCurrentUrl(url); + break; + case OpenType::OpenUrlInTab: + createNewWebView(url, true); + break; + case OpenType::OpenUrlInBgTab: + createNewWebView(url, false); + break; + case OpenType::OpenUrlInWindow: + // TODO: impl + break; + } +} + QWebEngineView *BrowserManager::createNewWebView(QUrl url, bool focus) { auto webview = new QWebEngineView(profile); webview->setUrl(url); @@ -24,6 +41,16 @@ QWebEngineView *BrowserManager::createNewWebView(QUrl url, bool focus) { connect(webview->page(), &QWebEnginePage::newWindowRequested, this, &BrowserManager::onNewWebViewRequest); + // connect(webview->page(), &QWebEnginePage::windowCloseRequested, this, + // [this, webview]() { + // for (int i = 0; i <= this->webViewList.length(); i++) { + // auto w = this->webViewList.at(0); + // printf("::::: %d\n\n", w == webview); + // if (w == webview) { + // this->closeWebView(i); + // } + // } + // }); if (focus) focusWebView(webViewList.length() - 1); |
