aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickslider.cpp
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-06-12 22:03:59 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2016-06-13 11:00:38 +0000
commitb17cf27b1afd5045aa6bce923f9eebc439d4fc39 (patch)
tree5159581e93c477359fe7bcf8d9ca3d3581423bee /src/quicktemplates2/qquickslider.cpp
parentb6e62658322fe2d23b5df9376484c3ad259d2bc6 (diff)
Fix Slider to react if only clicked
The idea was to avoid accidental value changes while flicking over a slider, but that case should be covered well enough by handling mouseUngrabEvent(). [ChgangeLog][Important Behavior Changes] Slider has been fixed to react to clicks. Task-number: QTBUG-53846 Change-Id: I0d52f805af8867655945c57ad77ccb85704a4462 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquickslider.cpp')
-rw-r--r--src/quicktemplates2/qquickslider.cpp20
1 files changed, 9 insertions, 11 deletions
diff --git a/src/quicktemplates2/qquickslider.cpp b/src/quicktemplates2/qquickslider.cpp
index 9769085d..4a60e2b9 100644
--- a/src/quicktemplates2/qquickslider.cpp
+++ b/src/quicktemplates2/qquickslider.cpp
@@ -516,17 +516,15 @@ void QQuickSlider::mouseReleaseEvent(QMouseEvent *event)
Q_D(QQuickSlider);
QQuickControl::mouseReleaseEvent(event);
d->pressPoint = QPoint();
- if (keepMouseGrab()) {
- qreal pos = d->positionAt(event->pos());
- if (d->snapMode != NoSnap)
- pos = d->snapPosition(pos);
- qreal val = d->valueAt(pos);
- if (!qFuzzyCompare(val, d->value))
- setValue(val);
- else if (d->snapMode != NoSnap)
- d->setPosition(pos);
- setKeepMouseGrab(false);
- }
+ qreal pos = d->positionAt(event->pos());
+ if (d->snapMode != NoSnap)
+ pos = d->snapPosition(pos);
+ qreal val = d->valueAt(pos);
+ if (!qFuzzyCompare(val, d->value))
+ setValue(val);
+ else if (d->snapMode != NoSnap)
+ d->setPosition(pos);
+ setKeepMouseGrab(false);
setPressed(false);
}