Qt: Fix toggle button not updating

pull/3576/head
Stenzek 2 months ago
parent a90184a658
commit fb318ca4b0
No known key found for this signature in database

@ -22,6 +22,11 @@ ToggleButton::ToggleButton(QWidget* parent) : QAbstractButton(parent), m_offset_
ToggleButton::~ToggleButton() = default; ToggleButton::~ToggleButton() = default;
Qt::CheckState ToggleButton::checkState() const
{
return isChecked() ? Qt::Checked : Qt::Unchecked;
}
QSize ToggleButton::sizeHint() const QSize ToggleButton::sizeHint() const
{ {
return QSize(50, 25); return QSize(50, 25);
@ -117,6 +122,7 @@ void ToggleButton::leaveEvent(QEvent* event)
void ToggleButton::checkStateSet() void ToggleButton::checkStateSet()
{ {
QAbstractButton::checkStateSet(); QAbstractButton::checkStateSet();
emit checkStateChanged(checkState());
animateToggle(isChecked()); animateToggle(isChecked());
} }
@ -131,6 +137,7 @@ void ToggleButton::animateToggle(bool checked)
void ToggleButton::nextCheckState() void ToggleButton::nextCheckState()
{ {
QAbstractButton::nextCheckState(); QAbstractButton::nextCheckState();
emit checkStateChanged(checkState());
animateToggle(isChecked()); animateToggle(isChecked());
update(); update();
} }

@ -15,6 +15,8 @@ public:
explicit ToggleButton(QWidget* parent = nullptr); explicit ToggleButton(QWidget* parent = nullptr);
~ToggleButton() override; ~ToggleButton() override;
Qt::CheckState checkState() const;
QSize sizeHint() const override; QSize sizeHint() const override;
Q_SIGNALS: Q_SIGNALS:

Loading…
Cancel
Save