aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/common/configradiobutton.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/common/configradiobutton.cpp')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/common/configradiobutton.cpp36
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;
+}
+