aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquicktextcontrol.cpp
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@digia.com>2013-04-22 18:14:55 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-06-07 21:47:57 +0200
commita2e8e835fc187a3a804c6d4c0b46e9039c137dc6 (patch)
tree264944c62c807541136d231c26db83c8182b8d3f /src/quick/items/qquicktextcontrol.cpp
parentc3bd7f90b4ac10485740bb8bec44cfbb24237fea (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.cpp26
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);