diff --git a/scwx-qt/source/scwx/qt/main/main_window.cpp b/scwx-qt/source/scwx/qt/main/main_window.cpp index bd97c031..d07ca41c 100644 --- a/scwx-qt/source/scwx/qt/main/main_window.cpp +++ b/scwx-qt/source/scwx/qt/main/main_window.cpp @@ -807,6 +807,18 @@ void MainWindowImpl::ConnectAnimationSignals() &map::MapWidget::WidgetPainted, timelineManager_.get(), [=, this]() { timelineManager_->ReceiveMapWidgetPainted(i); }); + connect(maps_[i], + &map::MapWidget::RadarSiteRequested, + this, + [this](const std::string& id) + { + for (map::MapWidget* map : maps_) + { + map->SelectRadarSite(id); + } + + UpdateRadarSite(); + }); } } diff --git a/scwx-qt/source/scwx/qt/map/map_widget.cpp b/scwx-qt/source/scwx/qt/map/map_widget.cpp index c9428a8a..7c543bdd 100644 --- a/scwx-qt/source/scwx/qt/map/map_widget.cpp +++ b/scwx-qt/source/scwx/qt/map/map_widget.cpp @@ -899,6 +899,10 @@ void MapWidgetImpl::AddLayer(types::LayerType type, case types::InformationLayer::RadarSite: radarSiteLayer_ = std::make_shared(context_); AddLayer(layerName, radarSiteLayer_, before); + connect(radarSiteLayer_.get(), + &RadarSiteLayer::RadarSiteSelected, + widget_, + &MapWidget::RadarSiteRequested); break; default: diff --git a/scwx-qt/source/scwx/qt/map/map_widget.hpp b/scwx-qt/source/scwx/qt/map/map_widget.hpp index c130c3e6..1f863df3 100644 --- a/scwx-qt/source/scwx/qt/map/map_widget.hpp +++ b/scwx-qt/source/scwx/qt/map/map_widget.hpp @@ -147,6 +147,7 @@ signals: double bearing, double pitch); void MapStyleChanged(const std::string& styleName); + void RadarSiteRequested(const std::string& id); void RadarSiteUpdated(std::shared_ptr radarSite); void RadarSweepUpdated(); void RadarSweepNotUpdated(types::NoUpdateReason reason);