From 81ec5f9f7a9163e496249af0f7fe611c7fac3bee Mon Sep 17 00:00:00 2001 From: AdenKoperczak Date: Sun, 13 Apr 2025 11:38:25 -0400 Subject: [PATCH] Update set default products button on default radar site change --- scwx-qt/source/scwx/qt/main/main_window.cpp | 27 +++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/scwx-qt/source/scwx/qt/main/main_window.cpp b/scwx-qt/source/scwx/qt/main/main_window.cpp index e951de71..a9c140be 100644 --- a/scwx-qt/source/scwx/qt/main/main_window.cpp +++ b/scwx-qt/source/scwx/qt/main/main_window.cpp @@ -139,6 +139,8 @@ public: } ~MainWindowImpl() { + homeRadarConnection_.disconnect(); + auto& generalSettings = settings::GeneralSettings::Instance(); auto& customStyleUrl = generalSettings.custom_style_url(); @@ -239,6 +241,8 @@ public: layerActions_ {}; bool layerActionsInitialized_ {false}; + boost::signals2::scoped_connection homeRadarConnection_ {}; + std::vector maps_; std::chrono::system_clock::time_point selectedTime_ {}; @@ -1273,6 +1277,29 @@ void MainWindowImpl::ConnectOtherSignals() timeLabel_->setVisible(true); }); clockTimer_.start(1000); + + auto& generalSettings = settings::GeneralSettings::Instance(); + homeRadarConnection_ = + generalSettings.default_radar_site().changed_signal().connect( + [this]() + { + std::shared_ptr radarSite = + activeMap_->GetRadarSite(); + const std::string homeRadarSite = + settings::GeneralSettings::Instance() + .default_radar_site() + .GetValue(); + if (radarSite == nullptr) + { + mainWindow_->ui->saveRadarProductsButton->setVisible( + false); + } + else + { + mainWindow_->ui->saveRadarProductsButton->setVisible( + radarSite->id() == homeRadarSite); + } + }); } void MainWindowImpl::InitializeLayerDisplayActions()