9 if (!_horizontalDistanceUnitsFact) {
11 QStringList enumStrings;
12 QVariantList enumValues;
13 enumStrings << UnitsSettings::tr(
"Feet") << UnitsSettings::tr(
"Meters");
14 enumValues << QVariant::fromValue(static_cast<uint32_t>(HorizontalDistanceUnitsFeet))
15 << QVariant::fromValue(
static_cast<uint32_t
>(HorizontalDistanceUnitsMeters));
17 metaData->
setName(horizontalDistanceUnitsName);
18 metaData->
setLabel(UnitsSettings::tr(
"Horizontal Distance"));
19 metaData->
setShortDescription(UnitsSettings::tr(
"Display unit for horizontal distances and ranges."));
22 HorizontalDistanceUnits defaultHorizontalDistanceUnit = HorizontalDistanceUnitsMeters;
23 switch(QLocale::system().measurementSystem()) {
24 case QLocale::MetricSystem: {
25 defaultHorizontalDistanceUnit = HorizontalDistanceUnitsMeters;
27 case QLocale::ImperialUSSystem:
28 case QLocale::ImperialUKSystem:
29 defaultHorizontalDistanceUnit = HorizontalDistanceUnitsFeet;
33 _horizontalDistanceUnitsFact =
new SettingsFact(_settingsGroup, metaData,
this);
35 return _horizontalDistanceUnitsFact;
40 if (!_verticalDistanceUnitsFact) {
42 QStringList enumStrings;
43 QVariantList enumValues;
44 enumStrings << UnitsSettings::tr(
"Feet") << UnitsSettings::tr(
"Meters");
45 enumValues << QVariant::fromValue(static_cast<uint32_t>(VerticalDistanceUnitsFeet))
46 << QVariant::fromValue(
static_cast<uint32_t
>(VerticalDistanceUnitsMeters));
48 metaData->
setName(verticalDistanceUnitsName);
49 metaData->
setLabel(UnitsSettings::tr(
"Vertical Distance"));
50 metaData->
setShortDescription(UnitsSettings::tr(
"Display unit for altitudes and vertical heights."));
52 VerticalDistanceUnits defaultVerticalAltitudeUnit = VerticalDistanceUnitsMeters;
53 switch(QLocale::system().measurementSystem()) {
54 case QLocale::MetricSystem: {
55 defaultVerticalAltitudeUnit = VerticalDistanceUnitsMeters;
57 case QLocale::ImperialUSSystem:
58 case QLocale::ImperialUKSystem:
59 defaultVerticalAltitudeUnit = VerticalDistanceUnitsFeet;
63 _verticalDistanceUnitsFact =
new SettingsFact(_settingsGroup, metaData,
this);
65 return _verticalDistanceUnitsFact;
70 if (!_areaUnitsFact) {
72 QStringList enumStrings;
73 QVariantList enumValues;
74 enumStrings << UnitsSettings::tr(
"SquareFeet") << UnitsSettings::tr(
"SquareMeters") << UnitsSettings::tr(
"SquareKilometers") << UnitsSettings::tr(
"Hectares") << UnitsSettings::tr(
"Acres") << UnitsSettings::tr(
"SquareMiles");
76 QVariant::fromValue(
static_cast<uint32_t
>(AreaUnitsSquareFeet)) <<
77 QVariant::fromValue(
static_cast<uint32_t
>(AreaUnitsSquareMeters)) <<
78 QVariant::fromValue(
static_cast<uint32_t
>(AreaUnitsSquareKilometers)) <<
79 QVariant::fromValue(
static_cast<uint32_t
>(AreaUnitsHectares)) <<
80 QVariant::fromValue(
static_cast<uint32_t
>(AreaUnitsAcres)) <<
81 QVariant::fromValue(
static_cast<uint32_t
>(AreaUnitsSquareMiles));
83 metaData->
setName(areaUnitsName);
84 metaData->
setLabel(UnitsSettings::tr(
"Area"));
88 AreaUnits defaultAreaUnit = AreaUnitsSquareMeters;
89 switch(QLocale::system().measurementSystem()) {
90 case QLocale::MetricSystem: {
91 defaultAreaUnit = AreaUnitsSquareMeters;
93 case QLocale::ImperialUSSystem:
94 case QLocale::ImperialUKSystem:
95 defaultAreaUnit = AreaUnitsSquareMiles;
99 _areaUnitsFact =
new SettingsFact(_settingsGroup, metaData,
this);
101 return _areaUnitsFact;
106 if (!_speedUnitsFact) {
108 QStringList enumStrings;
109 QVariantList enumValues;
110 enumStrings <<
"Feet/second" <<
"Meters/second" <<
"Miles/hour" <<
"Kilometers/hour" << UnitsSettings::tr(
"Knots");
112 QVariant::fromValue(
static_cast<uint32_t
>(SpeedUnitsFeetPerSecond)) <<
113 QVariant::fromValue(
static_cast<uint32_t
>(SpeedUnitsMetersPerSecond)) <<
114 QVariant::fromValue(
static_cast<uint32_t
>(SpeedUnitsMilesPerHour)) <<
115 QVariant::fromValue(
static_cast<uint32_t
>(SpeedUnitsKilometersPerHour)) <<
116 QVariant::fromValue(
static_cast<uint32_t
>(SpeedUnitsKnots));
118 metaData->
setName(speedUnitsName);
119 metaData->
setLabel(UnitsSettings::tr(
"Speed"));
120 metaData->
setShortDescription(UnitsSettings::tr(
"Display unit for speed and velocity values."));
123 SpeedUnits defaultSpeedUnit = SpeedUnitsMetersPerSecond;
124 switch(QLocale::system().measurementSystem()) {
125 case QLocale::MetricSystem: {
126 defaultSpeedUnit = SpeedUnitsMetersPerSecond;
128 case QLocale::ImperialUSSystem:
129 case QLocale::ImperialUKSystem:
130 defaultSpeedUnit = SpeedUnitsMilesPerHour;
134 _speedUnitsFact =
new SettingsFact(_settingsGroup, metaData,
this);
136 return _speedUnitsFact;
141 if (!_temperatureUnitsFact) {
143 QStringList enumStrings;
144 QVariantList enumValues;
145 enumStrings << UnitsSettings::tr(
"Celsius") << UnitsSettings::tr(
"Fahrenheit");
146 enumValues << QVariant::fromValue(static_cast<uint32_t>(TemperatureUnitsCelsius)) << QVariant::fromValue(
static_cast<uint32_t
>(TemperatureUnitsFarenheit));
148 metaData->
setName(temperatureUnitsName);
149 metaData->
setLabel(UnitsSettings::tr(
"Temperature"));
150 metaData->
setShortDescription(UnitsSettings::tr(
"Display unit for temperature readings."));
153 TemperatureUnits defaultTemperatureUnit = TemperatureUnitsCelsius;
154 switch(QLocale::system().measurementSystem()) {
155 case QLocale::MetricSystem: {
156 defaultTemperatureUnit = TemperatureUnitsCelsius;
158 case QLocale::ImperialUSSystem:
159 case QLocale::ImperialUKSystem:
160 defaultTemperatureUnit = TemperatureUnitsFarenheit;
164 _temperatureUnitsFact =
new SettingsFact(_settingsGroup, metaData,
this);
166 return _temperatureUnitsFact;
171 if (!_weightUnitsFact) {
173 QStringList enumStrings;
174 QVariantList enumValues;
175 enumStrings << UnitsSettings::tr(
"Grams") << UnitsSettings::tr(
"Kilograms") << UnitsSettings::tr(
"Ounces") << UnitsSettings::tr(
"Pounds");
177 << QVariant::fromValue(
static_cast<uint32_t
>(WeightUnitsGrams))
178 << QVariant::fromValue(
static_cast<uint32_t
>(WeightUnitsKg))
179 << QVariant::fromValue(
static_cast<uint32_t
>(WeightUnitsOz))
180 << QVariant::fromValue(
static_cast<uint32_t
>(WeightUnitsLbs));
182 metaData->
setName(weightUnitsName);
183 metaData->
setLabel(UnitsSettings::tr(
"Weight"));
186 WeightUnits defaultWeightUnit = WeightUnitsGrams;
187 switch(QLocale::system().measurementSystem()) {
188 case QLocale::MetricSystem:
189 case QLocale::ImperialUKSystem: {
190 defaultWeightUnit = WeightUnitsGrams;
192 case QLocale::ImperialUSSystem:
193 defaultWeightUnit = WeightUnitsOz;
197 _weightUnitsFact =
new SettingsFact(_settingsGroup, metaData,
this);
199 return _weightUnitsFact;