diff --git a/src/controls/QskRadioBox.cpp b/src/controls/QskRadioBox.cpp index 2e142198..f120a245 100644 --- a/src/controls/QskRadioBox.cpp +++ b/src/controls/QskRadioBox.cpp @@ -37,7 +37,7 @@ QskRadioBox::QskRadioBox( QQuickItem* parent ) setFocusPolicy( Qt::StrongFocus ); setAcceptedMouseButtons( Qt::LeftButton ); - setFocusedIndex( -1 ); + setPositionHint( Ripple, -1 ); } QskRadioBox::QskRadioBox( const QStringList& options, QQuickItem* parent ) @@ -129,7 +129,7 @@ void QskRadioBox::setOptions( const QStringList& options ) setSelectedIndex( m_data->selectedIndex ); if( m_data->focusedIndex > options.size() ) - setFocusedIndex( 0 ); + setFocusedIndex( options.size() - 1 ); } void QskRadioBox::keyPressEvent( QKeyEvent* event ) @@ -263,6 +263,8 @@ void QskRadioBox::setFocusedIndex( int index ) m_data->focusedIndex = index; setPositionHint( Ripple, index ); + update(); + Q_EMIT focusIndicatorRectChanged(); } diff --git a/src/controls/QskRadioBoxSkinlet.cpp b/src/controls/QskRadioBoxSkinlet.cpp index 5633753e..2aa01747 100644 --- a/src/controls/QskRadioBoxSkinlet.cpp +++ b/src/controls/QskRadioBoxSkinlet.cpp @@ -100,7 +100,7 @@ QRectF QskRadioBoxSkinlet::rippleRect( { using Q = QskRadioBox; - auto index = radioBox->positionHint( Q::Ripple ); + const auto index = radioBox->positionHint( Q::Ripple ); if( index < 0 ) return QRectF();