diff --git a/src/Airmap/AirMapFlightPlanManager.cc b/src/Airmap/AirMapFlightPlanManager.cc index 3ead7ef493d33555caef093813295e04510af302..4a304c70ae004d5d773e9327f96784db695cb8ee 100644 --- a/src/Airmap/AirMapFlightPlanManager.cc +++ b/src/Airmap/AirMapFlightPlanManager.cc @@ -431,7 +431,10 @@ AirMapFlightPlanManager::_updateRulesAndFeatures(std::vector& rules if(feature && feature->value().isValid()) { switch(feature->type()) { case AirspaceRuleFeature::Boolean: - features[feature->name().toStdString()] = RuleSet::Feature::Value(feature->value().toBool()); + //-- Skip not set responses (feature->value is initialized to "2") + if(feature->value().toInt() == 0 || feature->value().toInt() == 1) { + features[feature->name().toStdString()] = RuleSet::Feature::Value(feature->value().toBool()); + } break; case AirspaceRuleFeature::Float: //-- Sanity check for floats diff --git a/src/Airmap/AirMapRulesetsManager.cc b/src/Airmap/AirMapRulesetsManager.cc index 9cc8cdfdc35ed97d7a0d773d3d1d6130bc53a3c1..f0f04e5617377379121eb95f8578c899298ccfc3 100644 --- a/src/Airmap/AirMapRulesetsManager.cc +++ b/src/Airmap/AirMapRulesetsManager.cc @@ -31,12 +31,10 @@ AirMapRuleFeature::AirMapRuleFeature(airmap::RuleSet::Feature feature, QObject* settings.beginGroup(kAirMapFeatureGroup); switch(_feature.type) { case RuleSet::Feature::Type::boolean: - _value = settings.value(name(), false); + _value = settings.value(name(), 2); break;; case RuleSet::Feature::Type::floating_point: - //_value = settings.value(name(), 0.0f); - //-- Default to 1 for now - _value = settings.value(name(), 1.0f); + _value = settings.value(name(), NAN); break;; case RuleSet::Feature::Type::string: _value = settings.value(name(), QString()); diff --git a/src/Airmap/FlightFeature.qml b/src/Airmap/FlightFeature.qml index 08efc5b657b13d40918f7494758a4ec0e9e68fbe..054b783c289508cabaa461de346976ea86d6c135 100644 --- a/src/Airmap/FlightFeature.qml +++ b/src/Airmap/FlightFeature.qml @@ -56,7 +56,7 @@ Rectangle { QGCCheckBox { id: checkBox text: "" - checked: feature.value ? feature.value : false + checked: feature.value && feature.value < 2 ? feature.value : false onClicked: feature.value = checked anchors.left: parent.left anchors.verticalCenter: parent.verticalCenter