From c0b7f852780db04ff3b8a3a9388138a12fb52ecd Mon Sep 17 00:00:00 2001 From: AdenKoperczak Date: Fri, 13 Dec 2024 10:24:53 -0500 Subject: [PATCH] Added tooltips and changed units for radar site threshold. --- .../source/scwx/qt/map/radar_site_layer.cpp | 2 +- scwx-qt/source/scwx/qt/ui/settings_dialog.cpp | 16 ++++++++++++ scwx-qt/source/scwx/qt/ui/settings_dialog.ui | 26 +++++++++++++++++-- 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/scwx-qt/source/scwx/qt/map/radar_site_layer.cpp b/scwx-qt/source/scwx/qt/map/radar_site_layer.cpp index 396158f7..8b78fa4c 100644 --- a/scwx-qt/source/scwx/qt/map/radar_site_layer.cpp +++ b/scwx-qt/source/scwx/qt/map/radar_site_layer.cpp @@ -63,7 +63,7 @@ void RadarSiteLayer::Render( p->hoverText_.clear(); auto mapDistance = util::maplibre::GetMapDistance(params); - auto threshold = units::length::nautical_miles( + auto threshold = units::length::kilometers( settings::GeneralSettings::Instance().radar_site_threshold().GetValue()); if (!(threshold.value() == 0.0 || mapDistance <= threshold || diff --git a/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp b/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp index 1d895ffa..f4956170 100644 --- a/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp +++ b/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp @@ -755,6 +755,22 @@ void SettingsDialogImpl::SetupGeneralTab() generalSettings.radar_site_threshold()); radarSiteThreshold_.SetEditWidget(self_->ui->radarSiteThresholdSpinBox); radarSiteThreshold_.SetResetButton(self_->ui->resetRadarSiteThresholdButton); + radarSiteThreshold_.SetUnitLabel(self_->ui->radarSiteThresholdUnitLabel); + auto radarSiteThresholdUpdateUnits = [this](const std::string& newValue) + { + types::DistanceUnits radiusUnits = + types::GetDistanceUnitsFromName(newValue); + double radiusScale = types::GetDistanceUnitsScale(radiusUnits); + std::string abbreviation = + types::GetDistanceUnitsAbbreviation(radiusUnits); + + radarSiteThreshold_.SetUnit(radiusScale, abbreviation); + }; + settings::UnitSettings::Instance() + .distance_units() + .RegisterValueStagedCallback(radarSiteThresholdUpdateUnits); + radarSiteThresholdUpdateUnits( + settings::UnitSettings::Instance().distance_units().GetValue()); antiAliasingEnabled_.SetSettingsVariable( generalSettings.anti_aliasing_enabled()); diff --git a/scwx-qt/source/scwx/qt/ui/settings_dialog.ui b/scwx-qt/source/scwx/qt/ui/settings_dialog.ui index 02fdb206..be599bff 100644 --- a/scwx-qt/source/scwx/qt/ui/settings_dialog.ui +++ b/scwx-qt/source/scwx/qt/ui/settings_dialog.ui @@ -122,7 +122,7 @@ - 0 + 3 @@ -572,8 +572,17 @@ + + + 0 + 0 + + + + Set to 0 to disable + - NM + 0 @@ -589,6 +598,16 @@ + + + + + + + + + + @@ -822,6 +841,9 @@ + + Set to 0 to disable + 2