Overview Zone tile refresh

.. updates when config changes, not just at restart.
This commit is contained in:
Mark Liversedge
2021-08-17 18:24:00 +01:00
parent d7ae5610cf
commit 0d2310e76a
2 changed files with 27 additions and 9 deletions

View File

@@ -606,10 +606,29 @@ ZoneOverviewItem::ZoneOverviewItem(ChartSpace *parent, QString name, RideFile::s
// we have a mid sized font for chart labels etc
chart->setFont(parent->midfont);
configwidget = new OverviewItemConfig(this);
configwidget->hide();
barset = NULL;
barseries = NULL;
barcategoryaxis = NULL;
// setup
configChanged(0);
}
void
ZoneOverviewItem::configChanged(qint32)
{
if (barcategoryaxis) delete barcategoryaxis;
if (barset) delete barset;
if (barseries) delete barseries;
// needs a set of bars
barset = new QBarSet(tr("Time In Zone"), this);
barset->setLabelFont(parent->midfont);
// config changed...
if (series == RideFile::hr) {
barset->setLabelColor(GColor(CHEARTRATE));
barset->setBorderColor(GColor(CHEARTRATE));
@@ -628,6 +647,7 @@ ZoneOverviewItem::ZoneOverviewItem(ChartSpace *parent, QString name, RideFile::s
barset->setBrush(GColor(CSPEED));
}
categories.clear();
//
// HEARTRATE
@@ -702,9 +722,6 @@ ZoneOverviewItem::ZoneOverviewItem(ChartSpace *parent, QString name, RideFile::s
chart->axisY(barseries)->setRange(0,100);
chart->axisY(barseries)->setGridLineVisible(false);
configwidget = new OverviewItemConfig(this);
configwidget->hide();
}
ZoneOverviewItem::~ZoneOverviewItem()

View File

@@ -385,16 +385,17 @@ class ZoneOverviewItem : public ChartSpaceItem
ZoneOverviewItem(ChartSpace *parent, QString name, RideFile::seriestype, bool polarized);
~ZoneOverviewItem();
void itemPaint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *);
void itemGeometryChanged();
void setData(RideItem *item);
void setDateRange(DateRange);
void dragChanged(bool x);
void itemPaint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *) override;
void itemGeometryChanged() override;
void setData(RideItem *item) override;
void setDateRange(DateRange) override;
void dragChanged(bool x) override;
QWidget *config() { return configwidget; }
QWidget *config() override { return configwidget; }
// create and config
static ChartSpaceItem *create(ChartSpace *parent) { return new ZoneOverviewItem(parent, tr("Power Zones"), RideFile::watts, false); }
void configChanged(qint32) override;
RideFile::seriestype series;
bool polarized;