diff options
author | J-P Nurmi <jpnurmi@digia.com> | 2013-04-22 18:14:55 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-06-07 21:47:57 +0200 |
commit | a2e8e835fc187a3a804c6d4c0b46e9039c137dc6 (patch) | |
tree | 264944c62c807541136d231c26db83c8182b8d3f /src/quick/items/qquicktextcontrol.cpp | |
parent | c3bd7f90b4ac10485740bb8bec44cfbb24237fea (diff) |
Add QQuickTextEdit::hoveredLink
Change-Id: I9d75a97c86e047742514f942cdb91c70f1d7a9a2
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Diffstat (limited to 'src/quick/items/qquicktextcontrol.cpp')
-rw-r--r-- | src/quick/items/qquicktextcontrol.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/quick/items/qquicktextcontrol.cpp b/src/quick/items/qquicktextcontrol.cpp index e22c84879b..fce5e02b4d 100644 --- a/src/quick/items/qquicktextcontrol.cpp +++ b/src/quick/items/qquicktextcontrol.cpp @@ -720,6 +720,12 @@ void QQuickTextControl::processEvent(QEvent *e, const QMatrix &matrix) QMouseEvent *ev = static_cast<QMouseEvent *>(e); d->mouseDoubleClickEvent(ev, matrix.map(ev->localPos())); break; } + case QEvent::HoverEnter: + case QEvent::HoverMove: + case QEvent::HoverLeave: { + QHoverEvent *ev = static_cast<QHoverEvent *>(e); + d->hoverEvent(ev, matrix.map(ev->posF())); + break; } #ifndef QT_NO_IM case QEvent::InputMethod: d->inputMethodEvent(static_cast<QInputMethodEvent *>(e)); @@ -1403,6 +1409,20 @@ void QQuickTextControlPrivate::focusEvent(QFocusEvent *e) } } +void QQuickTextControlPrivate::hoverEvent(QHoverEvent *e, const QPointF &pos) +{ + Q_Q(QQuickTextControl); + + QString link; + if (e->type() != QEvent::HoverLeave) + link = q->anchorAt(pos); + + if (hoveredLink != link) { + hoveredLink = link; + emit q->linkHovered(link); + } +} + bool QQuickTextControl::hasImState() const { Q_D(const QQuickTextControl); @@ -1438,6 +1458,12 @@ QRectF QQuickTextControl::cursorRect() const return cursorRect(d->cursor); } +QString QQuickTextControl::hoveredLink() const +{ + Q_D(const QQuickTextControl); + return d->hoveredLink; +} + QString QQuickTextControl::anchorAt(const QPointF &pos) const { Q_D(const QQuickTextControl); |