From b747966c8e893d95d75978849a514904ea29ea15 Mon Sep 17 00:00:00 2001 From: f4exb Date: Sun, 2 Aug 2020 00:59:42 +0200 Subject: [PATCH] Button switch: added methods to set color and reset to default button colors --- sdrgui/gui/buttonswitch.cpp | 22 ++++++++++++++++++++++ sdrgui/gui/buttonswitch.h | 2 ++ 2 files changed, 24 insertions(+) diff --git a/sdrgui/gui/buttonswitch.cpp b/sdrgui/gui/buttonswitch.cpp index d25db74da..dfbcaa16e 100644 --- a/sdrgui/gui/buttonswitch.cpp +++ b/sdrgui/gui/buttonswitch.cpp @@ -31,3 +31,25 @@ void ButtonSwitch::doToggle(bool checked) { onToggled(checked); } + +void ButtonSwitch::setColor(QColor color) +{ + QPalette p = m_originalPalette; + p.setColor(QPalette::Button, color); + setPalette(p); +} + +void ButtonSwitch::resetColor() +{ + if (isChecked()) + { + QPalette p = m_originalPalette; + p.setColor(QPalette::Button, QColor(0x80, 0x46, 0x00)); + setPalette(p); + } + else + { + setPalette(m_originalPalette); + } + +} diff --git a/sdrgui/gui/buttonswitch.h b/sdrgui/gui/buttonswitch.h index ef108438a..14ca748af 100644 --- a/sdrgui/gui/buttonswitch.h +++ b/sdrgui/gui/buttonswitch.h @@ -11,6 +11,8 @@ class SDRGUI_API ButtonSwitch : public QToolButton { public: ButtonSwitch(QWidget* parent = NULL); void doToggle(bool checked); + void setColor(QColor color); + void resetColor(); private slots: void onToggled(bool checked);