From 9f798b787a2542688c30503d3f62fe2d7c4d5a72 Mon Sep 17 00:00:00 2001 From: Peter Varga Date: Fri, 8 Dec 2017 11:03:33 +0100 Subject: Refactor QWebEngineView tooltip handling Hide tooltip on empty text and make tooltips more fluent by ignoring duplicate requests. Task-number: QTBUG-64933 Change-Id: Ib82cb06ceda938548429cd694b849a2faadd2633 Reviewed-by: Allan Sandfeld Jensen --- src/webenginewidgets/api/qwebengineview.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/webenginewidgets/api/qwebengineview.cpp') diff --git a/src/webenginewidgets/api/qwebengineview.cpp b/src/webenginewidgets/api/qwebengineview.cpp index 0037f7e50..c03d9fde6 100644 --- a/src/webenginewidgets/api/qwebengineview.cpp +++ b/src/webenginewidgets/api/qwebengineview.cpp @@ -50,8 +50,9 @@ #include #include #include -#include #include +#include +#include QT_BEGIN_NAMESPACE @@ -321,6 +322,18 @@ bool QWebEngineView::event(QEvent *ev) ev->accept(); return true; } + + // Override QWidget's default ToolTip handler since it doesn't hide tooltip on empty text. + if (ev->type() == QEvent::ToolTip) { + if (!toolTip().isEmpty()) + QToolTip::showText(static_cast(ev)->globalPos(), toolTip(), this, QRect(), toolTipDuration()); + else + QToolTip::hideText(); + + ev->accept(); + return true; + } + return QWidget::event(ev); } -- cgit v1.2.1