diff options
author | Joerg Bornemann <joerg.bornemann@theqtcompany.com> | 2016-04-11 16:34:57 +0200 |
---|---|---|
committer | Kai Koehne <kai.koehne@theqtcompany.com> | 2016-04-13 13:15:44 +0000 |
commit | 61bdfb046700068afe36007ede3dcba1104099a3 (patch) | |
tree | 7209d2d30260b0d623ce94e48fc4507d91f8338c /examples | |
parent | 5f8756195c48436c67a9afe63c25210ea5fa2979 (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')
-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) |