mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-15 21:01:45 -05:00
56 lines
1003 B
C++
56 lines
1003 B
C++
#include <QPainter>
|
|
#include "gui/buttonswitch.h"
|
|
|
|
ButtonSwitch::ButtonSwitch(QWidget* parent) :
|
|
QToolButton(parent)
|
|
{
|
|
setCheckable(true);
|
|
m_originalPalette = palette();
|
|
connect(this, SIGNAL(toggled(bool)), this, SLOT(onToggled(bool)));
|
|
}
|
|
|
|
void ButtonSwitch::onToggled(bool checked)
|
|
{
|
|
blockSignals(true);
|
|
setChecked(checked);
|
|
blockSignals(false);
|
|
|
|
if (checked)
|
|
{
|
|
QPalette p = m_originalPalette;
|
|
p.setColor(QPalette::Button, QColor(0x80, 0x46, 0x00));
|
|
setPalette(p);
|
|
}
|
|
else
|
|
{
|
|
setPalette(m_originalPalette);
|
|
}
|
|
}
|
|
|
|
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);
|
|
}
|
|
|
|
}
|