@ -45,25 +45,27 @@ const FactMetaData::BuiltInTranslation_s FactMetaData::_rgBuiltInTranslations[]
@@ -45,25 +45,27 @@ const FactMetaData::BuiltInTranslation_s FactMetaData::_rgBuiltInTranslations[]
// Translations driven by app settings
const FactMetaData : : AppSettingsTranslation_s FactMetaData : : _rgAppSettingsTranslations [ ] = {
{ " m " , " m " , false , UnitsSettings : : DistanceUnitsMeters , FactMetaData : : _defaultTranslator , FactMetaData : : _defaultTranslator } ,
{ " meters " , " meters " , false , UnitsSettings : : DistanceUnitsMeters , FactMetaData : : _defaultTranslator , FactMetaData : : _defaultTranslator } ,
{ " cm/px " , " cm/px " , false , UnitsSettings : : DistanceUnitsMeters , FactMetaData : : _defaultTranslator , FactMetaData : : _defaultTranslator } ,
{ " m/s " , " m/s " , true , UnitsSettings : : SpeedUnitsMetersPerSecond , FactMetaData : : _defaultTranslator , FactMetaData : : _defaultTranslator } ,
{ " C " , " C " , false , UnitsSettings : : TemperatureUnitsCelsius , FactMetaData : : _defaultTranslator , FactMetaData : : _defaultTranslator } ,
{ " m^2 " , " m^2 " , false , UnitsSettings : : AreaUnitsSquareMeters , FactMetaData : : _defaultTranslator , FactMetaData : : _defaultTranslator } ,
{ " m " , " ft " , false , UnitsSettings : : DistanceUnitsFeet , FactMetaData : : _metersToFeet , FactMetaData : : _feetToMeters } ,
{ " meters " , " ft " , false , UnitsSettings : : DistanceUnitsFeet , FactMetaData : : _metersToFeet , FactMetaData : : _feetToMeters } ,
{ " cm/px " , " in/px " , false , UnitsSettings : : DistanceUnitsFeet , FactMetaData : : _centimetersToInches , FactMetaData : : _inchesToCentimeters } ,
{ " m^2 " , " km^2 " , false , UnitsSettings : : AreaUnitsSquareKilometers , FactMetaData : : _squareMetersToSquareKilometers , FactMetaData : : _squareKilometersToSquareMeters } ,
{ " m^2 " , " ha " , false , UnitsSettings : : AreaUnitsHectares , FactMetaData : : _squareMetersToHectares , FactMetaData : : _hectaresToSquareMeters } ,
{ " m^2 " , " ft^2 " , false , UnitsSettings : : AreaUnitsSquareFeet , FactMetaData : : _squareMetersToSquareFeet , FactMetaData : : _squareFeetToSquareMeters } ,
{ " m^2 " , " ac " , false , UnitsSettings : : AreaUnitsAcres , FactMetaData : : _squareMetersToAcres , FactMetaData : : _acresToSquareMeters } ,
{ " m^2 " , " mi^2 " , false , UnitsSettings : : AreaUnitsSquareMiles , FactMetaData : : _squareMetersToSquareMiles , FactMetaData : : _squareMilesToSquareMeters } ,
{ " m/s " , " ft/s " , true , UnitsSettings : : SpeedUnitsFeetPerSecond , FactMetaData : : _metersToFeet , FactMetaData : : _feetToMeters } ,
{ " m/s " , " mph " , true , UnitsSettings : : SpeedUnitsMilesPerHour , FactMetaData : : _metersPerSecondToMilesPerHour , FactMetaData : : _milesPerHourToMetersPerSecond } ,
{ " m/s " , " km/h " , true , UnitsSettings : : SpeedUnitsKilometersPerHour , FactMetaData : : _metersPerSecondToKilometersPerHour , FactMetaData : : _kilometersPerHourToMetersPerSecond } ,
{ " m/s " , " kn " , true , UnitsSettings : : SpeedUnitsKnots , FactMetaData : : _metersPerSecondToKnots , FactMetaData : : _knotsToMetersPerSecond } ,
{ " C " , " F " , false , UnitsSettings : : TemperatureUnitsFarenheit , FactMetaData : : _celsiusToFarenheit , FactMetaData : : _farenheitToCelsius } ,
{ " m " , " m " , FactMetaData : : UnitDistance , UnitsSettings : : DistanceUnitsMeters , FactMetaData : : _defaultTranslator , FactMetaData : : _defaultTranslator } ,
{ " meter " , " meter " , FactMetaData : : UnitDistance , UnitsSettings : : DistanceUnitsMeters , FactMetaData : : _defaultTranslator , FactMetaData : : _defaultTranslator } ,
{ " meters " , " meters " , FactMetaData : : UnitDistance , UnitsSettings : : DistanceUnitsMeters , FactMetaData : : _defaultTranslator , FactMetaData : : _defaultTranslator } ,
{ " cm/px " , " cm/px " , FactMetaData : : UnitDistance , UnitsSettings : : DistanceUnitsMeters , FactMetaData : : _defaultTranslator , FactMetaData : : _defaultTranslator } ,
{ " m/s " , " m/s " , FactMetaData : : UnitSpeed , UnitsSettings : : SpeedUnitsMetersPerSecond , FactMetaData : : _defaultTranslator , FactMetaData : : _defaultTranslator } ,
{ " C " , " C " , FactMetaData : : UnitTemperature , UnitsSettings : : TemperatureUnitsCelsius , FactMetaData : : _defaultTranslator , FactMetaData : : _defaultTranslator } ,
{ " m^2 " , " m^2 " , FactMetaData : : UnitArea , UnitsSettings : : AreaUnitsSquareMeters , FactMetaData : : _defaultTranslator , FactMetaData : : _defaultTranslator } ,
{ " m " , " ft " , FactMetaData : : UnitDistance , UnitsSettings : : DistanceUnitsFeet , FactMetaData : : _metersToFeet , FactMetaData : : _feetToMeters } ,
{ " meter " , " ft " , FactMetaData : : UnitDistance , UnitsSettings : : DistanceUnitsFeet , FactMetaData : : _metersToFeet , FactMetaData : : _feetToMeters } ,
{ " meters " , " ft " , FactMetaData : : UnitDistance , UnitsSettings : : DistanceUnitsFeet , FactMetaData : : _metersToFeet , FactMetaData : : _feetToMeters } ,
{ " cm/px " , " in/px " , FactMetaData : : UnitDistance , UnitsSettings : : DistanceUnitsFeet , FactMetaData : : _centimetersToInches , FactMetaData : : _inchesToCentimeters } ,
{ " m^2 " , " km^2 " , FactMetaData : : UnitArea , UnitsSettings : : AreaUnitsSquareKilometers , FactMetaData : : _squareMetersToSquareKilometers , FactMetaData : : _squareKilometersToSquareMeters } ,
{ " m^2 " , " ha " , FactMetaData : : UnitArea , UnitsSettings : : AreaUnitsHectares , FactMetaData : : _squareMetersToHectares , FactMetaData : : _hectaresToSquareMeters } ,
{ " m^2 " , " ft^2 " , FactMetaData : : UnitArea , UnitsSettings : : AreaUnitsSquareFeet , FactMetaData : : _squareMetersToSquareFeet , FactMetaData : : _squareFeetToSquareMeters } ,
{ " m^2 " , " ac " , FactMetaData : : UnitArea , UnitsSettings : : AreaUnitsAcres , FactMetaData : : _squareMetersToAcres , FactMetaData : : _acresToSquareMeters } ,
{ " m^2 " , " mi^2 " , FactMetaData : : UnitArea , UnitsSettings : : AreaUnitsSquareMiles , FactMetaData : : _squareMetersToSquareMiles , FactMetaData : : _squareMilesToSquareMeters } ,
{ " m/s " , " ft/s " , FactMetaData : : UnitSpeed , UnitsSettings : : SpeedUnitsFeetPerSecond , FactMetaData : : _metersToFeet , FactMetaData : : _feetToMeters } ,
{ " m/s " , " mph " , FactMetaData : : UnitSpeed , UnitsSettings : : SpeedUnitsMilesPerHour , FactMetaData : : _metersPerSecondToMilesPerHour , FactMetaData : : _milesPerHourToMetersPerSecond } ,
{ " m/s " , " km/h " , FactMetaData : : UnitSpeed , UnitsSettings : : SpeedUnitsKilometersPerHour , FactMetaData : : _metersPerSecondToKilometersPerHour , FactMetaData : : _kilometersPerHourToMetersPerSecond } ,
{ " m/s " , " kn " , FactMetaData : : UnitSpeed , UnitsSettings : : SpeedUnitsKnots , FactMetaData : : _metersPerSecondToKnots , FactMetaData : : _knotsToMetersPerSecond } ,
{ " C " , " F " , FactMetaData : : UnitTemperature , UnitsSettings : : TemperatureUnitsFarenheit , FactMetaData : : _celsiusToFarenheit , FactMetaData : : _farenheitToCelsius } ,
} ;
const char * FactMetaData : : _decimalPlacesJsonKey = " decimalPlaces " ;
@ -799,7 +801,6 @@ size_t FactMetaData::typeToSize(ValueType_t type)
@@ -799,7 +801,6 @@ size_t FactMetaData::typeToSize(ValueType_t type)
}
}
/// Set translators according to app settings
void FactMetaData : : _setAppSettingsTranslators ( void )
{
@ -807,12 +808,11 @@ void FactMetaData::_setAppSettingsTranslators(void)
@@ -807,12 +808,11 @@ void FactMetaData::_setAppSettingsTranslators(void)
if ( ! _enumStrings . count ( ) & & ( type ( ) = = valueTypeDouble | | type ( ) = = valueTypeFloat ) ) {
for ( size_t i = 0 ; i < sizeof ( _rgAppSettingsTranslations ) / sizeof ( _rgAppSettingsTranslations [ 0 ] ) ; i + + ) {
const AppSettingsTranslation_s * pAppSettingsTranslation = & _rgAppSettingsTranslations [ i ] ;
if ( ( pAppSettingsTranslation - > rawUnits = = _rawUnits & & // Temperature
( ! pAppSettingsTranslation - > speed & & pAppSettingsTranslation - > speedOrDistanceUnits = = qgcApp ( ) - > toolbox ( ) - > settingsManager ( ) - > unitsSettings ( ) - > temperatureUnits ( ) - > rawValue ( ) . toUInt ( ) ) ) | |
( pAppSettingsTranslation - > rawUnits = = _rawUnits . toLower ( ) & & // Speed and Distance
( ( pAppSettingsTranslation - > speed & & pAppSettingsTranslation - > speedOrDistanceUnits = = qgcApp ( ) - > toolbox ( ) - > settingsManager ( ) - > unitsSettings ( ) - > speedUnits ( ) - > rawValue ( ) . toUInt ( ) ) | |
( ! pAppSettingsTranslation - > speed & & pAppSettingsTranslation - > speedOrDistanceUnits = = qgcApp ( ) - > toolbox ( ) - > settingsManager ( ) - > unitsSettings ( ) - > distanceUnits ( ) - > rawValue ( ) . toUInt ( ) ) ) ) ) {
if ( pAppSettingsTranslation - > rawUnits = = _rawUnits . toLower ( ) & & (
( pAppSettingsTranslation - > unitType = = UnitTemperature & & pAppSettingsTranslation - > unitOption = = qgcApp ( ) - > toolbox ( ) - > settingsManager ( ) - > unitsSettings ( ) - > temperatureUnits ( ) - > rawValue ( ) . toUInt ( ) ) | |
( pAppSettingsTranslation - > unitType = = UnitSpeed & & pAppSettingsTranslation - > unitOption = = qgcApp ( ) - > toolbox ( ) - > settingsManager ( ) - > unitsSettings ( ) - > speedUnits ( ) - > rawValue ( ) . toUInt ( ) ) | |
( pAppSettingsTranslation - > unitType = = UnitDistance & & pAppSettingsTranslation - > unitOption = = qgcApp ( ) - > toolbox ( ) - > settingsManager ( ) - > unitsSettings ( ) - > distanceUnits ( ) - > rawValue ( ) . toUInt ( ) ) ) )
{
_cookedUnits = pAppSettingsTranslation - > cookedUnits ;
setTranslators ( pAppSettingsTranslation - > rawTranslator , pAppSettingsTranslation - > cookedTranslator ) ;
return ;
@ -825,13 +825,11 @@ const FactMetaData::AppSettingsTranslation_s* FactMetaData::_findAppSettingsDist
@@ -825,13 +825,11 @@ const FactMetaData::AppSettingsTranslation_s* FactMetaData::_findAppSettingsDist
{
for ( size_t i = 0 ; i < sizeof ( _rgAppSettingsTranslations ) / sizeof ( _rgAppSettingsTranslations [ 0 ] ) ; i + + ) {
const AppSettingsTranslation_s * pAppSettingsTranslation = & _rgAppSettingsTranslations [ i ] ;
if ( pAppSettingsTranslation - > rawUnits = = rawUnits & &
( ! pAppSettingsTranslation - > speed & & pAppSettingsTranslation - > speedOrDistanceUnits = = qgcApp ( ) - > toolbox ( ) - > settingsManager ( ) - > unitsSettings ( ) - > distanceUnits ( ) - > rawValue ( ) . toUInt ( ) ) ) {
if ( pAppSettingsTranslation - > rawUnits = = rawUnits . toLower ( ) & &
( pAppSettingsTranslation - > unitType = = UnitDistance & & pAppSettingsTranslation - > unitOption = = qgcApp ( ) - > toolbox ( ) - > settingsManager ( ) - > unitsSettings ( ) - > distanceUnits ( ) - > rawValue ( ) . toUInt ( ) ) ) {
return pAppSettingsTranslation ;
}
}
return NULL ;
}
@ -839,10 +837,8 @@ const FactMetaData::AppSettingsTranslation_s* FactMetaData::_findAppSettingsArea
@@ -839,10 +837,8 @@ const FactMetaData::AppSettingsTranslation_s* FactMetaData::_findAppSettingsArea
{
for ( size_t i = 0 ; i < sizeof ( _rgAppSettingsTranslations ) / sizeof ( _rgAppSettingsTranslations [ 0 ] ) ; i + + ) {
const AppSettingsTranslation_s * pAppSettingsTranslation = & _rgAppSettingsTranslations [ i ] ;
if ( pAppSettingsTranslation - > rawUnits = = rawUnits & &
( ! pAppSettingsTranslation - > speed & & pAppSettingsTranslation - > speedOrDistanceUnits = = qgcApp ( ) - > toolbox ( ) - > settingsManager ( ) - > unitsSettings ( ) - > areaUnits ( ) - > rawValue ( ) . toUInt ( ) )
) {
if ( pAppSettingsTranslation - > rawUnits = = rawUnits . toLower ( ) & &
( pAppSettingsTranslation - > unitType = = UnitArea & & pAppSettingsTranslation - > unitOption = = qgcApp ( ) - > toolbox ( ) - > settingsManager ( ) - > unitsSettings ( ) - > areaUnits ( ) - > rawValue ( ) . toUInt ( ) ) ) {
return pAppSettingsTranslation ;
}
}