aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickevents.cpp
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2016-07-19 18:44:09 +0200
committerFrederik Gladhorn <frederik.gladhorn@qt.io>2016-07-24 13:05:50 +0000
commitaa48ecd09b56cee3fb34d48b70c6138a1d675f2a (patch)
treef14e235a772f69dc9cc314e16cc5d4113dc83061 /src/quick/items/qquickevents.cpp
parent16e299fbb106f7d2de954afb1b921a80f4cd3e67 (diff)
Add QQuickPointerEvent::grabbers
Returns a list of all items that grabbed a point of the event before. Change-Id: Ifa7e6cc7486c4e1a7446a6bf3d4e62d19983ecf7 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Diffstat (limited to 'src/quick/items/qquickevents.cpp')
-rw-r--r--src/quick/items/qquickevents.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/quick/items/qquickevents.cpp b/src/quick/items/qquickevents.cpp
index 96eb59f518..ea1a6e263e 100644
--- a/src/quick/items/qquickevents.cpp
+++ b/src/quick/items/qquickevents.cpp
@@ -594,6 +594,14 @@ QMouseEvent *QQuickPointerMouseEvent::asMouseEvent() const
return static_cast<QMouseEvent *>(m_event);
}
+QVector<QQuickItem *> QQuickPointerMouseEvent::grabbers() const
+{
+ QVector<QQuickItem *> result;
+ if (QQuickItem *grabber = m_mousePoint->grabber())
+ result << grabber;
+ return result;
+}
+
bool QQuickPointerTouchEvent::allPointsAccepted() const {
for (int i = 0; i < m_pointCount; ++i) {
if (!m_touchPoints.at(i)->isAccepted())
@@ -602,6 +610,18 @@ bool QQuickPointerTouchEvent::allPointsAccepted() const {
return true;
}
+QVector<QQuickItem *> QQuickPointerTouchEvent::grabbers() const
+{
+ QVector<QQuickItem *> result;
+ for (auto point : qAsConst(m_touchPoints)) {
+ if (QQuickItem *grabber = point->grabber()) {
+ if (!result.contains(grabber))
+ result << grabber;
+ }
+ }
+ return result;
+}
+
/*!
\internal
Populate the reusable synth-mouse event from one touchpoint.