@@ -248,8 +248,7 @@ int parseBool(const char *str, int defaultValue)
248248 return defaultValue;
249249}
250250
251- // TODO: make this more bool-ish
252- void setBool (QString name, QString value)
251+ void setBool (QString name, int value)
253252{
254253 std::shared_ptr<Setting> setting = retrieve (name);
255254 if (setting == nullptr ) {
@@ -259,11 +258,16 @@ void setBool(QString name, QString value)
259258 if (setting->valueType () != LAB_VALUE_TYPE_BOOL) {
260259 qDebug () << " setBool(): not valid bool setting" << name << value;
261260 }
262- int boolValue = parseBool (value.toStdString ().c_str (), -1 );
263- if (boolValue != std::get<int >(setting->value ())) {
264- info (" '{} has changed to '{}'" , name.toStdString (), value.toStdString ());
261+ if (value != std::get<int >(setting->value ())) {
262+ info (" '{} has changed to '{}'" , name.toStdString (), value);
265263 xpath_add_node (name.toStdString ().c_str ());
266- xml_set (name.toStdString ().c_str (), value. toStdString (). c_str () );
264+ xml_set (name.toStdString ().c_str (), value ? " yes " : " no " );
267265 setting->setValue (value);
268266 }
269267}
268+
269+ void setBoolfromString (QString name, QString value)
270+ {
271+ int boolValue = parseBool (value.toStdString ().c_str (), -1 );
272+ setBool (name, boolValue);
273+ }
0 commit comments