src/EditProductTab11.cpp

changeset 332
146874d7bb47
parent 298
180c77a81e15
child 397
877420a13815
--- a/src/EditProductTab11.cpp	Sat Jul 02 15:45:01 2022 +0200
+++ b/src/EditProductTab11.cpp	Sun Jul 03 13:12:22 2022 +0200
@@ -583,79 +583,6 @@
 
 void EditProduct::carb_log_button()
 {
-    QSqlQuery query;
-    double timestamp;
-
-    QDialog* dialog = new QDialog(this);
-    dialog->resize(1024, 600);
-    dialog->setWindowTitle(tr("Carbonation log"));
-    dialog->setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint);
-
-    QDialogButtonBox *buttonBox = new QDialogButtonBox(dialog);
-    buttonBox->setObjectName(QString::fromUtf8("buttonBox"));
-    buttonBox->setGeometry(QRect(40, 565, 944, 36));
-    buttonBox->setLayoutDirection(Qt::LeftToRight);
-    buttonBox->setOrientation(Qt::Horizontal);
-    buttonBox->setStandardButtons(QDialogButtonBox::Ok);
-    buttonBox->setCenterButtons(true);
-
-    QSplineSeries *temperature = new QSplineSeries();
-    QSplineSeries *pressure = new QSplineSeries();
-
-    query.prepare("SELECT * FROM log_co2pressure WHERE code=:code ORDER BY datetime");
-    query.bindValue(":code", product->code);
-    query.exec();
-    while (query.next()) {
-        timestamp = query.value("datetime").toDateTime().toSecsSinceEpoch() * 1000;
-        temperature->append(timestamp, query.value("temperature").toDouble());
-        pressure->append(timestamp, query.value("pressure").toDouble());
-    }
-
-    temperature->setName(tr("Temperature °C"));
-    temperature->setColor(QColorConstants::Svg::red);
-    pressure->setName(tr("Pressure bar"));
-    QPen pen(QColorConstants::Svg::navy);
-    pen.setWidth(3);
-    pressure->setPen(pen);
-
-    QChart *chart = new QChart();
-    chart->setTitle(QString("%1 \"%2\"").arg(product->code).arg(product->name));
-    chart->addSeries(temperature);
-    chart->addSeries(pressure);
-
-    QDateTimeAxis *axisX = new QDateTimeAxis;
-    axisX->setTickCount(10);
-    axisX->setFormat("dd MMM");
-    axisX->setTitleText(tr("Date"));
-    axisX->setLabelsFont(QFont("Helvetica", 8, QFont::Normal));
-    chart->addAxis(axisX, Qt::AlignBottom);
-    temperature->attachAxis(axisX);
-    pressure->attachAxis(axisX);
-
-    QValueAxis *axisYT = new QValueAxis;
-    axisYT->setTickCount(10);
-    axisYT->setLabelFormat("%.1f");
-    axisYT->setTitleText(tr("Temp °C"));
-    axisYT->setLabelsFont(QFont("Helvetica", 8, QFont::Normal));
-    chart->addAxis(axisYT, Qt::AlignRight);
-    temperature->attachAxis(axisYT);
-
-    QValueAxis *axisYP = new QValueAxis;
-    axisYP->setTickCount(10);
-    axisYP->setLabelFormat("%.1f");
-    axisYP->setTitleText(tr("Bar"));
-    axisYP->setLabelsFont(QFont("Helvetica", 8, QFont::Normal));
-    chart->addAxis(axisYP, Qt::AlignLeft);
-    pressure->attachAxis(axisYP);
-
-    QChartView *chartView = new QChartView(chart);
-    chartView->setRenderHint(QPainter::Antialiasing);
-    dialog->setLayout(new QVBoxLayout);
-    dialog->layout()->addWidget(chartView);
-    dialog->layout()->addWidget(buttonBox);
-
-    connect(buttonBox, SIGNAL(accepted()), dialog, SLOT(accept()));
-    dialog->setModal(true);
-    dialog->exec();
+    ChartCarbonate dialog(product->code, product->name, this);
 }
 

mercurial