diff -r f44bb52f760f -r ee2c8b29f389 src/MonCO2meters.cpp --- a/src/MonCO2meters.cpp Fri Jul 01 22:57:31 2022 +0200 +++ b/src/MonCO2meters.cpp Sat Jul 02 11:23:13 2022 +0200 @@ -15,7 +15,7 @@ * along with this program. If not, see . */ #include "MonCO2meters.h" -#include "EditSupplier.h" +#include "DetailCO2meter.h" #include "MainWindow.h" #include "config.h" @@ -73,16 +73,17 @@ qDebug() << "MonCO2meters reload"; QSqlQuery query("SELECT record,node,alias,online,mode,beercode,beername,temperature,pressure_bar FROM mon_co2meters ORDER BY node,alias"); - const QStringList labels({tr("Node"), tr("Unit"), tr("Status"), tr("Beer"), tr("Temperature"), tr("Pressure"), tr("Details")}); + const QStringList labels({tr("Node"), tr("Unit"), tr("Status"), tr("Mode"), tr("Beer"), tr("Temperature"), tr("Pressure"), tr("Details")}); - this->tableCO2meters->setColumnCount(7); + this->tableCO2meters->setColumnCount(8); this->tableCO2meters->setColumnWidth(0, 150); /* Node */ this->tableCO2meters->setColumnWidth(1, 100); /* Unit */ - this->tableCO2meters->setColumnWidth(2, 100); /* Status */ - this->tableCO2meters->setColumnWidth(3, 390); /* Beer */ - this->tableCO2meters->setColumnWidth(4, 100); /* Temperature */ - this->tableCO2meters->setColumnWidth(5, 100); /* Pressure */ - this->tableCO2meters->setColumnWidth(6, 90); /* Edit button */ + this->tableCO2meters->setColumnWidth(2, 80); /* Status */ + this->tableCO2meters->setColumnWidth(3, 80); /* Mode */ + this->tableCO2meters->setColumnWidth(4, 350); /* Beer */ + this->tableCO2meters->setColumnWidth(5, 90); /* Temperature */ + this->tableCO2meters->setColumnWidth(6, 90); /* Pressure */ + this->tableCO2meters->setColumnWidth(7, 90); /* Edit button */ this->tableCO2meters->setRowCount(query.size()); this->tableCO2meters->setHorizontalHeaderLabels(labels); this->tableCO2meters->verticalHeader()->hide(); @@ -102,23 +103,23 @@ item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter); this->tableCO2meters->setItem(i, 2, item); - if (query.value("mode").toString() == "ON") { - item = new QTableWidgetItem(query.value("beercode").toString()+" - "+query.value("beername").toString()); - this->tableCO2meters->setItem(i, 3, item); - } else { - this->tableCO2meters->setItem(i, 3, new QTableWidgetItem(QString(""))); - } + item = new QTableWidgetItem(query.value("mode").toString()); + item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter); + this->tableCO2meters->setItem(i, 3, item); + + item = new QTableWidgetItem(query.value("beercode").toString()+" - "+query.value("beername").toString()); + this->tableCO2meters->setItem(i, 4, item); if (query.value("online").toInt()) { item = new QTableWidgetItem(QString("%1°C").arg(query.value("temperature").toDouble(), 4, 'f', 3, '0')); item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter); - this->tableCO2meters->setItem(i, 4, item); + this->tableCO2meters->setItem(i, 5, item); item = new QTableWidgetItem(QString("%1 bar").arg(query.value("pressure_bar").toDouble(), 3, 'f', 2, '0')); item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter); - this->tableCO2meters->setItem(i, 5, item); + this->tableCO2meters->setItem(i, 6, item); } else { - this->tableCO2meters->setItem(i, 4, new QTableWidgetItem(QString(""))); this->tableCO2meters->setItem(i, 5, new QTableWidgetItem(QString(""))); + this->tableCO2meters->setItem(i, 6, new QTableWidgetItem(QString(""))); } /* Add the Edit button */ @@ -131,7 +132,7 @@ pLayout->addWidget(btn_edit); pLayout->setContentsMargins(5, 0, 5, 0); pWidget->setLayout(pLayout); - this->tableCO2meters->setCellWidget(i, 6, pWidget); + this->tableCO2meters->setCellWidget(i, 7, pWidget); query.next(); } emit setStatus(QString(tr("Total items: %1")).arg(query.size())); @@ -145,16 +146,15 @@ { qDebug() << "refreshCO2meters" << data; emit refreshTable(); + emit updateCO2meter(data); } void MonCO2meters::edit(int recno) { -// EditSupplier dialog(recno, this); - /* Signal from editor if a refresh is needed */ -// connect(&dialog, SIGNAL(entry_changed()), this, SLOT(refreshTable())); -// dialog.setModal(true); -// dialog.exec(); + DetailCO2meter dialog(recno, this); + dialog.setModal(true); + dialog.exec(); }