diff options
Diffstat (limited to 'examples/webenginewidgets/simplebrowser/webview.cpp')
-rw-r--r-- | examples/webenginewidgets/simplebrowser/webview.cpp | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/examples/webenginewidgets/simplebrowser/webview.cpp b/examples/webenginewidgets/simplebrowser/webview.cpp index ab42c4a0a..fcbb543f2 100644 --- a/examples/webenginewidgets/simplebrowser/webview.cpp +++ b/examples/webenginewidgets/simplebrowser/webview.cpp @@ -177,21 +177,21 @@ QWebEngineView *WebView::createWindow(QWebEnginePage::WebWindowType type) void WebView::contextMenuEvent(QContextMenuEvent *event) { QMenu *menu = page()->createStandardContextMenu(); - const QList<QAction*> actions = menu->actions(); - auto it = std::find(actions.cbegin(), actions.cend(), page()->action(QWebEnginePage::OpenLinkInThisWindow)); - if (it != actions.cend()) { - (*it)->setText(tr("Open Link in This Tab")); - ++it; - QAction *before(it == actions.cend() ? nullptr : *it); - menu->insertAction(before, page()->action(QWebEnginePage::OpenLinkInNewWindow)); - menu->insertAction(before, page()->action(QWebEnginePage::OpenLinkInNewTab)); - } - it = std::find(actions.cbegin(), actions.cend(), page()->action(QWebEnginePage::InspectElement)); - if (it == actions.cend()) { + const QList<QAction *> actions = menu->actions(); + auto inspectElement = std::find(actions.cbegin(), actions.cend(), page()->action(QWebEnginePage::InspectElement)); + if (inspectElement == actions.cend()) { + auto viewSource = std::find(actions.cbegin(), actions.cend(), page()->action(QWebEnginePage::ViewSource)); + if (viewSource == actions.cend()) + menu->addSeparator(); + QAction *action = new QAction(menu); - action->setText("Inspect Element"); + action->setText("Open inspector in new window"); connect(action, &QAction::triggered, [this]() { emit devToolsRequested(page()); }); - menu->addAction(action); + + QAction *before(inspectElement == actions.cend() ? nullptr : *inspectElement); + menu->insertAction(before, action); + } else { + (*inspectElement)->setText(tr("Inspect element")); } menu->popup(event->globalPos()); } |