added full unit support for radius field, implemented such that future fields needing units can be done easily

This commit is contained in:
AdenKoperczak 2024-07-15 11:33:47 -04:00
parent c53836e91a
commit 146055fb99
7 changed files with 103 additions and 24 deletions

View file

@ -8,8 +8,6 @@
#include <scwx/util/logger.hpp>
#include <scwx/qt/config/radar_site.hpp>
#include <scwx/qt/settings/general_settings.hpp>
#include <scwx/qt/settings/unit_settings.hpp>
#include <scwx/qt/types/unit_types.hpp>
#include <boost/asio/post.hpp>
#include <boost/asio/thread_pool.hpp>
@ -140,17 +138,12 @@ void AlertManager::Impl::HandleAlert(const types::TextEventKey& key,
}
settings::AudioSettings& audioSettings = settings::AudioSettings::Instance();
settings::UnitSettings& unitSettings = settings::UnitSettings::Instance();
types::LocationMethod locationMethod = types::GetLocationMethod(
audioSettings.alert_location_method().GetValue());
common::Coordinate currentCoordinate = CurrentCoordinate(locationMethod);
std::string alertCounty = audioSettings.alert_county().GetValue();
types::DistanceUnits radiusUnits =
types::GetDistanceUnitsFromName(unitSettings.distance_units().GetValue());
double radiusScale = types::GetDistanceUnitsScale(radiusUnits);
auto alertRadius = units::length::kilometers<double>(
audioSettings.alert_radius().GetValue() / radiusScale);
auto alertRadius = units::length::kilometers<double>(
audioSettings.alert_radius().GetValue());
logger_->debug("alertRadius: {}", (double)alertRadius);