diff --git a/src/controls/QskSkinnable.cpp b/src/controls/QskSkinnable.cpp index c81b234f..5e1362a5 100644 --- a/src/controls/QskSkinnable.cpp +++ b/src/controls/QskSkinnable.cpp @@ -931,6 +931,13 @@ bool QskSkinnable::isTransitionAccepted( QskAspect::Aspect aspect ) const void QskSkinnable::startTransition( QskAspect::Aspect aspect, QskAnimationHint animationHint, QVariant from, QVariant to ) +{ + aspect.setSubControl( effectiveSubcontrol( aspect.subControl() ) ); + startHintTransition( aspect, animationHint, from, to ); +} + +void QskSkinnable::startHintTransition( QskAspect::Aspect aspect, + QskAnimationHint animationHint, QVariant from, QVariant to ) { if ( animationHint.duration <= 0 || ( from == to ) ) return; diff --git a/src/controls/QskSkinnable.h b/src/controls/QskSkinnable.h index 8784a77f..db4b9d53 100644 --- a/src/controls/QskSkinnable.h +++ b/src/controls/QskSkinnable.h @@ -199,6 +199,9 @@ class QSK_EXPORT QskSkinnable const QskSkinHintTable& hintTable() const; private: + void startHintTransition( QskAspect::Aspect, + QskAnimationHint, QVariant from, QVariant to ); + QVariant animatedValue( QskAspect::Aspect, QskSkinHintStatus* ) const; const QVariant& storedHint( QskAspect::Aspect, QskSkinHintStatus* = nullptr ) const; diff --git a/src/controls/QskSlider.cpp b/src/controls/QskSlider.cpp index af369236..b23c5217 100644 --- a/src/controls/QskSlider.cpp +++ b/src/controls/QskSlider.cpp @@ -255,10 +255,6 @@ void QskSlider::moveHandleTo( qreal value, const QskAnimationHint& hint ) const qreal oldPos = metric( aspect ); setMetric( aspect, pos ); -#if 1 - // startTransition should do this: TODO ... - aspect.setSubControl( effectiveSubcontrol( Handle ) ); -#endif startTransition( aspect, hint, oldPos, pos ); } else