From 0df922cba85abe09feffca742d702357f9d59e13 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Mon, 21 Dec 2020 15:27:05 +0100 Subject: [PATCH] making startTransition aware of sunControl redirection --- src/controls/QskSkinnable.cpp | 7 +++++++ src/controls/QskSkinnable.h | 3 +++ src/controls/QskSlider.cpp | 4 ---- 3 files changed, 10 insertions(+), 4 deletions(-) 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