mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 22:00:05 +00:00
Add callbacks to settings variables, use to update radar dialog location in settings dialog
This commit is contained in:
parent
87f611e026
commit
f7cc902eef
5 changed files with 136 additions and 2 deletions
|
|
@ -70,6 +70,8 @@ public:
|
|||
void SetupPalettesColorTablesTab();
|
||||
void SetupPalettesAlertsTab();
|
||||
|
||||
void UpdateRadarDialogLocation(const std::string& id);
|
||||
|
||||
void ApplyChanges();
|
||||
void DiscardChanges();
|
||||
void ResetToDefault();
|
||||
|
|
@ -146,8 +148,12 @@ void SettingsDialogImpl::ConnectSignals()
|
|||
}
|
||||
});
|
||||
|
||||
// TODO: HandleMapUpdate for RadarSiteDialog, based on currently selected
|
||||
// Update the Radar Site dialog "map" location with the currently selected
|
||||
// radar site
|
||||
auto& defaultRadarSite = *defaultRadarSite_.GetSettingsVariable();
|
||||
defaultRadarSite.RegisterValueStagedCallback(
|
||||
[this](const std::string& newValue)
|
||||
{ UpdateRadarDialogLocation(newValue); });
|
||||
|
||||
QObject::connect(
|
||||
self_->ui->buttonBox,
|
||||
|
|
@ -232,6 +238,7 @@ void SettingsDialogImpl::SetupGeneralTab()
|
|||
});
|
||||
defaultRadarSite_.SetEditWidget(self_->ui->radarSiteComboBox);
|
||||
defaultRadarSite_.SetResetButton(self_->ui->resetRadarSiteButton);
|
||||
UpdateRadarDialogLocation(generalSettings.default_radar_site().GetValue());
|
||||
|
||||
fontSizes_.SetSettingsVariable(generalSettings.font_sizes());
|
||||
fontSizes_.SetEditWidget(self_->ui->fontSizesLineEdit);
|
||||
|
|
@ -353,6 +360,17 @@ void SettingsDialogImpl::SetupPalettesAlertsTab()
|
|||
}
|
||||
}
|
||||
|
||||
void SettingsDialogImpl::UpdateRadarDialogLocation(const std::string& id)
|
||||
{
|
||||
std::shared_ptr<config::RadarSite> radarSite = config::RadarSite::Get(id);
|
||||
|
||||
if (radarSite != nullptr)
|
||||
{
|
||||
radarSiteDialog_->HandleMapUpdate(radarSite->latitude(),
|
||||
radarSite->longitude());
|
||||
}
|
||||
}
|
||||
|
||||
void SettingsDialogImpl::ApplyChanges()
|
||||
{
|
||||
logger_->info("Apply settings changes");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue