segmented bar: Add Pressed state and style also for Hovered

This commit is contained in:
Peter Hartmann 2023-02-05 16:01:30 +01:00 committed by uwerat
parent 6b43231ca2
commit 636f548fed
3 changed files with 5 additions and 3 deletions

View File

@ -566,6 +566,7 @@ void Editor::setupSegmentedBar()
setGradient( Q::Cursor, m_pal.secondaryContainer ); setGradient( Q::Cursor, m_pal.secondaryContainer );
setGradient( Q::Cursor | Q::Disabled, m_pal.onSurface12 ); setGradient( Q::Cursor | Q::Disabled, m_pal.onSurface12 );
setGradient( Q::Cursor | Q::Hovered, stateLayerColor( m_pal.onSurface, m_pal.hoverOpacity ) );
setBoxBorderMetrics( Q::Cursor, 1_dp ); setBoxBorderMetrics( Q::Cursor, 1_dp );
setBoxBorderColors( Q::Cursor, Qt::transparent ); setBoxBorderColors( Q::Cursor, Qt::transparent );

View File

@ -24,7 +24,8 @@ QSK_SUBCONTROL( QskSegmentedBar, Cursor )
QSK_SUBCONTROL( QskSegmentedBar, Text ) QSK_SUBCONTROL( QskSegmentedBar, Text )
QSK_SUBCONTROL( QskSegmentedBar, Icon ) QSK_SUBCONTROL( QskSegmentedBar, Icon )
QSK_SYSTEM_STATE( QskSegmentedBar, Selected, QskAspect::FirstSystemState << 1 ) QSK_SYSTEM_STATE( QskSegmentedBar, Selected, QskAspect::FirstSystemState )
QSK_SYSTEM_STATE( QskSegmentedBar, Pressed, QskAspect::FirstSystemState << 1 )
QSK_SYSTEM_STATE( QskSegmentedBar, Minimum, QskAspect::FirstSystemState << 2 ) QSK_SYSTEM_STATE( QskSegmentedBar, Minimum, QskAspect::FirstSystemState << 2 )
QSK_SYSTEM_STATE( QskSegmentedBar, Maximum, QskAspect::FirstSystemState << 3 ) QSK_SYSTEM_STATE( QskSegmentedBar, Maximum, QskAspect::FirstSystemState << 3 )
@ -172,7 +173,7 @@ void QskSegmentedBar::mousePressEvent( QMouseEvent* event )
if( hint.isValid() ) if( hint.isValid() )
{ {
setSkinHint( Splash | A::Metric | A::Position, event->pos() ); setSkinHint( Splash | A::Metric | A::Position, qskMousePosition( event ) );
startTransition( Splash | A::Metric | A::Size, hint, 0.0, 1.0 ); startTransition( Splash | A::Metric | A::Size, hint, 0.0, 1.0 );
} }
} }

View File

@ -37,7 +37,7 @@ class QSK_EXPORT QskSegmentedBar : public QskControl
public: public:
QSK_SUBCONTROLS( Panel, Splash, Segment, Separator, Cursor, Text, Icon ) QSK_SUBCONTROLS( Panel, Splash, Segment, Separator, Cursor, Text, Icon )
QSK_STATES( Selected, Minimum, Maximum ) QSK_STATES( Selected, Pressed, Minimum, Maximum )
QskSegmentedBar( QQuickItem* parent = nullptr ); QskSegmentedBar( QQuickItem* parent = nullptr );
QskSegmentedBar( Qt::Orientation, QQuickItem* parent = nullptr ); QskSegmentedBar( Qt::Orientation, QQuickItem* parent = nullptr );