aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-01-24 11:20:51 +0100
committerJ-P Nurmi <jpnurmi@qt.io>2017-01-24 11:53:07 +0000
commit13c0330511a54ad44a5f8bcad92738d6d652119b (patch)
treebc78d167466de695ec1da199ae78bb4d380c32de /src
parent2b60b354e6a9a131ed79190315c7d9e0173bb004 (diff)
Use keepTouchGrab instead of keepMouseGrab when handling touch events
Change-Id: I7ea3db90fbafea68c094d1525ee28972823960ac Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/quicktemplates2/qquickdial.cpp11
-rw-r--r--src/quicktemplates2/qquickrangeslider.cpp11
-rw-r--r--src/quicktemplates2/qquickslider.cpp9
3 files changed, 17 insertions, 14 deletions
diff --git a/src/quicktemplates2/qquickdial.cpp b/src/quicktemplates2/qquickdial.cpp
index 2d24dddc..12f1d331 100644
--- a/src/quicktemplates2/qquickdial.cpp
+++ b/src/quicktemplates2/qquickdial.cpp
@@ -207,7 +207,7 @@ void QQuickDialPrivate::handlePress(const QPointF &point)
void QQuickDialPrivate::handleMove(const QPointF &point)
{
Q_Q(QQuickDial);
- if (!q->keepMouseGrab())
+ if (!q->keepMouseGrab() && !q->keepTouchGrab())
return;
const qreal oldPos = position;
qreal pos = positionAt(point);
@@ -227,7 +227,7 @@ void QQuickDialPrivate::handleMove(const QPointF &point)
void QQuickDialPrivate::handleRelease(const QPointF &point)
{
Q_Q(QQuickDial);
- if (q->keepMouseGrab()) {
+ if (q->keepMouseGrab() || q->keepTouchGrab()) {
const qreal oldPos = position;
qreal pos = positionAt(point);
if (snapMode != QQuickDial::NoSnap)
@@ -239,6 +239,7 @@ void QQuickDialPrivate::handleRelease(const QPointF &point)
emit q->moved();
q->setKeepMouseGrab(false);
+ q->setKeepTouchGrab(false);
}
q->setPressed(false);
@@ -708,13 +709,13 @@ void QQuickDial::touchEvent(QTouchEvent *event)
if (point.id() != d->touchId)
continue;
- if (!keepMouseGrab()) {
+ if (!keepTouchGrab()) {
bool overXDragThreshold = QQuickWindowPrivate::dragOverThreshold(point.pos().x() - d->pressPoint.x(), Qt::XAxis, &point);
- setKeepMouseGrab(overXDragThreshold);
+ setKeepTouchGrab(overXDragThreshold);
if (!overXDragThreshold) {
bool overYDragThreshold = QQuickWindowPrivate::dragOverThreshold(point.pos().y() - d->pressPoint.y(), Qt::YAxis, &point);
- setKeepMouseGrab(overYDragThreshold);
+ setKeepTouchGrab(overYDragThreshold);
}
}
d->handleMove(point.pos());
diff --git a/src/quicktemplates2/qquickrangeslider.cpp b/src/quicktemplates2/qquickrangeslider.cpp
index 683fd2bf..1ce16949 100644
--- a/src/quicktemplates2/qquickrangeslider.cpp
+++ b/src/quicktemplates2/qquickrangeslider.cpp
@@ -456,7 +456,7 @@ void QQuickRangeSliderPrivate::handlePress(const QPointF &point, int touchId)
void QQuickRangeSliderPrivate::handleMove(const QPointF &point, int touchId)
{
Q_Q(QQuickRangeSlider);
- if (!q->keepMouseGrab())
+ if (!q->keepMouseGrab() && !q->keepTouchGrab())
return;
QQuickRangeSliderNode *pressedNode = QQuickRangeSliderPrivate::pressedNode(touchId);
if (pressedNode) {
@@ -480,7 +480,7 @@ void QQuickRangeSliderPrivate::handleRelease(const QPointF &point, int touchId)
return;
QQuickRangeSliderNodePrivate *pressedNodePrivate = QQuickRangeSliderNodePrivate::get(pressedNode);
- if (q->keepMouseGrab()) {
+ if (q->keepMouseGrab() || q->keepTouchGrab()) {
qreal pos = positionAt(q, pressedNode->handle(), point);
if (snapMode != QQuickRangeSlider::NoSnap)
pos = snapPosition(q, pos);
@@ -490,6 +490,7 @@ void QQuickRangeSliderPrivate::handleRelease(const QPointF &point, int touchId)
else if (snapMode != QQuickRangeSlider::NoSnap)
pressedNodePrivate->setPosition(pos);
q->setKeepMouseGrab(false);
+ q->setKeepTouchGrab(false);
}
pressedNode->setPressed(false);
pressedNodePrivate->touchId = -1;
@@ -1013,11 +1014,11 @@ void QQuickRangeSlider::touchEvent(QTouchEvent *event)
d->handlePress(point.pos(), point.id());
break;
case Qt::TouchPointMoved:
- if (!keepMouseGrab()) {
+ if (!keepTouchGrab()) {
if (d->orientation == Qt::Horizontal)
- setKeepMouseGrab(QQuickWindowPrivate::dragOverThreshold(point.pos().x() - point.startPos().x(), Qt::XAxis, &point));
+ setKeepTouchGrab(QQuickWindowPrivate::dragOverThreshold(point.pos().x() - point.startPos().x(), Qt::XAxis, &point));
else
- setKeepMouseGrab(QQuickWindowPrivate::dragOverThreshold(point.pos().y() - point.startPos().y(), Qt::YAxis, &point));
+ setKeepTouchGrab(QQuickWindowPrivate::dragOverThreshold(point.pos().y() - point.startPos().y(), Qt::YAxis, &point));
}
if (point.id() == QQuickRangeSliderNodePrivate::get(d->first)->touchId
|| point.id() == QQuickRangeSliderNodePrivate::get(d->second)->touchId)
diff --git a/src/quicktemplates2/qquickslider.cpp b/src/quicktemplates2/qquickslider.cpp
index 34f0f7d9..ff41595b 100644
--- a/src/quicktemplates2/qquickslider.cpp
+++ b/src/quicktemplates2/qquickslider.cpp
@@ -194,7 +194,7 @@ void QQuickSliderPrivate::handlePress(const QPointF &point)
void QQuickSliderPrivate::handleMove(const QPointF &point)
{
Q_Q(QQuickSlider);
- if (!q->keepMouseGrab())
+ if (!q->keepMouseGrab() && !q->keepTouchGrab())
return;
const qreal oldPos = position;
qreal pos = positionAt(point);
@@ -225,6 +225,7 @@ void QQuickSliderPrivate::handleRelease(const QPointF &point)
if (!qFuzzyCompare(pos, oldPos))
emit q->moved();
q->setKeepMouseGrab(false);
+ q->setKeepTouchGrab(false);
q->setPressed(false);
}
@@ -676,11 +677,11 @@ void QQuickSlider::touchEvent(QTouchEvent *event)
if (point.id() != d->touchId)
continue;
- if (!keepMouseGrab()) {
+ if (!keepTouchGrab()) {
if (d->orientation == Qt::Horizontal)
- setKeepMouseGrab(QQuickWindowPrivate::dragOverThreshold(point.pos().x() - d->pressPoint.x(), Qt::XAxis, &point));
+ setKeepTouchGrab(QQuickWindowPrivate::dragOverThreshold(point.pos().x() - d->pressPoint.x(), Qt::XAxis, &point));
else
- setKeepMouseGrab(QQuickWindowPrivate::dragOverThreshold(point.pos().y() - d->pressPoint.y(), Qt::YAxis, &point));
+ setKeepTouchGrab(QQuickWindowPrivate::dragOverThreshold(point.pos().y() - d->pressPoint.y(), Qt::YAxis, &point));
}
d->handleMove(point.pos());
}