src/MonCO2meters.cpp

changeset 328
ee2c8b29f389
parent 326
6728b4c29cb4
child 443
3c195eb4e7a1
equal deleted inserted replaced
327:f44bb52f760f 328:ee2c8b29f389
13 * 13 *
14 * You should have received a copy of the GNU General Public License 14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */ 16 */
17 #include "MonCO2meters.h" 17 #include "MonCO2meters.h"
18 #include "EditSupplier.h" 18 #include "DetailCO2meter.h"
19 #include "MainWindow.h" 19 #include "MainWindow.h"
20 #include "config.h" 20 #include "config.h"
21 21
22 22
23 23
71 { 71 {
72 QTableWidgetItem *item; 72 QTableWidgetItem *item;
73 73
74 qDebug() << "MonCO2meters reload"; 74 qDebug() << "MonCO2meters reload";
75 QSqlQuery query("SELECT record,node,alias,online,mode,beercode,beername,temperature,pressure_bar FROM mon_co2meters ORDER BY node,alias"); 75 QSqlQuery query("SELECT record,node,alias,online,mode,beercode,beername,temperature,pressure_bar FROM mon_co2meters ORDER BY node,alias");
76 const QStringList labels({tr("Node"), tr("Unit"), tr("Status"), tr("Beer"), tr("Temperature"), tr("Pressure"), tr("Details")}); 76 const QStringList labels({tr("Node"), tr("Unit"), tr("Status"), tr("Mode"), tr("Beer"), tr("Temperature"), tr("Pressure"), tr("Details")});
77 77
78 this->tableCO2meters->setColumnCount(7); 78 this->tableCO2meters->setColumnCount(8);
79 this->tableCO2meters->setColumnWidth(0, 150); /* Node */ 79 this->tableCO2meters->setColumnWidth(0, 150); /* Node */
80 this->tableCO2meters->setColumnWidth(1, 100); /* Unit */ 80 this->tableCO2meters->setColumnWidth(1, 100); /* Unit */
81 this->tableCO2meters->setColumnWidth(2, 100); /* Status */ 81 this->tableCO2meters->setColumnWidth(2, 80); /* Status */
82 this->tableCO2meters->setColumnWidth(3, 390); /* Beer */ 82 this->tableCO2meters->setColumnWidth(3, 80); /* Mode */
83 this->tableCO2meters->setColumnWidth(4, 100); /* Temperature */ 83 this->tableCO2meters->setColumnWidth(4, 350); /* Beer */
84 this->tableCO2meters->setColumnWidth(5, 100); /* Pressure */ 84 this->tableCO2meters->setColumnWidth(5, 90); /* Temperature */
85 this->tableCO2meters->setColumnWidth(6, 90); /* Edit button */ 85 this->tableCO2meters->setColumnWidth(6, 90); /* Pressure */
86 this->tableCO2meters->setColumnWidth(7, 90); /* Edit button */
86 this->tableCO2meters->setRowCount(query.size()); 87 this->tableCO2meters->setRowCount(query.size());
87 this->tableCO2meters->setHorizontalHeaderLabels(labels); 88 this->tableCO2meters->setHorizontalHeaderLabels(labels);
88 this->tableCO2meters->verticalHeader()->hide(); 89 this->tableCO2meters->verticalHeader()->hide();
89 /* Set the widget size to 1054 x 575 in the ui. */ 90 /* Set the widget size to 1054 x 575 in the ui. */
90 91
100 item->setForeground(QBrush(QColor(Qt::red))); 101 item->setForeground(QBrush(QColor(Qt::red)));
101 } 102 }
102 item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter); 103 item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter);
103 this->tableCO2meters->setItem(i, 2, item); 104 this->tableCO2meters->setItem(i, 2, item);
104 105
105 if (query.value("mode").toString() == "ON") { 106 item = new QTableWidgetItem(query.value("mode").toString());
106 item = new QTableWidgetItem(query.value("beercode").toString()+" - "+query.value("beername").toString()); 107 item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter);
107 this->tableCO2meters->setItem(i, 3, item); 108 this->tableCO2meters->setItem(i, 3, item);
108 } else { 109
109 this->tableCO2meters->setItem(i, 3, new QTableWidgetItem(QString(""))); 110 item = new QTableWidgetItem(query.value("beercode").toString()+" - "+query.value("beername").toString());
110 } 111 this->tableCO2meters->setItem(i, 4, item);
111 112
112 if (query.value("online").toInt()) { 113 if (query.value("online").toInt()) {
113 item = new QTableWidgetItem(QString("%1°C").arg(query.value("temperature").toDouble(), 4, 'f', 3, '0')); 114 item = new QTableWidgetItem(QString("%1°C").arg(query.value("temperature").toDouble(), 4, 'f', 3, '0'));
114 item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter); 115 item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter);
115 this->tableCO2meters->setItem(i, 4, item); 116 this->tableCO2meters->setItem(i, 5, item);
116 item = new QTableWidgetItem(QString("%1 bar").arg(query.value("pressure_bar").toDouble(), 3, 'f', 2, '0')); 117 item = new QTableWidgetItem(QString("%1 bar").arg(query.value("pressure_bar").toDouble(), 3, 'f', 2, '0'));
117 item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter); 118 item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter);
118 this->tableCO2meters->setItem(i, 5, item); 119 this->tableCO2meters->setItem(i, 6, item);
119 } else { 120 } else {
120 this->tableCO2meters->setItem(i, 4, new QTableWidgetItem(QString("")));
121 this->tableCO2meters->setItem(i, 5, new QTableWidgetItem(QString(""))); 121 this->tableCO2meters->setItem(i, 5, new QTableWidgetItem(QString("")));
122 this->tableCO2meters->setItem(i, 6, new QTableWidgetItem(QString("")));
122 } 123 }
123 124
124 /* Add the Edit button */ 125 /* Add the Edit button */
125 QWidget* pWidget = new QWidget(); 126 QWidget* pWidget = new QWidget();
126 QPushButton* btn_edit = new QPushButton(); 127 QPushButton* btn_edit = new QPushButton();
129 connect(btn_edit, SIGNAL(clicked()), this, SLOT(on_editButton_clicked())); 130 connect(btn_edit, SIGNAL(clicked()), this, SLOT(on_editButton_clicked()));
130 QHBoxLayout* pLayout = new QHBoxLayout(pWidget); 131 QHBoxLayout* pLayout = new QHBoxLayout(pWidget);
131 pLayout->addWidget(btn_edit); 132 pLayout->addWidget(btn_edit);
132 pLayout->setContentsMargins(5, 0, 5, 0); 133 pLayout->setContentsMargins(5, 0, 5, 0);
133 pWidget->setLayout(pLayout); 134 pWidget->setLayout(pLayout);
134 this->tableCO2meters->setCellWidget(i, 6, pWidget); 135 this->tableCO2meters->setCellWidget(i, 7, pWidget);
135 query.next(); 136 query.next();
136 } 137 }
137 emit setStatus(QString(tr("Total items: %1")).arg(query.size())); 138 emit setStatus(QString(tr("Total items: %1")).arg(query.size()));
138 } 139 }
139 140
143 144
144 void MonCO2meters::refreshCO2meters(QString data) 145 void MonCO2meters::refreshCO2meters(QString data)
145 { 146 {
146 qDebug() << "refreshCO2meters" << data; 147 qDebug() << "refreshCO2meters" << data;
147 emit refreshTable(); 148 emit refreshTable();
149 emit updateCO2meter(data);
148 } 150 }
149 151
150 152
151 void MonCO2meters::edit(int recno) 153 void MonCO2meters::edit(int recno)
152 { 154 {
153 // EditSupplier dialog(recno, this); 155 DetailCO2meter dialog(recno, this);
154 /* Signal from editor if a refresh is needed */ 156 dialog.setModal(true);
155 // connect(&dialog, SIGNAL(entry_changed()), this, SLOT(refreshTable())); 157 dialog.exec();
156 // dialog.setModal(true);
157 // dialog.exec();
158 } 158 }
159 159
160 160
161 void MonCO2meters::on_editButton_clicked() 161 void MonCO2meters::on_editButton_clicked()
162 { 162 {

mercurial