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 { |