diff --git a/designsystems/material3/QskMaterial3Skin.cpp b/designsystems/material3/QskMaterial3Skin.cpp index c5278146..5fe6ef31 100644 --- a/designsystems/material3/QskMaterial3Skin.cpp +++ b/designsystems/material3/QskMaterial3Skin.cpp @@ -501,31 +501,10 @@ void Editor::setupRadioBox() setShadowMetrics( aspect, { 10_dp, 0 } ); - QRgb rgb; - - if ( state1 == Q::Hovered ) - { - rgb = ( state2 == Q::Selected ) ? m_pal.primary8 : m_pal.onSurface8; - rgb = stateLayerColor( rgb, m_pal.hoverOpacity ); - - setShadowColor( aspect, rgb ); - } - else if ( state1 == Q::Focused ) - { - rgb = ( state2 == Q::Selected ) ? m_pal.primary12 : m_pal.onSurface12; - rgb = stateLayerColor( rgb, m_pal.focusOpacity ); - - setShadowColor( aspect, rgb ); - } - else - { - rgb = ( state2 == Q::Selected ) ? m_pal.onSurface12 : m_pal.primary12; - rgb = stateLayerColor( rgb, m_pal.pressedOpacity ); - - setShadowColor( aspect, rgb ); - setShadowColor( aspect | Q::Focused, rgb ); - } + auto rgb = ( state2 == Q::Selected ) ? m_pal.primary : m_pal.onSurface; + rgb = stateLayerColor( rgb, m_pal.stateOpacity( state1 ) ); + setShadowColor( aspect, rgb ); } } @@ -1518,6 +1497,9 @@ qreal QskMaterial3Theme::stateOpacity( int state ) const if ( state == QskControl::Focused ) return focusOpacity; + if ( state == QskControl::Disabled ) + return disabledOpacity; + return state ? pressedOpacity : 0.0; } diff --git a/designsystems/material3/QskMaterial3Skin.h b/designsystems/material3/QskMaterial3Skin.h index c51b3a7d..b2790e02 100644 --- a/designsystems/material3/QskMaterial3Skin.h +++ b/designsystems/material3/QskMaterial3Skin.h @@ -92,6 +92,7 @@ class QSK_MATERIAL3_EXPORT QskMaterial3Theme const qreal focusOpacity = 0.12; const qreal pressedOpacity = 0.12; const qreal draggedOpacity = 0.16; + const qreal disabledOpacity = 0.38; qreal stateOpacity( int state ) const;