| 193 | } |
| 194 | |
| 195 | QWebEngineView *WebView::createWindow(QWebEnginePage::WebWindowType type) |
| 196 | { |
| 197 | BrowserWindow* browser = browserWindow(); |
| 198 | |
| 199 | if (!browser) |
| 200 | return nullptr; |
| 201 | |
| 202 | switch (type) { |
| 203 | case QWebEnginePage::WebBrowserWindow: { |
| 204 | // create a hidden, temporary view to catch the urlChanged signal |
| 205 | WebPopupWindow *popup = new WebPopupWindow(page()->profile()); |
| 206 | popup->hide(); |
| 207 | connect(popup->view(), &QWebEngineView::urlChanged, popup->view(), &WebView::openExternalBrowser); |
| 208 | return popup->view(); |
| 209 | } |
| 210 | case QWebEnginePage::WebBrowserTab: { |
| 211 | return browser->tabWidget()->createTab(); |
| 212 | } |
| 213 | case QWebEnginePage::WebBrowserBackgroundTab: { |
| 214 | return browser->tabWidget()->createBackgroundTab(); |
| 215 | } |
| 216 | case QWebEnginePage::WebDialog: { |
| 217 | WebPopupWindow *popup = new WebPopupWindow(page()->profile()); |
| 218 | connect(popup->view(), &WebView::devToolsRequested, this, &WebView::devToolsRequested); |
| 219 | return popup->view(); |
| 220 | } |
| 221 | } |
| 222 | return nullptr; |
| 223 | } |
| 224 | |
| 225 | void WebView::contextMenuEvent(QContextMenuEvent *event) |
| 226 | { |
nothing calls this directly
no test coverage detected