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;