summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-03-02 17:30:07 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-03-02 17:30:27 +0100
commitd058d6c9df1ff866e4259ca2989ad144bb01a1e0 (patch)
treed91f8c314c20781080819d100df6a9855b30fbfd /src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
parent0c6312dfba960365771c64b937579a40e02ea5f7 (diff)
parent3f1805f8569337a21b72324d5edad329d5dfe872 (diff)
Merge remote-tracking branch 'origin/5.8' into 5.9
Diffstat (limited to 'src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp')
-rw-r--r--src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
index 69ecbe160..e7ad5b107 100644
--- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
+++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
@@ -64,6 +64,8 @@ public:
RenderWidgetHostViewQuickItem(RenderWidgetHostViewQtDelegateClient *client) : m_client(client)
{
setFlag(ItemHasContents, true);
+ // Mark that this item should receive focus when the parent QQuickWidget receives focus.
+ setFocus(true);
}
protected:
void focusInEvent(QFocusEvent *event) override
@@ -180,10 +182,14 @@ void RenderWidgetHostViewQtDelegateWidget::initAsPopup(const QRect& screenRect)
setAttribute(Qt::WA_ShowWithoutActivating);
setFocusPolicy(Qt::NoFocus);
+#ifdef Q_OS_MACOS
// macOS doesn't like Qt::ToolTip when QWebEngineView is inside a modal dialog, specifically by
// not forwarding click events to the popup. So we use Qt::Tool which behaves the same way, but
// works on macOS too.
setWindowFlags(Qt::Tool | Qt::FramelessWindowHint | Qt::WindowDoesNotAcceptFocus);
+#else
+ setWindowFlags(Qt::ToolTip | Qt::FramelessWindowHint | Qt::WindowDoesNotAcceptFocus);
+#endif
setGeometry(screenRect);
show();