QskDialogButton::resetButton

This commit is contained in:
Uwe Rathmann 2022-03-08 16:15:37 +01:00
parent cdb17476b5
commit ff3c3321da
2 changed files with 12 additions and 12 deletions

View File

@ -11,21 +11,12 @@ QSK_SUBCONTROL( QskDialogButton, Panel )
QSK_SUBCONTROL( QskDialogButton, Text ) QSK_SUBCONTROL( QskDialogButton, Text )
QSK_SUBCONTROL( QskDialogButton, Graphic ) QSK_SUBCONTROL( QskDialogButton, Graphic )
static QString qskButtonText(
const QskDialogButton* button, QskDialog::Action action )
{
if ( const auto skin = button->effectiveSkin() )
return skin->dialogButtonText( action );
return QString();
}
QskDialogButton::QskDialogButton( QskDialogButton::QskDialogButton(
QskDialog::Action action, QQuickItem* parent ) QskDialog::Action action, QQuickItem* parent )
: QskPushButton( parent ) : QskPushButton( parent )
, m_action( action ) , m_action( action )
{ {
setText( qskButtonText( this, m_action ) ); resetButton();
} }
QskDialogButton::QskDialogButton( QQuickItem* parent ) QskDialogButton::QskDialogButton( QQuickItem* parent )
@ -57,7 +48,7 @@ void QskDialogButton::setAction( QskDialog::Action action )
if ( action != m_action ) if ( action != m_action )
{ {
m_action = action; m_action = action;
setText( qskButtonText( this, action ) ); resetButton();
Q_EMIT actionChanged(); Q_EMIT actionChanged();
} }
@ -74,10 +65,17 @@ void QskDialogButton::changeEvent( QEvent* event )
{ {
case QEvent::LocaleChange: case QEvent::LocaleChange:
case QEvent::StyleChange: case QEvent::StyleChange:
setText( qskButtonText( this, m_action ) ); resetButton();
break;
} }
Inherited::changeEvent( event ); Inherited::changeEvent( event );
} }
void QskDialogButton::resetButton()
{
if ( const auto skin = effectiveSkin() )
setText( skin->dialogButtonText( m_action ) );
}
#include "moc_QskDialogButton.cpp" #include "moc_QskDialogButton.cpp"

View File

@ -39,6 +39,8 @@ class QSK_EXPORT QskDialogButton : public QskPushButton
QskAspect::Subcontrol ) const override; QskAspect::Subcontrol ) const override;
private: private:
void resetButton();
QskDialog::Action m_action; QskDialog::Action m_action;
}; };