diff --git a/scwx-qt/source/scwx/qt/map/alert_layer.cpp b/scwx-qt/source/scwx/qt/map/alert_layer.cpp index e1f87e29..6b08c61d 100644 --- a/scwx-qt/source/scwx/qt/map/alert_layer.cpp +++ b/scwx-qt/source/scwx/qt/map/alert_layer.cpp @@ -1,6 +1,7 @@ #include #include #include +#include #include #include #include @@ -157,6 +158,8 @@ public: std::unordered_map> lines_; std::unordered_map lineColor_; + + std::chrono::system_clock::time_point selectedTime_ {}; }; AlertLayer::AlertLayer(std::shared_ptr context, @@ -192,6 +195,11 @@ void AlertLayer::Render(const QMapLibre::CustomLayerRenderParameters& params) { gl::OpenGLFunctions& gl = context()->gl(); + for (auto alertActive : {false, true}) + { + p->lines_.at(alertActive)->set_selected_time(p->selectedTime_); + } + DrawLayer::Render(params); SCWX_GL_CHECK_ERROR(); @@ -294,6 +302,8 @@ void AlertLayerHandler::HandleAlert(const types::TextEventKey& key, void AlertLayer::Impl::ConnectSignals() { + auto timelineManager = manager::TimelineManager::Instance(); + QObject::connect( &AlertLayerHandler::Instance(), &AlertLayerHandler::AlertAdded, @@ -307,6 +317,12 @@ void AlertLayer::Impl::ConnectSignals() AddAlert(segmentRecord); } }); + + QObject::connect(timelineManager.get(), + &manager::TimelineManager::SelectedTimeUpdated, + receiver_.get(), + [this](std::chrono::system_clock::time_point dateTime) + { selectedTime_ = dateTime; }); } void AlertLayer::Impl::AddAlert(