mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 20:30:05 +00:00
Storing radar site selection
This commit is contained in:
parent
f473a02d1d
commit
6977119083
2 changed files with 34 additions and 1 deletions
|
|
@ -27,7 +27,8 @@ public:
|
|||
radarSiteModel_ {new model::RadarSiteModel(self_)},
|
||||
proxyModel_ {new QSortFilterProxyModel(self_)},
|
||||
mapPosition_ {},
|
||||
mapUpdateDeferred_ {false}
|
||||
mapUpdateDeferred_ {false},
|
||||
selectedRadarSite_ {"?"}
|
||||
{
|
||||
proxyModel_->setSourceModel(radarSiteModel_);
|
||||
proxyModel_->setSortRole(common::SortRole);
|
||||
|
|
@ -42,6 +43,8 @@ public:
|
|||
|
||||
scwx::common::Coordinate mapPosition_;
|
||||
bool mapUpdateDeferred_;
|
||||
|
||||
std::string selectedRadarSite_;
|
||||
};
|
||||
|
||||
RadarSiteDialog::RadarSiteDialog(QWidget* parent) :
|
||||
|
|
@ -74,6 +77,29 @@ RadarSiteDialog::RadarSiteDialog(QWidget* parent) :
|
|||
{
|
||||
ui->buttonBox->button(QDialogButtonBox::Ok)
|
||||
->setEnabled(selected.size() > 0);
|
||||
|
||||
if (selected.size() > 0)
|
||||
{
|
||||
QModelIndex selectedIndex =
|
||||
p->proxyModel_->mapToSource(selected[0].indexes()[0]);
|
||||
QVariant variantData = p->radarSiteModel_->data(selectedIndex);
|
||||
if (variantData.typeId() == QMetaType::QString)
|
||||
{
|
||||
p->selectedRadarSite_ =
|
||||
variantData.toString().toStdString();
|
||||
}
|
||||
else
|
||||
{
|
||||
logger_->warn("Unexpected selection data type");
|
||||
p->selectedRadarSite_ = "?";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
p->selectedRadarSite_ = "?";
|
||||
}
|
||||
|
||||
logger_->debug("Selected: {}", p->selectedRadarSite_);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -82,6 +108,11 @@ RadarSiteDialog::~RadarSiteDialog()
|
|||
delete ui;
|
||||
}
|
||||
|
||||
std::string RadarSiteDialog::radar_site() const
|
||||
{
|
||||
return p->selectedRadarSite_;
|
||||
}
|
||||
|
||||
void RadarSiteDialog::showEvent(QShowEvent* event)
|
||||
{
|
||||
if (p->mapUpdateDeferred_)
|
||||
|
|
|
|||
|
|
@ -24,6 +24,8 @@ public:
|
|||
explicit RadarSiteDialog(QWidget* parent = nullptr);
|
||||
~RadarSiteDialog();
|
||||
|
||||
std::string radar_site() const;
|
||||
|
||||
protected:
|
||||
void showEvent(QShowEvent*) override;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue