diff options
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/common/configradiobutton.cpp')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/common/configradiobutton.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/common/configradiobutton.cpp b/SQLiteStudio3/guiSQLiteStudio/common/configradiobutton.cpp new file mode 100644 index 0000000..62ed4f8 --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/common/configradiobutton.cpp @@ -0,0 +1,36 @@ +#include "configradiobutton.h" + +ConfigRadioButton::ConfigRadioButton(QWidget* parent) : + QRadioButton(parent) +{ + connect(this, SIGNAL(toggled(bool)), this, SLOT(handleToggled(bool))); +} + +QVariant ConfigRadioButton::getAssignedValue() const +{ + return assignedValue; +} + +void ConfigRadioButton::setAssignedValue(const QVariant& value) +{ + assignedValue = value; +} + +void ConfigRadioButton::handleToggled(bool checked) +{ + if (handlingSlot) + return; + + if (checked) + emit toggledOn(assignedValue); + else + emit toggledOff(assignedValue); +} + +void ConfigRadioButton::alignToValue(const QVariant& value) +{ + handlingSlot = true; + setChecked(value == assignedValue); + handlingSlot = false; +} + |
