From 1ad514dcdd2fc96041ab232f552bebf33b41f306 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Tue, 6 Feb 2018 14:58:24 +0100 Subject: [PATCH] state dependent animator hints fixed --- src/controls/QskScrollView.cpp | 2 +- src/controls/QskSkinnable.cpp | 8 ++++---- src/controls/QskSkinnable.h | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/controls/QskScrollView.cpp b/src/controls/QskScrollView.cpp index 6f04724e..567232fa 100644 --- a/src/controls/QskScrollView.cpp +++ b/src/controls/QskScrollView.cpp @@ -81,7 +81,7 @@ namespace m_to = to; const auto hint = m_scrollView->effectiveAnimation( - QskAspect::Metric, QskScrollView::Viewport ); + QskAspect::Metric, QskScrollView::Viewport, QskAspect::NoState ); setDuration( hint.duration ); setEasingCurve( hint.type ); diff --git a/src/controls/QskSkinnable.cpp b/src/controls/QskSkinnable.cpp index 8e851f49..bb1b25f1 100644 --- a/src/controls/QskSkinnable.cpp +++ b/src/controls/QskSkinnable.cpp @@ -363,9 +363,9 @@ QskAnimationHint QskSkinnable::animation( QskAnimationHint QskSkinnable::effectiveAnimation( QskAspect::Type type, QskAspect::Subcontrol subControl, - QskSkinHintStatus* status ) const + QskAspect::State state, QskSkinHintStatus* status ) const { - QskAspect::Aspect aspect = subControl | type; + QskAspect::Aspect aspect = subControl | type | state; aspect.setAnimator( true ); QskAnimationHint hint; @@ -711,7 +711,7 @@ void QskSkinnable::startTransition( QskAspect::Aspect aspect, aspect.setPlacement( effectivePlacement() ); #if DEBUG_ANIMATOR - qDebug() << aspect; + qDebug() << aspect << animationHint.duration; #endif auto animator = m_data->animators.animator( aspect ); @@ -754,7 +754,7 @@ void QskSkinnable::setSkinStateFlag( QskAspect::State state, bool on ) { const auto type = static_cast< Type >( i ); - const auto hint = effectiveAnimation( type, subControl ); + const auto hint = effectiveAnimation( type, subControl, newState ); if ( hint.duration > 0 ) { diff --git a/src/controls/QskSkinnable.h b/src/controls/QskSkinnable.h index c01a1117..c58278df 100644 --- a/src/controls/QskSkinnable.h +++ b/src/controls/QskSkinnable.h @@ -115,7 +115,7 @@ public: QskAnimationHint animation( QskAspect::Aspect, QskSkinHintStatus* = nullptr ) const; QskAnimationHint effectiveAnimation( QskAspect::Type, QskAspect::Subcontrol, - QskSkinHintStatus* status = nullptr ) const; + QskAspect::State, QskSkinHintStatus* status = nullptr ) const; QVariant effectiveHint( QskAspect::Aspect, QskSkinHintStatus* = nullptr ) const; virtual QskAspect::Placement effectivePlacement() const;