summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/webenginewidgets/demobrowser/webview.cpp11
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)