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;
34 _horizontalDistanceUnitsFact =
new SettingsFact(_settingsGroup, metaData,
this);
36 return _horizontalDistanceUnitsFact;
41 if (!_verticalDistanceUnitsFact) {
43 QStringList enumStrings;
44 QVariantList enumValues;
45 enumStrings << UnitsSettings::tr(
"Feet") << UnitsSettings::tr(
"Meters");
46 enumValues << QVariant::fromValue(static_cast<uint32_t>(VerticalDistanceUnitsFeet))
47 << QVariant::fromValue(
static_cast<uint32_t
>(VerticalDistanceUnitsMeters));
49 metaData->
setName(verticalDistanceUnitsName);
50 metaData->
setLabel(UnitsSettings::tr(
"Vertical Distance"));
51 metaData->
setShortDescription(UnitsSettings::tr(
"Display unit for altitudes and vertical heights."));
53 VerticalDistanceUnits defaultVerticalAltitudeUnit = VerticalDistanceUnitsMeters;
54 switch(QLocale::system().measurementSystem()) {
55 case QLocale::MetricSystem: {
56 defaultVerticalAltitudeUnit = VerticalDistanceUnitsMeters;
58 case QLocale::ImperialUSSystem:
59 case QLocale::ImperialUKSystem:
60 defaultVerticalAltitudeUnit = VerticalDistanceUnitsFeet;
65 _verticalDistanceUnitsFact =
new SettingsFact(_settingsGroup, metaData,
this);
67 return _verticalDistanceUnitsFact;
72 if (!_areaUnitsFact) {
74 QStringList enumStrings;
75 QVariantList enumValues;
76 enumStrings << UnitsSettings::tr(
"SquareFeet") << UnitsSettings::tr(
"SquareMeters") << UnitsSettings::tr(
"SquareKilometers") << UnitsSettings::tr(
"Hectares") << UnitsSettings::tr(
"Acres") << UnitsSettings::tr(
"SquareMiles");
78 QVariant::fromValue(
static_cast<uint32_t
>(AreaUnitsSquareFeet)) <<
79 QVariant::fromValue(
static_cast<uint32_t
>(AreaUnitsSquareMeters)) <<
80 QVariant::fromValue(
static_cast<uint32_t
>(AreaUnitsSquareKilometers)) <<
81 QVariant::fromValue(
static_cast<uint32_t
>(AreaUnitsHectares)) <<
82 QVariant::fromValue(
static_cast<uint32_t
>(AreaUnitsAcres)) <<
83 QVariant::fromValue(
static_cast<uint32_t
>(AreaUnitsSquareMiles));
85 metaData->
setName(areaUnitsName);
86 metaData->
setLabel(UnitsSettings::tr(
"Area"));
90 AreaUnits defaultAreaUnit = AreaUnitsSquareMeters;
91 switch(QLocale::system().measurementSystem()) {
92 case QLocale::MetricSystem: {
93 defaultAreaUnit = AreaUnitsSquareMeters;
95 case QLocale::ImperialUSSystem:
96 case QLocale::ImperialUKSystem:
97 defaultAreaUnit = AreaUnitsSquareMiles;
102 _areaUnitsFact =
new SettingsFact(_settingsGroup, metaData,
this);
104 return _areaUnitsFact;
109 if (!_speedUnitsFact) {
111 QStringList enumStrings;
112 QVariantList enumValues;
113 enumStrings <<
"Feet/second" <<
"Meters/second" <<
"Miles/hour" <<
"Kilometers/hour" << UnitsSettings::tr(
"Knots");
115 QVariant::fromValue(
static_cast<uint32_t
>(SpeedUnitsFeetPerSecond)) <<
116 QVariant::fromValue(
static_cast<uint32_t
>(SpeedUnitsMetersPerSecond)) <<
117 QVariant::fromValue(
static_cast<uint32_t
>(SpeedUnitsMilesPerHour)) <<
118 QVariant::fromValue(
static_cast<uint32_t
>(SpeedUnitsKilometersPerHour)) <<
119 QVariant::fromValue(
static_cast<uint32_t
>(SpeedUnitsKnots));
121 metaData->
setName(speedUnitsName);
122 metaData->
setLabel(UnitsSettings::tr(
"Speed"));
123 metaData->
setShortDescription(UnitsSettings::tr(
"Display unit for speed and velocity values."));
126 SpeedUnits defaultSpeedUnit = SpeedUnitsMetersPerSecond;
127 switch(QLocale::system().measurementSystem()) {
128 case QLocale::MetricSystem: {
129 defaultSpeedUnit = SpeedUnitsMetersPerSecond;
131 case QLocale::ImperialUSSystem:
132 case QLocale::ImperialUKSystem:
133 defaultSpeedUnit = SpeedUnitsMilesPerHour;
138 _speedUnitsFact =
new SettingsFact(_settingsGroup, metaData,
this);
140 return _speedUnitsFact;
145 if (!_temperatureUnitsFact) {
147 QStringList enumStrings;
148 QVariantList enumValues;
149 enumStrings << UnitsSettings::tr(
"Celsius") << UnitsSettings::tr(
"Fahrenheit");
150 enumValues << QVariant::fromValue(static_cast<uint32_t>(TemperatureUnitsCelsius)) << QVariant::fromValue(
static_cast<uint32_t
>(TemperatureUnitsFarenheit));
152 metaData->
setName(temperatureUnitsName);
153 metaData->
setLabel(UnitsSettings::tr(
"Temperature"));
154 metaData->
setShortDescription(UnitsSettings::tr(
"Display unit for temperature readings."));
157 TemperatureUnits defaultTemperatureUnit = TemperatureUnitsCelsius;
158 switch(QLocale::system().measurementSystem()) {
159 case QLocale::MetricSystem: {
160 defaultTemperatureUnit = TemperatureUnitsCelsius;
162 case QLocale::ImperialUSSystem:
163 case QLocale::ImperialUKSystem:
164 defaultTemperatureUnit = TemperatureUnitsFarenheit;
169 _temperatureUnitsFact =
new SettingsFact(_settingsGroup, metaData,
this);
171 return _temperatureUnitsFact;
176 if (!_weightUnitsFact) {
178 QStringList enumStrings;
179 QVariantList enumValues;
180 enumStrings << UnitsSettings::tr(
"Grams") << UnitsSettings::tr(
"Kilograms") << UnitsSettings::tr(
"Ounces") << UnitsSettings::tr(
"Pounds");
182 << QVariant::fromValue(
static_cast<uint32_t
>(WeightUnitsGrams))
183 << QVariant::fromValue(
static_cast<uint32_t
>(WeightUnitsKg))
184 << QVariant::fromValue(
static_cast<uint32_t
>(WeightUnitsOz))
185 << QVariant::fromValue(
static_cast<uint32_t
>(WeightUnitsLbs));
187 metaData->
setName(weightUnitsName);
188 metaData->
setLabel(UnitsSettings::tr(
"Weight"));
191 WeightUnits defaultWeightUnit = WeightUnitsGrams;
192 switch(QLocale::system().measurementSystem()) {
193 case QLocale::MetricSystem:
194 case QLocale::ImperialUKSystem: {
195 defaultWeightUnit = WeightUnitsGrams;
197 case QLocale::ImperialUSSystem:
198 defaultWeightUnit = WeightUnitsOz;
203 _weightUnitsFact =
new SettingsFact(_settingsGroup, metaData,
this);
205 return _weightUnitsFact;