}
QWebEngineView* PrivacyWebEngineView::createWindow(QWebEnginePage::WebWindowType webWindowType) {
- qDebug().noquote().nospace() << "Web window type: " << webWindowType;
-
// Get a handle for the browser window.
BrowserWindow *browserWindowPointer = qobject_cast<BrowserWindow*>(window());
// Create the requsted window type.
switch (webWindowType) {
case QWebEnginePage::WebBrowserTab: {
- // Create the new tab and return the privacy WebEngine view pointer. It will then be populated with the link from the context menu.
- return browserWindowPointer->tabWidgetPointer->addTab();
+ // Create the new tab and return the privacy WebEngine view pointer. `true` removes the focus from the blank URL line edit.
+ // The new privacy WebEngine view pointer is returned so it can be populated with the link from the context menu.
+ return browserWindowPointer->tabWidgetPointer->addTab(true);
+ }
+
+ case QWebEnginePage::WebBrowserWindow: {
+ // Create a new browser window.
+ BrowserWindow *newBrowserWindowPointer = new BrowserWindow();
+
+ // Show the new browser window.
+ newBrowserWindowPointer->show();
+
+ // The new privacy WebEngine view pointer is returned so it can be populated with the link from the context menu.
+ return newBrowserWindowPointer->tabWidgetPointer->loadBlankInitialWebsite();
}
default: {
- // Return an null pointer.
+ // Return an null pointer for opening a background tab and opening a web dialog.
return nullptr;
}
}