diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/webengine/quicknanobrowser/BrowserWindow.qml | 8 | ||||
-rw-r--r-- | examples/webenginewidgets/browser/webview.cpp | 35 | ||||
-rw-r--r-- | examples/webenginewidgets/browser/webview.h | 1 |
3 files changed, 19 insertions, 25 deletions
diff --git a/examples/webengine/quicknanobrowser/BrowserWindow.qml b/examples/webengine/quicknanobrowser/BrowserWindow.qml index c4c0270a4..0df17f0ee 100644 --- a/examples/webengine/quicknanobrowser/BrowserWindow.qml +++ b/examples/webengine/quicknanobrowser/BrowserWindow.qml @@ -82,6 +82,7 @@ ApplicationWindow { property alias autoLoadImages: loadImages.checked; property alias javaScriptEnabled: javaScriptEnabled.checked; property alias errorPageEnabled: errorPageEnabled.checked; + property alias pluginsEnabled: pluginsEnabled.checked; } Action { @@ -230,6 +231,12 @@ ApplicationWindow { checked: WebEngine.settings.errorPageEnabled } MenuItem { + id: pluginsEnabled + text: "Plugins On" + checkable: true + checked: true + } + MenuItem { id: offTheRecordEnabled text: "Off The Record" checkable: true @@ -312,6 +319,7 @@ ApplicationWindow { settings.autoLoadImages: appSettings.autoLoadImages settings.javascriptEnabled: appSettings.javaScriptEnabled settings.errorPageEnabled: appSettings.errorPageEnabled + settings.pluginsEnabled: appSettings.pluginsEnabled onCertificateError: { error.defer() diff --git a/examples/webenginewidgets/browser/webview.cpp b/examples/webenginewidgets/browser/webview.cpp index 99986642e..f9e75535f 100644 --- a/examples/webenginewidgets/browser/webview.cpp +++ b/examples/webenginewidgets/browser/webview.cpp @@ -72,7 +72,6 @@ WebPage::WebPage(QWebEngineProfile *profile, QObject *parent) : QWebEnginePage(profile, parent) , m_keyboardModifiers(Qt::NoModifier) , m_pressedButtons(Qt::NoButton) - , m_openInNewTab(false) { #if defined(QWEBENGINEPAGE_SETNETWORKACCESSMANAGER) setNetworkAccessManager(BrowserApplication::networkAccessManager()); @@ -175,8 +174,7 @@ private: QWebEnginePage *WebPage::createWindow(QWebEnginePage::WebWindowType type) { - if (m_openInNewTab || type == QWebEnginePage::WebBrowserTab) { - m_openInNewTab = false; + if (type == QWebEnginePage::WebBrowserTab) { return mainWindow()->tabWidget()->newTab()->page(); } else if (type == QWebEnginePage::WebBrowserWindow) { BrowserApplication::instance()->newMainWindow(); @@ -338,24 +336,16 @@ void WebView::setPage(WebPage *_page) void WebView::contextMenuEvent(QContextMenuEvent *event) { -#if defined(QWEBENGINEPAGE_HITTESTCONTENT) - QWebEngineHitTestResult r = page()->hitTestContent(event->pos()); - if (!r.linkUrl().isEmpty()) { - QMenu menu(this); - menu.addAction(pageAction(QWebEnginePage::OpenLinkInNewWindow)); - menu.addAction(tr("Open in New Tab"), this, SLOT(openLinkInNewTab())); - menu.addSeparator(); - menu.addAction(pageAction(QWebEnginePage::DownloadLinkToDisk)); - // Add link to bookmarks... - menu.addSeparator(); - menu.addAction(pageAction(QWebEnginePage::CopyLinkToClipboard)); - if (page()->settings()->testAttribute(QWebEngineSettings::DeveloperExtrasEnabled)) - menu.addAction(pageAction(QWebEnginePage::InspectElement)); - menu.exec(mapToGlobal(event->pos())); - return; + QMenu *menu = page()->createStandardContextMenu(); + const QList<QAction*> actions = menu->actions(); + QList<QAction*>::const_iterator it = qFind(actions.cbegin(), actions.cend(), page()->action(QWebEnginePage::OpenLinkInThisWindow)); + if (it != actions.cend()) { + ++it; + menu->insertAction(*it, page()->action(QWebEnginePage::OpenLinkInNewWindow)); + menu->insertAction(*it, page()->action(QWebEnginePage::OpenLinkInNewTab)); } -#endif - QWebEngineView::contextMenuEvent(event); + + menu->popup(event->globalPos()); } void WebView::wheelEvent(QWheelEvent *event) @@ -374,10 +364,7 @@ void WebView::wheelEvent(QWheelEvent *event) void WebView::openLinkInNewTab() { -#if defined(QWEBENGINEPAGE_WEBACTION_OPENLINKINNEWWINDOW) - m_page->m_openInNewTab = true; - pageAction(QWebEnginePage::OpenLinkInNewWindow)->trigger(); -#endif + pageAction(QWebEnginePage::OpenLinkInNewTab)->trigger(); } void WebView::onFeaturePermissionRequested(const QUrl &securityOrigin, QWebEnginePage::Feature feature) diff --git a/examples/webenginewidgets/browser/webview.h b/examples/webenginewidgets/browser/webview.h index a147d780a..2497bc1b9 100644 --- a/examples/webenginewidgets/browser/webview.h +++ b/examples/webenginewidgets/browser/webview.h @@ -85,7 +85,6 @@ private: // set the webview mousepressedevent Qt::KeyboardModifiers m_keyboardModifiers; Qt::MouseButtons m_pressedButtons; - bool m_openInNewTab; QUrl m_loadingUrl; }; |