aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/configmapper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/configmapper.cpp')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/configmapper.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/configmapper.cpp b/SQLiteStudio3/guiSQLiteStudio/configmapper.cpp
index 255b5cd..da1ff44 100644
--- a/SQLiteStudio3/guiSQLiteStudio/configmapper.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/configmapper.cpp
@@ -72,6 +72,16 @@
if (qobject_cast<WidgetType*>(Widget) && qobject_cast<WidgetType*>(Widget)->ExtraConditionMethod())\
return qobject_cast<WidgetType*>(Widget)->Method();
+#define GET_CFG_VALUE_COND_OK(Widget, Key, WidgetType, Method, ExtraConditionMethod, Ok, DefaultValue) \
+ if (qobject_cast<WidgetType*>(Widget))\
+ {\
+ if (qobject_cast<WidgetType*>(Widget)->ExtraConditionMethod())\
+ return qobject_cast<WidgetType*>(Widget)->Method();\
+ \
+ Ok = false;\
+ return DefaultValue;\
+ }
+
ConfigMapper::ConfigMapper(CfgMain* cfgMain)
{
this->cfgMainList << cfgMain;
@@ -168,7 +178,7 @@ QVariant ConfigMapper::getCommonConfigValueFromWidget(QWidget* widget, CfgEntry*
GET_CFG_VALUE(widget, key, FileEdit, getFile);
GET_CFG_VALUE(widget, key, QKeySequenceEdit, keySequence().toString);
GET_CFG_VALUE(widget, key, ColorButton, getColor);
- GET_CFG_VALUE_COND(widget, key, ConfigRadioButton, getAssignedValue, isChecked);
+ GET_CFG_VALUE_COND_OK(widget, key, ConfigRadioButton, getAssignedValue, isChecked, ok, QVariant());
GET_CFG_VALUE_COND(widget, key, QGroupBox, isChecked, isCheckable);
if (key->get().type() == QVariant::Int)
{