mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 19:10:06 +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_)},
|
radarSiteModel_ {new model::RadarSiteModel(self_)},
|
||||||
proxyModel_ {new QSortFilterProxyModel(self_)},
|
proxyModel_ {new QSortFilterProxyModel(self_)},
|
||||||
mapPosition_ {},
|
mapPosition_ {},
|
||||||
mapUpdateDeferred_ {false}
|
mapUpdateDeferred_ {false},
|
||||||
|
selectedRadarSite_ {"?"}
|
||||||
{
|
{
|
||||||
proxyModel_->setSourceModel(radarSiteModel_);
|
proxyModel_->setSourceModel(radarSiteModel_);
|
||||||
proxyModel_->setSortRole(common::SortRole);
|
proxyModel_->setSortRole(common::SortRole);
|
||||||
|
|
@ -42,6 +43,8 @@ public:
|
||||||
|
|
||||||
scwx::common::Coordinate mapPosition_;
|
scwx::common::Coordinate mapPosition_;
|
||||||
bool mapUpdateDeferred_;
|
bool mapUpdateDeferred_;
|
||||||
|
|
||||||
|
std::string selectedRadarSite_;
|
||||||
};
|
};
|
||||||
|
|
||||||
RadarSiteDialog::RadarSiteDialog(QWidget* parent) :
|
RadarSiteDialog::RadarSiteDialog(QWidget* parent) :
|
||||||
|
|
@ -74,6 +77,29 @@ RadarSiteDialog::RadarSiteDialog(QWidget* parent) :
|
||||||
{
|
{
|
||||||
ui->buttonBox->button(QDialogButtonBox::Ok)
|
ui->buttonBox->button(QDialogButtonBox::Ok)
|
||||||
->setEnabled(selected.size() > 0);
|
->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;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string RadarSiteDialog::radar_site() const
|
||||||
|
{
|
||||||
|
return p->selectedRadarSite_;
|
||||||
|
}
|
||||||
|
|
||||||
void RadarSiteDialog::showEvent(QShowEvent* event)
|
void RadarSiteDialog::showEvent(QShowEvent* event)
|
||||||
{
|
{
|
||||||
if (p->mapUpdateDeferred_)
|
if (p->mapUpdateDeferred_)
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,8 @@ public:
|
||||||
explicit RadarSiteDialog(QWidget* parent = nullptr);
|
explicit RadarSiteDialog(QWidget* parent = nullptr);
|
||||||
~RadarSiteDialog();
|
~RadarSiteDialog();
|
||||||
|
|
||||||
|
std::string radar_site() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void showEvent(QShowEvent*) override;
|
void showEvent(QShowEvent*) override;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue