diff --git a/src/FactSystem/FactMetaData.cc b/src/FactSystem/FactMetaData.cc index 3b7ff41a4833b6de80458438858260f60fd3a383..b38b82b674b1fc1313ca912130c5b263571e9e15 100644 --- a/src/FactSystem/FactMetaData.cc +++ b/src/FactSystem/FactMetaData.cc @@ -1080,6 +1080,26 @@ const FactMetaData::AppSettingsTranslation_s* FactMetaData::_findAppSettingsArea return nullptr; } +const FactMetaData::AppSettingsTranslation_s* FactMetaData::_findAppSettingsSpeedUnitsTranslation(const QString& rawUnits) +{ + for (size_t i=0; irawUnits.toLower()) { + continue; + } + + uint settingsUnits = qgcApp()->toolbox()->settingsManager()->unitsSettings()->speedUnits()->rawValue().toUInt(); + + if (pAppSettingsTranslation->unitType == UnitSpeed + && pAppSettingsTranslation->unitOption == settingsUnits) { + return pAppSettingsTranslation; + } + } + + return nullptr; +} + QVariant FactMetaData::metersToAppSettingsHorizontalDistanceUnits(const QVariant& meters) { const AppSettingsTranslation_s* pAppSettingsTranslation = _findAppSettingsHorizontalDistanceUnitsTranslation("m"); @@ -1200,7 +1220,7 @@ QVariant FactMetaData::appSettingsWeightUnitsToGrams(const QVariant& weight) { QString FactMetaData::appSettingsSpeedUnitsString() { - const AppSettingsTranslation_s* pAppSettingsTranslation = _findAppSettingsHorizontalDistanceUnitsTranslation("m/s"); + const AppSettingsTranslation_s* pAppSettingsTranslation = _findAppSettingsSpeedUnitsTranslation("m/s"); if (pAppSettingsTranslation) { return pAppSettingsTranslation->cookedUnits; } else { diff --git a/src/FactSystem/FactMetaData.h b/src/FactSystem/FactMetaData.h index 5c833f7192d39add92e80b9f11773dc97eb4e2aa..0443814248d7a4712c442c76d1dcd0f87563ba6f 100644 --- a/src/FactSystem/FactMetaData.h +++ b/src/FactSystem/FactMetaData.h @@ -289,6 +289,7 @@ private: static const AppSettingsTranslation_s* _findAppSettingsVerticalDistanceUnitsTranslation(const QString& rawUnits); static const AppSettingsTranslation_s* _findAppSettingsAreaUnitsTranslation(const QString& rawUnits); static const AppSettingsTranslation_s* _findAppSettingsWeightUnitsTranslation(const QString& rawUnits); + static const AppSettingsTranslation_s* _findAppSettingsSpeedUnitsTranslation(const QString& rawUnits); static void _loadJsonDefines(const QJsonObject& jsonDefinesObject, QMap& defineMap);