Display expired data as soon as it's reloaded

This commit is contained in:
Dan Paulat 2023-04-09 09:26:51 -05:00
parent 16044efbf3
commit df2474c383
12 changed files with 114 additions and 80 deletions

View file

@ -883,7 +883,17 @@ RadarProductManagerImpl::GetLevel2ProductRecord(
if (record == nullptr)
{
// Product is expired, reload it
self_->LoadLevel2Data(recordPtr->first, nullptr);
std::shared_ptr<request::NexradFileRequest> request =
std::make_shared<request::NexradFileRequest>();
QObject::connect(
request.get(),
&request::NexradFileRequest::RequestComplete,
self_,
[this](std::shared_ptr<request::NexradFileRequest> request)
{ emit self_->DataReloaded(request->radar_product_record()); });
self_->LoadLevel2Data(recordPtr->first, request);
}
}
@ -924,7 +934,17 @@ RadarProductManagerImpl::GetLevel3ProductRecord(
if (record == nullptr)
{
// Product is expired, reload it
self_->LoadLevel3Data(product, recordPtr->first, nullptr);
std::shared_ptr<request::NexradFileRequest> request =
std::make_shared<request::NexradFileRequest>();
QObject::connect(
request.get(),
&request::NexradFileRequest::RequestComplete,
self_,
[this](std::shared_ptr<request::NexradFileRequest> request)
{ emit self_->DataReloaded(request->radar_product_record()); });
self_->LoadLevel3Data(product, recordPtr->first, request);
}
}

View file

@ -97,6 +97,7 @@ public:
void UpdateAvailableProducts();
signals:
void DataReloaded(std::shared_ptr<types::RadarProductRecord> record);
void Level3ProductsChanged();
void NewDataAvailable(common::RadarProductGroup group,
const std::string& product,