diff options
| author | Peter Varga <pvarga@inf.u-szeged.hu> | 2017-12-08 11:03:33 +0100 |
|---|---|---|
| committer | Peter Varga <pvarga@inf.u-szeged.hu> | 2017-12-08 21:49:20 +0000 |
| commit | 9f798b787a2542688c30503d3f62fe2d7c4d5a72 (patch) | |
| tree | 5b819f23814fb86b1d2373a69365cdce616444d0 /src/webenginewidgets/api/qwebengineview.cpp | |
| parent | f7103bc5fd099dd0a0772ef28930dd368e9fcf47 (diff) | |
| download | qtwebengine-9f798b787a2542688c30503d3f62fe2d7c4d5a72.tar.gz | |
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 <allan.jensen@qt.io>
Diffstat (limited to 'src/webenginewidgets/api/qwebengineview.cpp')
| -rw-r--r-- | src/webenginewidgets/api/qwebengineview.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
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 <QAction> #include <QMenu> #include <QContextMenuEvent> -#include <QStackedLayout> #include <QPageLayout> +#include <QStackedLayout> +#include <QToolTip> 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<QHelpEvent *>(ev)->globalPos(), toolTip(), this, QRect(), toolTipDuration()); + else + QToolTip::hideText(); + + ev->accept(); + return true; + } + return QWidget::event(ev); } |
