aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickrangeslider.cpp
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@qt.io>2018-04-05 11:25:43 +0200
committerMitch Curtis <mitch.curtis@qt.io>2018-04-05 09:38:43 +0000
commit98a65a9c74e148758be1619b1fd3844f3f31c789 (patch)
tree4ab9011782aa3b6168c88ffcb1f2ec52e707e25d /src/quicktemplates2/qquickrangeslider.cpp
parent583b7b0324a03337b8f21b5c2eacb6657c16ade7 (diff)
RangeSlider: add valueAt() function
This is necessary to e.g. show up-to-date values in tooltips for each handle when live is set to false. It's copied from Slider. [ChangeLog][Controls][RangeSlider] Added a valueAt() function to allow accessing each handle's value when the live property is set to false. Task-number: QTBUG-67317 Change-Id: I8d0ca1a914f983b6b950ece759a102c05c5dd2f0 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquickrangeslider.cpp')
-rw-r--r--src/quicktemplates2/qquickrangeslider.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/quicktemplates2/qquickrangeslider.cpp b/src/quicktemplates2/qquickrangeslider.cpp
index 075147a1..5b282f2c 100644
--- a/src/quicktemplates2/qquickrangeslider.cpp
+++ b/src/quicktemplates2/qquickrangeslider.cpp
@@ -689,6 +689,23 @@ void QQuickRangeSlider::resetTouchDragThreshold()
}
/*!
+ \since QtQuick.Controls 2.5 (Qt 5.12)
+ \qmlmethod real QtQuick.Controls::RangeSlider::valueAt(real position)
+
+ Returns the value for the given \a position.
+
+ \sa first.value, second.value, first.position, second.position, live
+*/
+qreal QQuickRangeSlider::valueAt(qreal position) const
+{
+ Q_D(const QQuickRangeSlider);
+ const qreal value = (d->to - d->from) * position;
+ if (qFuzzyIsNull(d->stepSize))
+ return d->from + value;
+ return d->from + qRound(value / d->stepSize) * d->stepSize;
+}
+
+/*!
\qmlpropertygroup QtQuick.Controls::RangeSlider::first
\qmlproperty real QtQuick.Controls::RangeSlider::first.value
\qmlproperty real QtQuick.Controls::RangeSlider::first.position