Browse Source

Merge pull request #3954 from DonLakeFlyer/Translators

Use app settings translators on params
QGC4.4
Don Gagne 9 years ago committed by GitHub
parent
commit
c57ee79264
  1. 3
      src/FactSystem/FactGroup.cc
  2. 9
      src/FactSystem/FactMetaData.cc
  3. 4
      src/FactSystem/FactMetaData.h
  4. 2
      src/MissionManager/SimpleMissionItem.cc

3
src/FactSystem/FactGroup.cc

@ -234,9 +234,6 @@ void FactGroup::_loadMetaData(const QString& jsonFilename) @@ -234,9 +234,6 @@ void FactGroup::_loadMetaData(const QString& jsonFilename)
}
}
// All FactGroup Facts use translator based on app settings
metaData->setAppSettingsTranslators();
_nameToFactMetaDataMap[name] = metaData;
}
}

9
src/FactSystem/FactMetaData.cc

@ -383,6 +383,7 @@ void FactMetaData::setBuiltInTranslator(void) @@ -383,6 +383,7 @@ void FactMetaData::setBuiltInTranslator(void)
// No translation if enum
setTranslators(_defaultTranslator, _defaultTranslator);
_cookedUnits = _rawUnits;
return;
} else {
for (size_t i=0; i<sizeof(_rgBuiltInTranslations)/sizeof(_rgBuiltInTranslations[0]); i++) {
const BuiltInTranslation_s* pBuiltInTranslation = &_rgBuiltInTranslations[i];
@ -390,9 +391,13 @@ void FactMetaData::setBuiltInTranslator(void) @@ -390,9 +391,13 @@ void FactMetaData::setBuiltInTranslator(void)
if (pBuiltInTranslation->rawUnits == _rawUnits.toLower()) {
_cookedUnits = pBuiltInTranslation->cookedUnits;
setTranslators(pBuiltInTranslation->rawTranslator, pBuiltInTranslation->cookedTranslator);
return;
}
}
}
// Translator not yet set, try app settings translators
_setAppSettingsTranslators();
}
QVariant FactMetaData::_degreesToRadians(const QVariant& degrees)
@ -584,7 +589,9 @@ size_t FactMetaData::typeToSize(ValueType_t type) @@ -584,7 +589,9 @@ size_t FactMetaData::typeToSize(ValueType_t type)
}
}
void FactMetaData::setAppSettingsTranslators(void)
/// Set translators according to app settings
void FactMetaData::_setAppSettingsTranslators(void)
{
if (!_enumStrings.count()) {
for (size_t i=0; i<sizeof(_rgAppSettingsTranslations)/sizeof(_rgAppSettingsTranslations[0]); i++) {

4
src/FactSystem/FactMetaData.h

@ -121,9 +121,6 @@ public: @@ -121,9 +121,6 @@ public:
/// Set the translators to the standard built in versions
void setBuiltInTranslator(void);
/// Set translators according to app settings
void setAppSettingsTranslators(void);
/// Converts the specified raw value, validating against meta data
/// @param rawValue Value to convert, can be string
/// @param convertOnly true: convert to correct type only, do not validate against meta data
@ -144,6 +141,7 @@ public: @@ -144,6 +141,7 @@ public:
private:
QVariant _minForType(void) const;
QVariant _maxForType(void) const;
void _setAppSettingsTranslators(void);
// Built in translators
static QVariant _defaultTranslator(const QVariant& from) { return from; }

2
src/MissionManager/SimpleMissionItem.cc

@ -195,7 +195,6 @@ void SimpleMissionItem::_setupMetaData(void) @@ -195,7 +195,6 @@ void SimpleMissionItem::_setupMetaData(void)
_altitudeMetaData = new FactMetaData(FactMetaData::valueTypeDouble);
_altitudeMetaData->setRawUnits("m");
_altitudeMetaData->setDecimalPlaces(2);
_altitudeMetaData->setAppSettingsTranslators();
enumStrings.clear();
enumValues.clear();
@ -378,7 +377,6 @@ QmlObjectListModel* SimpleMissionItem::textFieldFacts(void) @@ -378,7 +377,6 @@ QmlObjectListModel* SimpleMissionItem::textFieldFacts(void)
paramMetaData->setDecimalPlaces(paramInfo->decimalPlaces());
paramMetaData->setEnumInfo(paramInfo->enumStrings(), paramInfo->enumValues());
paramMetaData->setRawUnits(paramInfo->units());
paramMetaData->setAppSettingsTranslators();
paramFact->setMetaData(paramMetaData);
model->append(paramFact);

Loading…
Cancel
Save