From 07aac221bb6625ebe7fa3b5e3f21482c75bdb4b0 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Fri, 17 Sep 2021 16:32:01 +0200 Subject: [PATCH] QskSkinnable::setSkinStates cleanup --- src/controls/QskSkinnable.cpp | 16 +++++++++++++--- src/controls/QskSkinnable.h | 5 ++++- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/controls/QskSkinnable.cpp b/src/controls/QskSkinnable.cpp index b306d6a4..d264d2ef 100644 --- a/src/controls/QskSkinnable.cpp +++ b/src/controls/QskSkinnable.cpp @@ -1091,7 +1091,7 @@ void QskSkinnable::setSkinStateFlag( QskAspect::State stateFlag, bool on ) ? ( m_data->skinStates | stateFlag ) : ( m_data->skinStates & ~stateFlag ); - setSkinStates( newState, true ); + setSkinStates( newState ); } void QskSkinnable::replaceSkinStates( QskAspect::States newStates ) @@ -1099,7 +1099,17 @@ void QskSkinnable::replaceSkinStates( QskAspect::States newStates ) m_data->skinStates = newStates; } -void QskSkinnable::setSkinStates( QskAspect::States newStates, bool animated ) +void QskSkinnable::addSkinStates( QskAspect::States states ) +{ + setSkinStates( m_data->skinStates | states ); +} + +void QskSkinnable::clearSkinStates( QskAspect::States states ) +{ + setSkinStates( m_data->skinStates & ~states ); +} + +void QskSkinnable::setSkinStates( QskAspect::States newStates ) { if ( m_data->skinStates == newStates ) return; @@ -1126,7 +1136,7 @@ void QskSkinnable::setSkinStates( QskAspect::States newStates, bool animated ) } } - if ( control->window() && animated && isTransitionAccepted( QskAspect() ) ) + if ( control->window() && isTransitionAccepted( QskAspect() ) ) { const auto placement = effectivePlacement(); const auto primitiveCount = QskAspect::primitiveCount(); diff --git a/src/controls/QskSkinnable.h b/src/controls/QskSkinnable.h index b3402457..9a9ca847 100644 --- a/src/controls/QskSkinnable.h +++ b/src/controls/QskSkinnable.h @@ -127,9 +127,12 @@ class QSK_EXPORT QskSkinnable void debug( QDebug, QskAspect ) const; void debug( QDebug, QskAspect::State ) const; - void setSkinStates( QskAspect::States, bool animated = true ); + void setSkinStates( QskAspect::States ); void setSkinStateFlag( QskAspect::State, bool on = true ); + void addSkinStates( QskAspect::States ); + void clearSkinStates( QskAspect::States ); + void replaceSkinStates( QskAspect::States ); bool hasSkinState( QskAspect::State ) const;