mirror of
https://github.com/GoldenCheetah/GoldenCheetah.git
synced 2026-02-14 08:38:45 +00:00
Better Zones Configuration Page
The zone ranges configuration page caused a SEGV when deleting the last zone. On inspection the zone configuration needed to be revised since the UI was confusing and didn't allow fine grained user editing (relying upon manual editing of the power.zones file). The UI has been redesigned and fine grained editing of ranges, zones and default zones is now supported. The Zones class has been slightly modified to support the new UI and existing members are better commented. In addition, the read/write functions have been updated to always include the DEFAULTS section and to set defaults according to manual zone setups when it is not present (legacy support). There are now 10 TimeInZone metrics to match the maximum of 10 zones the user can define. Fixes #78. Fixes #34.
This commit is contained in:
committed by
Sean Rhea
parent
7941f0a9bc
commit
c4f82e19b6
@@ -122,7 +122,6 @@ MainWindow::MainWindow(const QDir &home) :
|
||||
if (!zones_->read(zonesFile)) {
|
||||
QMessageBox::critical(this, tr("Zones File Error"),
|
||||
zones_->errorString());
|
||||
zones_->clear();
|
||||
}
|
||||
else if (! zones_->warningString().isEmpty())
|
||||
QMessageBox::warning(this, tr("Reading Zones File"), zones_->warningString());
|
||||
@@ -1335,6 +1334,18 @@ void MainWindow::dateChanged(const QDate &date)
|
||||
void
|
||||
MainWindow::notifyConfigChanged()
|
||||
{
|
||||
// re-read Zones in case it changed
|
||||
QFile zonesFile(home.absolutePath() + "/power.zones");
|
||||
if (zonesFile.exists()) {
|
||||
if (!zones_->read(zonesFile)) {
|
||||
QMessageBox::critical(this, tr("Zones File Error"),
|
||||
zones_->errorString());
|
||||
}
|
||||
else if (! zones_->warningString().isEmpty())
|
||||
QMessageBox::warning(this, tr("Reading Zones File"), zones_->warningString());
|
||||
}
|
||||
|
||||
// now tell everyone else
|
||||
configChanged();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user