src/DetailCO2meter.cpp

changeset 491
76f3a96e82b5
parent 444
4f626d0bb4d4
child 492
c3a781b4d35b
equal deleted inserted replaced
490:b67fb2e5bb41 491:76f3a96e82b5
53 while (query.next()) { 53 while (query.next()) {
54 ui->codePick->addItem(query.value("code").toString()+" - "+query.value("name").toString()); 54 ui->codePick->addItem(query.value("code").toString()+" - "+query.value("name").toString());
55 } 55 }
56 56
57 connect(ui->codePick, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &DetailCO2meter::code_changed); 57 connect(ui->codePick, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &DetailCO2meter::code_changed);
58 connect(ui->logButton, SIGNAL(clicked()), this, SLOT(on_ChartButton_clicked()));
59 connect(parent, SIGNAL(updateCO2meter(QString)), this, SLOT(refreshCO2meter(QString))); 58 connect(parent, SIGNAL(updateCO2meter(QString)), this, SLOT(refreshCO2meter(QString)));
60 emit refreshTable(); 59 emit refreshTable();
61 } 60 }
62 61
63 62
64 void DetailCO2meter::refreshTable() 63 void DetailCO2meter::refreshTable()
65 { 64 {
66 QSqlQuery query, query2; 65 QSqlQuery query, query2;
67 QString sql = ""; 66 QString sql = "";
68 67
69 qDebug() << "refreshTable co2meter rec:" << this->recno; 68 // qDebug() << "refreshTable co2meter rec:" << this->recno;
70 69
71 query.prepare("SELECT * FROM mon_co2meters WHERE record = :recno"); 70 query.prepare("SELECT * FROM mon_co2meters WHERE record = :recno");
72 query.bindValue(":recno", this->recno); 71 query.bindValue(":recno", this->recno);
73 query.exec(); 72 query.exec();
74 if (query.next()) { 73 if (query.next()) {
106 ui->maxVol->setValue(query2.value("st_carb_max").toDouble()); 105 ui->maxVol->setValue(query2.value("st_carb_max").toDouble());
107 ui->thisVol->setValue(query2.value("bottle_carbonation").toDouble()); 106 ui->thisVol->setValue(query2.value("bottle_carbonation").toDouble());
108 ui->minBar->setValue(barmin); 107 ui->minBar->setValue(barmin);
109 ui->maxBar->setValue(barmax); 108 ui->maxBar->setValue(barmax);
110 ui->thisBar->setValue(barthis); 109 ui->thisBar->setValue(barthis);
111 qDebug() << " beerdata" << TSec << carbtemp << barmin << barmax << barthis; 110 // qDebug() << " beerdata" << TSec << carbtemp << barmin << barmax << barthis;
112 111
113 ui->barMeter->setNominal(barmin); 112 ui->barMeter->setNominal(barmin);
114 ui->barMeter->setCritical(barmax); 113 ui->barMeter->setCritical(barmax);
115 } 114 }
116 115
116 bool alarm = (query.value("alarm").toInt() != 0) ? true:false;
117 bool online = (query.value("online").toInt() != 0) ? true:false;
118 bool mode = (query.value("mode").toString() == "ON") ? true:false;
119
117 ui->uuidEdit->setText(_uuid); 120 ui->uuidEdit->setText(_uuid);
118 ui->systemEdit->setText(_node+"/"+_alias); 121 ui->systemEdit->setText(_node+"/"+_alias);
119 ui->codePick->setItemText(0, _alias.toUpper()+" - "+_alias); 122 ui->codePick->setItemText(0, _alias.toUpper()+" - "+_alias);
120 123 ui->alarmLED->setChecked(alarm);
121 if (query.value("online").toInt()) { 124
125 if (online) {
122 ui->statusEdit->setText(tr("Online")); 126 ui->statusEdit->setText(tr("Online"));
127 ui->statusEdit->setStyleSheet("");
123 ui->codeEdit->setText(_beercode+" - "+_beername); 128 ui->codeEdit->setText(_beercode+" - "+_beername);
124 ui->modeEdit->setText(query.value("mode").toString()); 129 ui->modeEdit->setText(query.value("mode").toString());
125 ui->modeEdit->show(); 130 ui->modeEdit->show();
126 if (query.value("mode").toString() == "OFF") { 131 ui->powerLED->setChecked(mode);
127 ui->powerLED->setChecked(false); 132 if (mode)
133 ui->codePick->hide();
134 else
128 ui->codePick->show(); 135 ui->codePick->show();
136
137 if (query.value("temperature_address").toString().length() == 16) {
138 ui->thermoBox->show();
139 ui->logButton->show();
140 if (! alarm && query.value("temperature_state").toString() == "OK") {
141 ui->thermoMeter->setValue(query.value("temperature").toDouble());
142 } else {
143 ui->thermoMeter->setValue(NAN);
144 }
145 if (! alarm && query.value("pressure_state").toString() == "OK") {
146 ui->barMeter->setValue(query.value("pressure_bar").toDouble());
147 } else {
148 ui->barMeter->setValue(NAN);
149 }
129 } else { 150 } else {
130 ui->powerLED->setChecked(true); 151 ui->thermoBox->hide();
131 ui->codePick->hide(); 152 ui->logButton->hide();
132 } 153 }
133 ui->alarmLED->setChecked((query.value("alarm").toInt() != 0) ? true:false);
134
135 ui->thermoBox->show();
136 if (query.value("temperature_state").toString() == "OK") {
137 ui->thermoMeter->setValue(query.value("temperature").toDouble());
138 }
139 if (query.value("pressure_state").toString() == "OK") {
140 ui->barMeter->setValue(query.value("pressure_bar").toDouble());
141 }
142 154
143 } else { 155 } else {
144 /* Offline */ 156 /* Offline */
145 ui->statusEdit->setText(tr("Offline")); 157 ui->statusEdit->setText(tr("Offline"));
158 ui->statusEdit->setStyleSheet("background-color: red");
146 ui->powerLED->setChecked(false); 159 ui->powerLED->setChecked(false);
147 ui->alarmLED->setChecked(true); 160 ui->alarmLED->setChecked(true);
148 ui->codePick->hide(); 161 ui->codePick->hide();
149 ui->modeEdit->hide(); 162 ui->modeEdit->hide();
150 ui->thermoBox->hide(); 163 ui->thermoBox->hide();
172 emit refreshTable(); 185 emit refreshTable();
173 } 186 }
174 } 187 }
175 188
176 189
177 void DetailCO2meter::on_ChartButton_clicked() 190 void DetailCO2meter::on_logButton_clicked()
178 { 191 {
179 ChartCarbonate dialog(_beercode, _beername, this); 192 ChartCarbonate dialog(_beercode, _beername, this);
180 } 193 }
181 194
182 195

mercurial