--- a/src/ChartFermenter.cpp Mon Nov 07 15:02:16 2022 +0100 +++ b/src/ChartFermenter.cpp Fri Nov 11 15:04:23 2022 +0100 @@ -44,11 +44,13 @@ buttonBox->setStandardButtons(QDialogButtonBox::Ok); buttonBox->addButton(saveButton,QDialogButtonBox::ActionRole); - QSplineSeries *pv_air = new QSplineSeries(); - QSplineSeries *pv_beer = new QSplineSeries(); - QSplineSeries *pv_chiller = new QSplineSeries(); - QSplineSeries *pwr_cool = new QSplineSeries(); - QSplineSeries *pwr_heat = new QSplineSeries(); + QLineSeries *pv_air = new QLineSeries(); + QLineSeries *pv_beer = new QLineSeries(); + QLineSeries *pv_chiller = new QLineSeries(); + QLineSeries *pwr_cool1 = new QLineSeries(); + QLineSeries *pwr_cool0 = new QLineSeries(); + QLineSeries *pwr_heat1 = new QLineSeries(); // Top side of area + QLineSeries *pwr_heat0 = new QLineSeries(); // Bottom side of area query.prepare("SELECT * FROM log_fermenter WHERE code=:code ORDER BY datetime"); query.bindValue(":code", code); @@ -59,34 +61,38 @@ pv_beer->append(timestamp, query.value("temp_beer").toDouble()); if (query.value("temp_chiller").toDouble() > 0) pv_chiller->append(timestamp, query.value("temp_chiller").toDouble()); - pwr_cool->append(timestamp, query.value("cooler_power").toDouble()); - pwr_heat->append(timestamp, query.value("heater_power").toDouble()); + pwr_cool0->append(timestamp, 0); + pwr_cool1->append(timestamp, query.value("cooler_power").toInt()); + pwr_heat0->append(timestamp, 0); + pwr_heat1->append(timestamp, query.value("heater_power").toInt()); } pv_air->setName(tr("Air")); pv_air->setColor(QColorConstants::Svg::lightgreen); pv_beer->setName(tr("Beer")); QPen pen(QColorConstants::Svg::navy); - pen.setWidth(3); + pen.setWidth(2); pv_beer->setPen(pen); pv_chiller->setName(tr("Chiller")); pv_chiller->setColor(QColorConstants::Svg::lightsalmon); pv_chiller->setOpacity(0.75); + QAreaSeries *pwr_cool = new QAreaSeries(pwr_cool0, pwr_cool1); pwr_cool->setName("Cool %"); - pwr_cool->setOpacity(0.25); + pwr_cool->setOpacity(0.50); pwr_cool->setColor(QColorConstants::Blue); + QAreaSeries *pwr_heat = new QAreaSeries(pwr_heat0, pwr_heat1); pwr_heat->setName("Heat %"); - pwr_heat->setOpacity(0.25); + pwr_heat->setOpacity(0.50); pwr_heat->setColor(QColorConstants::Red); chart = new QChart(); chart->setTitle(QString("%1 \"%2\"").arg(code).arg(name)); - chart->addSeries(pwr_cool); + chart->addSeries(pwr_cool); // Order is important, first drawn is lowest layer. chart->addSeries(pwr_heat); chart->addSeries(pv_chiller); chart->addSeries(pv_air); - chart->addSeries(pv_beer); + chart->addSeries(pv_beer); // Top layer QDateTimeAxis *axisX = new QDateTimeAxis; axisX->setTickCount(10); @@ -119,9 +125,9 @@ pwr_cool->attachAxis(axisYR); pwr_heat->attachAxis(axisYR); - connect(pv_air, &QSplineSeries::hovered, this, &ChartFermenter::tooltip); - connect(pv_beer, &QSplineSeries::hovered, this, &ChartFermenter::tooltip); - connect(pv_chiller, &QSplineSeries::hovered, this, &ChartFermenter::tooltip); + connect(pv_air, &QLineSeries::hovered, this, &ChartFermenter::tooltip); + connect(pv_beer, &QLineSeries::hovered, this, &ChartFermenter::tooltip); + connect(pv_chiller, &QLineSeries::hovered, this, &ChartFermenter::tooltip); chartView = new QChartView(chart); chartView->setRenderHint(QPainter::Antialiasing);