diff --git a/src/duckstation-qt/togglebutton.cpp b/src/duckstation-qt/togglebutton.cpp index 2bbe0f861..5f79285cf 100644 --- a/src/duckstation-qt/togglebutton.cpp +++ b/src/duckstation-qt/togglebutton.cpp @@ -22,6 +22,11 @@ ToggleButton::ToggleButton(QWidget* parent) : QAbstractButton(parent), m_offset_ ToggleButton::~ToggleButton() = default; +Qt::CheckState ToggleButton::checkState() const +{ + return isChecked() ? Qt::Checked : Qt::Unchecked; +} + QSize ToggleButton::sizeHint() const { return QSize(50, 25); @@ -117,6 +122,7 @@ void ToggleButton::leaveEvent(QEvent* event) void ToggleButton::checkStateSet() { QAbstractButton::checkStateSet(); + emit checkStateChanged(checkState()); animateToggle(isChecked()); } @@ -131,6 +137,7 @@ void ToggleButton::animateToggle(bool checked) void ToggleButton::nextCheckState() { QAbstractButton::nextCheckState(); + emit checkStateChanged(checkState()); animateToggle(isChecked()); update(); } diff --git a/src/duckstation-qt/togglebutton.h b/src/duckstation-qt/togglebutton.h index 4de840d7f..579ff6ad1 100644 --- a/src/duckstation-qt/togglebutton.h +++ b/src/duckstation-qt/togglebutton.h @@ -15,6 +15,8 @@ public: explicit ToggleButton(QWidget* parent = nullptr); ~ToggleButton() override; + Qt::CheckState checkState() const; + QSize sizeHint() const override; Q_SIGNALS: