From ed26bd3ab41cc81a9234c8e184e879a520102006 Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Thu, 16 Jun 2022 09:53:12 +0200 Subject: [PATCH] segmented bar: Add states for when cursor is at beginning and end ... so we can style the cursor accordingly --- src/controls/QskSegmentedBar.cpp | 7 ++++++- src/controls/QskSegmentedBar.h | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/controls/QskSegmentedBar.cpp b/src/controls/QskSegmentedBar.cpp index b9b1c94a..6f5dd5e1 100644 --- a/src/controls/QskSegmentedBar.cpp +++ b/src/controls/QskSegmentedBar.cpp @@ -22,7 +22,9 @@ QSK_SUBCONTROL( QskSegmentedBar, Cursor ) QSK_SUBCONTROL( QskSegmentedBar, Text ) QSK_SUBCONTROL( QskSegmentedBar, Graphic ) -QSK_SYSTEM_STATE( QskSegmentedBar, Selected, QskAspect::FirstSystemState << 2 ) +QSK_SYSTEM_STATE( QskSegmentedBar, Selected, QskAspect::FirstSystemState << 1 ) +QSK_SYSTEM_STATE( QskSegmentedBar, Minimum, QskAspect::FirstSystemState << 2 ) +QSK_SYSTEM_STATE( QskSegmentedBar, Maximum, QskAspect::FirstSystemState << 3 ) namespace { @@ -381,6 +383,9 @@ void QskSegmentedBar::setSelectedIndex( int index ) update(); Q_EMIT selectedIndexChanged( index ); + + setSkinStateFlag( Minimum, ( m_data->selectedIndex == 0 ) ); + setSkinStateFlag( Maximum, ( m_data->selectedIndex == count() - 1 ) ); } } diff --git a/src/controls/QskSegmentedBar.h b/src/controls/QskSegmentedBar.h index e01b4669..3777432d 100644 --- a/src/controls/QskSegmentedBar.h +++ b/src/controls/QskSegmentedBar.h @@ -33,7 +33,7 @@ class QSK_EXPORT QskSegmentedBar : public QskControl public: QSK_SUBCONTROLS( Panel, Segment, Cursor, Text, Graphic ) - QSK_STATES( Selected ) + QSK_STATES( Selected, Minimum, Maximum ) QskSegmentedBar( QQuickItem* parent = nullptr ); QskSegmentedBar( Qt::Orientation, QQuickItem* parent = nullptr );