diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/webenginewidgets/demobrowser/webview.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/examples/webenginewidgets/demobrowser/webview.cpp b/examples/webenginewidgets/demobrowser/webview.cpp index 8033c3ff5..192df6836 100644 --- a/examples/webenginewidgets/demobrowser/webview.cpp +++ b/examples/webenginewidgets/demobrowser/webview.cpp @@ -371,18 +371,21 @@ void WebView::setPage(WebPage *_page) void WebView::contextMenuEvent(QContextMenuEvent *event) { + QMenu *menu; if (page()->contextMenuData().linkUrl().isValid()) { - QMenu *menu = new QMenu(this); + menu = new QMenu(this); menu->addAction(page()->action(QWebEnginePage::OpenLinkInThisWindow)); menu->addAction(page()->action(QWebEnginePage::OpenLinkInNewWindow)); menu->addAction(page()->action(QWebEnginePage::OpenLinkInNewBackgroundTab)); menu->addSeparator(); menu->addAction(page()->action(QWebEnginePage::DownloadLinkToDisk)); menu->addAction(page()->action(QWebEnginePage::CopyLinkToClipboard)); - menu->popup(event->globalPos()); - return; + } else { + menu = page()->createStandardContextMenu(); } - QWebEngineView::contextMenuEvent(event); + if (page()->contextMenuData().selectedText().isEmpty()) + menu->addAction(page()->action(QWebEnginePage::SavePage)); + menu->popup(event->globalPos()); } void WebView::wheelEvent(QWheelEvent *event) |