diff --git a/src/FactSystem/FactMetaData.cc b/src/FactSystem/FactMetaData.cc index e8d8dfa..b92defe 100644 --- a/src/FactSystem/FactMetaData.cc +++ b/src/FactSystem/FactMetaData.cc @@ -1200,6 +1200,26 @@ QVariant FactMetaData::appSettingsWeightUnitsToGrams(const QVariant& weight) { } } +QVariant FactMetaData::metersSecondToAppSettingsSpeedUnits(const QVariant& metersSecond) +{ + const AppSettingsTranslation_s* pAppSettingsTranslation = _findAppSettingsUnitsTranslation("m/s", UnitSpeed); + if (pAppSettingsTranslation) { + return pAppSettingsTranslation->rawTranslator(metersSecond); + } else { + return metersSecond; + } +} + +QVariant FactMetaData::appSettingsSpeedUnitsToMetersSecond(const QVariant& speed) +{ + const AppSettingsTranslation_s* pAppSettingsTranslation = _findAppSettingsUnitsTranslation("m/s", UnitSpeed); + if (pAppSettingsTranslation) { + return pAppSettingsTranslation->cookedTranslator(speed); + } else { + return speed; + } +} + QString FactMetaData::appSettingsSpeedUnitsString() { const AppSettingsTranslation_s* pAppSettingsTranslation = _findAppSettingsUnitsTranslation("m/s", UnitSpeed); diff --git a/src/FactSystem/FactMetaData.h b/src/FactSystem/FactMetaData.h index 6b12bc2..06145cc 100644 --- a/src/FactSystem/FactMetaData.h +++ b/src/FactSystem/FactMetaData.h @@ -99,6 +99,12 @@ public: /// Returns the string for distance units which has configued by user static QString appSettingsAreaUnitsString(void); + /// Converts from meters/second to the user specified speed unit + static QVariant metersSecondToAppSettingsSpeedUnits(const QVariant& metersSecond); + + /// Converts from user specified speed unit to meters/second + static QVariant appSettingsSpeedUnitsToMetersSecond(const QVariant& speed); + /// Returns the string for speed units which has configued by user static QString appSettingsSpeedUnitsString(); diff --git a/src/QmlControls/QmlUnitsConversion.h b/src/QmlControls/QmlUnitsConversion.h index 267503d..769018f 100644 --- a/src/QmlControls/QmlUnitsConversion.h +++ b/src/QmlControls/QmlUnitsConversion.h @@ -59,6 +59,12 @@ public: QString appSettingsAreaUnitsString(void) const { return FactMetaData::appSettingsAreaUnitsString(); } + /// Converts from meters/second to the user specified speed unit + Q_INVOKABLE QVariant metersSecondToAppSettingsSpeedUnits(const QVariant& metersSecond) const { return FactMetaData::metersSecondToAppSettingsSpeedUnits(metersSecond); } + + /// Converts from user specified speed unit to meters/second + Q_INVOKABLE QVariant appSettingsSpeedUnitsToMetersSecond(const QVariant& speed) const { return FactMetaData::appSettingsSpeedUnitsToMetersSecond(speed); } + /// Returns the string for speed units which has configued by user QString appSettingsSpeedUnitsString() { return FactMetaData::appSettingsSpeedUnitsString(); }