From 8d55413d03ee2e02085e8b46694a7dd678f6f07b Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Tue, 21 Dec 2021 22:48:37 -0600 Subject: [PATCH] Fixing map connections for updating elevation selection --- scwx-qt/source/scwx/qt/main/main_window.cpp | 43 +++++++++++---------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/scwx-qt/source/scwx/qt/main/main_window.cpp b/scwx-qt/source/scwx/qt/main/main_window.cpp index 750a5b3f..62fca928 100644 --- a/scwx-qt/source/scwx/qt/main/main_window.cpp +++ b/scwx-qt/source/scwx/qt/main/main_window.cpp @@ -41,7 +41,6 @@ public: void ConfigureMapLayout(); void HandleFocusChange(QWidget* focused); - void InitializeConnections(); void SelectElevation(map::MapWidget* mapWidget, float elevation); void SelectRadarProduct(map::MapWidget* mapWidget, common::Level2Product product); @@ -93,9 +92,10 @@ MainWindow::MainWindow(QWidget* parent) : tr(common::GetLevel2Description(product).c_str())); level2Layout->addWidget(toolButton); - connect(toolButton, &QToolButton::clicked, this, [=]() { - p->SelectRadarProduct(p->activeMap_, product); - }); + connect(toolButton, + &QToolButton::clicked, + this, + [=]() { p->SelectRadarProduct(p->activeMap_, product); }); } QLayout* elevationLayout = new ui::FlowLayout(); @@ -104,8 +104,6 @@ MainWindow::MainWindow(QWidget* parent) : ui->settingsGroupBox->setVisible(false); ui->declutterCheckbox->setVisible(false); - p->InitializeConnections(); - p->SelectRadarProduct(p->activeMap_, common::Level2Product::Reflectivity); if (p->maps_.at(1) != nullptr) { @@ -207,7 +205,8 @@ void MainWindowImpl::ConfigureMapLayout() maps_.resize(mapCount); - auto MoveSplitter = [=](int pos, int index) { + auto MoveSplitter = [=](int pos, int index) + { QSplitter* s = dynamic_cast(sender()); if (s != nullptr) @@ -235,6 +234,19 @@ void MainWindowImpl::ConfigureMapLayout() &map::MapWidget::MapParametersChanged, this, &MainWindowImpl::UpdateMapParameters); + + connect( + maps_[mapIndex], + &map::MapWidget::RadarSweepUpdated, + this, + [=]() + { + if (maps_[mapIndex] == activeMap_) + { + UpdateRadarProductSettings(); + } + }, + Qt::QueuedConnection); } hs->addWidget(maps_[mapIndex]); @@ -261,16 +273,6 @@ void MainWindowImpl::HandleFocusChange(QWidget* focused) } } -void MainWindowImpl::InitializeConnections() -{ - connect( - activeMap_, - &map::MapWidget::RadarSweepUpdated, - this, - [this]() { UpdateRadarProductSettings(); }, - Qt::QueuedConnection); -} - void MainWindowImpl::SelectElevation(map::MapWidget* mapWidget, float elevation) { mapWidget->SelectElevation(elevation); @@ -399,9 +401,10 @@ void MainWindowImpl::UpdateRadarProductSettings() common::Characters::DEGREE); layout->addWidget(toolButton); - connect(toolButton, &QToolButton::clicked, this, [=]() { - SelectElevation(activeMap_, elevationCut); - }); + connect(toolButton, + &QToolButton::clicked, + this, + [=]() { SelectElevation(activeMap_, elevationCut); }); } elevationCuts_ = elevationCuts;