diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2016-06-12 22:03:59 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-06-13 11:00:38 +0000 |
commit | b17cf27b1afd5045aa6bce923f9eebc439d4fc39 (patch) | |
tree | 5159581e93c477359fe7bcf8d9ca3d3581423bee /src/quicktemplates2/qquickslider.cpp | |
parent | b6e62658322fe2d23b5df9376484c3ad259d2bc6 (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.cpp | 20 |
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); } |