diff --git a/src/common/QskAspect.h b/src/common/QskAspect.h index 61dcb3d7..f98569eb 100644 --- a/src/common/QskAspect.h +++ b/src/common/QskAspect.h @@ -588,6 +588,11 @@ QSK_EXPORT void qskDebugAspect( QDebug, const QMetaObject*, QskAspect ); QskAspect::registerState( &type::staticMetaObject, value, #type "::" #name ); #define QSK_SYSTEM_STATE( type, name, value ) \ + static_assert( \ + ( value >= QskAspect::FirstSystemState && value < QskAspect::FirstUserState ) || \ + ( value > QskAspect::LastUserState && value <= QskAspect::LastSystemState ), \ + "Invalid system state" \ + ); \ const QskAspect::State type::name = \ QskAspect::registerState( &type::staticMetaObject, value, #type "::" #name ); diff --git a/src/controls/QskAbstractButton.cpp b/src/controls/QskAbstractButton.cpp index abda742e..70b8062c 100644 --- a/src/controls/QskAbstractButton.cpp +++ b/src/controls/QskAbstractButton.cpp @@ -10,24 +10,25 @@ #include +// Flat/Checkable are no states - we need to get rid of them. TODO ... QSK_SYSTEM_STATE( QskAbstractButton, Flat, QskAspect::FirstSystemState << 1 ) #if 1 // Wrong: we are overlapping with the user states, TODO ... -QSK_SYSTEM_STATE( QskAbstractButton, Checked, QskAspect::LastSystemState >> 4 ) +QSK_STATE( QskAbstractButton, Checked, QskAspect::LastUserState ) #endif QSK_SYSTEM_STATE( QskAbstractButton, Pressed, QskAspect::LastSystemState >> 3 ) QSK_SYSTEM_STATE( QskAbstractButton, Checkable, QskAspect::LastSystemState >> 2 ) static QskAbstractButton* qskCheckedSibling( const QskAbstractButton* button ) { - QQuickItem* parentItem = button->parentItem(); + const auto parentItem = button->parentItem(); if ( parentItem == nullptr ) return nullptr; const auto siblings = parentItem->childItems(); - for ( QQuickItem* sibling : siblings ) + for ( auto sibling : siblings ) { - if ( QskAbstractButton* btn = qobject_cast< QskAbstractButton* >( sibling ) ) + if ( auto btn = qobject_cast< QskAbstractButton* >( sibling ) ) { if ( btn != button && btn->exclusive() && btn->isChecked() ) return btn; diff --git a/src/controls/QskSlider.cpp b/src/controls/QskSlider.cpp index b23c5217..c5085448 100644 --- a/src/controls/QskSlider.cpp +++ b/src/controls/QskSlider.cpp @@ -16,8 +16,8 @@ QSK_SUBCONTROL( QskSlider, Scale ) QSK_SUBCONTROL( QskSlider, Handle ) QSK_SYSTEM_STATE( QskSlider, Pressed, QskAspect::FirstSystemState << 2 ) -QSK_SYSTEM_STATE( QskSlider, Minimum, QskAspect::FirstSystemState << 3 ) -QSK_SYSTEM_STATE( QskSlider, Maximum, QskAspect::FirstSystemState << 4 ) +QSK_SYSTEM_STATE( QskSlider, Minimum, QskAspect::LastUserState << 1 ) +QSK_SYSTEM_STATE( QskSlider, Maximum, QskAspect::LastUserState << 2 ) class QskSlider::PrivateData {