summaryrefslogtreecommitdiffstats
path: root/examples/webenginewidgets/demobrowser
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@theqtcompany.com>2016-04-11 16:34:57 +0200
committerKai Koehne <kai.koehne@theqtcompany.com>2016-04-13 13:15:44 +0000
commit61bdfb046700068afe36007ede3dcba1104099a3 (patch)
tree7209d2d30260b0d623ce94e48fc4507d91f8338c /examples/webenginewidgets/demobrowser
parent5f8756195c48436c67a9afe63c25210ea5fa2979 (diff)
Remove "Save Page" web action from the standard context menu
The SavePage web action is only useful if the user code reacts on the downloadRequested signal. Also, having SavePage available is not useful for e.g. hybrid applications. Extend the demobrowser example to show how to add the SavePage web action to the context menu. Change-Id: I979bcd9f5a25d2cae07ef819663afde17784440b Task-number: QTBUG-52370 Reviewed-by: Michael BrĂ¼ning <michael.bruning@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Diffstat (limited to 'examples/webenginewidgets/demobrowser')
-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)