setCheckedState hook introduced

This commit is contained in:
Uwe Rathmann 2018-07-26 12:24:27 +02:00
parent 75608b1d45
commit 8d29b4b119
2 changed files with 19 additions and 12 deletions

View File

@ -84,13 +84,18 @@ void QskAbstractButton::releaseButton()
// maybe there is more work to have the signals coming // maybe there is more work to have the signals coming
// in a logical order. TODO ... // in a logical order. TODO ...
setChecked( !( skinState() & Checked ) ); setCheckedState( !( skinState() & Checked ) );
} }
setPressed( false ); setPressed( false );
Q_EMIT clicked(); Q_EMIT clicked();
} }
void QskAbstractButton::setCheckedState( bool on )
{
setChecked( on );
}
void QskAbstractButton::toggle() void QskAbstractButton::toggle()
{ {
setChecked( !( skinState() & Checked ) ); setChecked( !( skinState() & Checked ) );
@ -107,7 +112,7 @@ void QskAbstractButton::setPressed( bool on )
return; return;
setSkinStateFlag( Pressed, on ); setSkinStateFlag( Pressed, on );
Q_EMIT pressedChanged(); Q_EMIT pressedChanged( on );
if ( on ) if ( on )
Q_EMIT pressed(); Q_EMIT pressed();
@ -133,7 +138,7 @@ void QskAbstractButton::setCheckable( bool on )
return; return;
setSkinStateFlag( Checkable, on ); setSkinStateFlag( Checkable, on );
Q_EMIT checkableChanged(); Q_EMIT checkableChanged( on );
} }
bool QskAbstractButton::isCheckable() const bool QskAbstractButton::isCheckable() const
@ -162,12 +167,12 @@ void QskAbstractButton::setChecked( bool on )
} }
setSkinStateFlag( Checked, on ); setSkinStateFlag( Checked, on );
Q_EMIT checkedChanged(); Q_EMIT checkedChanged( on );
Q_EMIT toggled( on ); Q_EMIT toggled( on );
if ( checkedButton ) if ( checkedButton )
{ {
Q_EMIT checkedButton->checkedChanged(); Q_EMIT checkedButton->checkedChanged( false );
Q_EMIT checkedButton->toggled( false ); Q_EMIT checkedButton->toggled( false );
} }
} }
@ -188,7 +193,7 @@ void QskAbstractButton::setAutoRepeat( bool on )
else else
m_data->repeatTimer.stop(); m_data->repeatTimer.stop();
Q_EMIT autoRepeatChanged(); Q_EMIT autoRepeatChanged( on );
} }
} }
@ -230,7 +235,7 @@ void QskAbstractButton::setExclusive( bool on )
if ( on != m_data->exclusive ) if ( on != m_data->exclusive )
{ {
m_data->exclusive = on; m_data->exclusive = on;
Q_EMIT exclusiveChanged(); Q_EMIT exclusiveChanged( on );
} }
} }

View File

@ -67,15 +67,15 @@ Q_SIGNALS:
void clicked(); void clicked();
void toggled( bool ); void toggled( bool );
void pressedChanged(); void pressedChanged( bool );
void checkedChanged(); void checkedChanged( bool );
void checkableChanged(); void checkableChanged( bool );
void autoRepeatChanged(); void autoRepeatChanged( bool );
void autoRepeatDelayChanged(); void autoRepeatDelayChanged();
void autoRepeatIntervalChanged(); void autoRepeatIntervalChanged();
void exclusiveChanged(); void exclusiveChanged( bool );
protected: protected:
virtual bool event( QEvent* ) override; virtual bool event( QEvent* ) override;
@ -93,6 +93,8 @@ protected:
virtual void timerEvent( QTimerEvent* ) override; virtual void timerEvent( QTimerEvent* ) override;
virtual void setCheckedState( bool on );
private: private:
void releaseButton(); void releaseButton();