From 63929da406724a07e21fc01fd15d24c7729cc906 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Sun, 20 Dec 2020 16:10:24 +0100 Subject: [PATCH] minor optimizations --- src/controls/QskSkinnable.cpp | 15 +++++++++++---- src/controls/QskSkinnable.h | 5 ----- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/controls/QskSkinnable.cpp b/src/controls/QskSkinnable.cpp index 4376d848..d997bf96 100644 --- a/src/controls/QskSkinnable.cpp +++ b/src/controls/QskSkinnable.cpp @@ -561,7 +561,7 @@ bool QskSkinnable::resetHint( QskAspect::Aspect aspect ) a.setPlacement( effectivePlacement() ); if ( a.state() == QskAspect::NoState ) - a = a | skinState(); + a.setState( skinState() ); const auto oldHint = storedHint( a ); @@ -573,18 +573,20 @@ bool QskSkinnable::resetHint( QskAspect::Aspect aspect ) QVariant QskSkinnable::effectiveHint( QskAspect::Aspect aspect, QskSkinHintStatus* status ) const { - aspect.setSubControl( effectiveSubcontrol( aspect.subControl() ) ); + if ( const auto subControl = aspect.subControl() ) + aspect.setSubControl( effectiveSubcontrol( subControl ) ); + aspect.setPlacement( effectivePlacement() ); if ( aspect.isAnimator() ) return storedHint( aspect, status ); - const QVariant v = animatedValue( aspect, status ); + const auto v = animatedValue( aspect, status ); if ( v.isValid() ) return v; if ( aspect.state() == QskAspect::NoState ) - aspect = aspect | skinState(); + aspect.setState( skinState() ); return storedHint( aspect, status ); } @@ -1042,6 +1044,11 @@ QskSkin* QskSkinnable::effectiveSkin() const return skin ? skin : qskSetup->skin(); } +QskAspect::Placement QskSkinnable::effectivePlacement() const +{ + return QskAspect::NoPlacement; +} + void QskSkinnable::updateNode( QSGNode* parentNode ) { effectiveSkinlet()->updateNode( this, parentNode ); diff --git a/src/controls/QskSkinnable.h b/src/controls/QskSkinnable.h index 463100ca..5ccbc672 100644 --- a/src/controls/QskSkinnable.h +++ b/src/controls/QskSkinnable.h @@ -221,11 +221,6 @@ inline Qt::Alignment QskSkinnable::alignmentHint( return flagHint< Qt::Alignment >( aspect | QskAspect::Alignment, defaultAlignment ); } -inline QskAspect::Placement QskSkinnable::effectivePlacement() const -{ - return QskAspect::NoPlacement; -} - inline bool QskSkinnable::resetColor( QskAspect::Aspect aspect ) { return resetHint( aspect | QskAspect::Color );