respecting all local skin hints during skin transitions

This commit is contained in:
Uwe Rathmann 2017-07-26 13:21:44 +02:00
parent 2636c4a7af
commit 40aeb80618

View File

@ -257,24 +257,6 @@ namespace
// the control is not interested in the aspect
continue;
}
QskAspect::Aspect a = candidate.aspect;
a.clearStates();
a.addState( control->skinState() );
const QskSkinHintStatus requestState = control->hintStatus( a );
if ( requestState.source != QskSkinHintStatus::Skin )
{
// The control does not resolve the aspect from the skin.
continue;
}
if ( candidate.aspect != requestState.aspect )
{
// the aspect was resolved to something else
continue;
}
}
else
{
@ -283,12 +265,30 @@ namespace
if ( candidate.aspect.isBoxPrimitive() &&
( candidate.aspect.boxPrimitive() == QskAspect::Background ) )
{
// no need to animate the background if we show it
// no need to animate the background unless we show it
continue;
}
}
}
QskAspect::Aspect a = candidate.aspect;
a.clearStates();
a.addState( control->skinState() );
const QskSkinHintStatus requestState = control->hintStatus( a );
if ( requestState.source != QskSkinHintStatus::Skin )
{
// The control does not resolve the aspect from the skin.
continue;
}
if ( candidate.aspect != requestState.aspect )
{
// the aspect was resolved to something else
continue;
}
addAnimator( control, candidate, animatorHint );
storeUpdateInfo( control, candidate.aspect );
}