diff --git a/skins/material3/QskMaterial3Skin.cpp b/skins/material3/QskMaterial3Skin.cpp index a1a404de..1fcb1d27 100644 --- a/skins/material3/QskMaterial3Skin.cpp +++ b/skins/material3/QskMaterial3Skin.cpp @@ -566,6 +566,7 @@ void Editor::setupSegmentedBar() setGradient( Q::Cursor, m_pal.secondaryContainer ); 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 ); setBoxBorderColors( Q::Cursor, Qt::transparent ); diff --git a/src/controls/QskSegmentedBar.cpp b/src/controls/QskSegmentedBar.cpp index 78ab401f..c3b88654 100644 --- a/src/controls/QskSegmentedBar.cpp +++ b/src/controls/QskSegmentedBar.cpp @@ -24,7 +24,8 @@ QSK_SUBCONTROL( QskSegmentedBar, Cursor ) QSK_SUBCONTROL( QskSegmentedBar, Text ) 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, Maximum, QskAspect::FirstSystemState << 3 ) @@ -172,7 +173,7 @@ void QskSegmentedBar::mousePressEvent( QMouseEvent* event ) 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 ); } } diff --git a/src/controls/QskSegmentedBar.h b/src/controls/QskSegmentedBar.h index c48e6b66..93ba1486 100644 --- a/src/controls/QskSegmentedBar.h +++ b/src/controls/QskSegmentedBar.h @@ -37,7 +37,7 @@ class QSK_EXPORT QskSegmentedBar : public QskControl public: 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( Qt::Orientation, QQuickItem* parent = nullptr );