src/DetailCO2meter.cpp

changeset 491
76f3a96e82b5
parent 444
4f626d0bb4d4
child 492
c3a781b4d35b
--- a/src/DetailCO2meter.cpp	Fri Feb 10 10:09:37 2023 +0100
+++ b/src/DetailCO2meter.cpp	Fri Feb 10 14:06:47 2023 +0100
@@ -55,7 +55,6 @@
     }
 
     connect(ui->codePick, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &DetailCO2meter::code_changed);
-    connect(ui->logButton, SIGNAL(clicked()), this, SLOT(on_ChartButton_clicked()));
     connect(parent, SIGNAL(updateCO2meter(QString)), this, SLOT(refreshCO2meter(QString)));
     emit refreshTable();
 }
@@ -66,7 +65,7 @@
     QSqlQuery query, query2;
     QString sql = "";
 
-    qDebug() << "refreshTable co2meter rec:" << this->recno;
+//    qDebug() << "refreshTable co2meter rec:" << this->recno;
 
     query.prepare("SELECT * FROM mon_co2meters WHERE record = :recno");
     query.bindValue(":recno", this->recno);
@@ -108,41 +107,55 @@
 	    ui->minBar->setValue(barmin);
 	    ui->maxBar->setValue(barmax);
 	    ui->thisBar->setValue(barthis);
-	    qDebug() << " beerdata" << TSec << carbtemp << barmin << barmax << barthis;
+//	    qDebug() << " beerdata" << TSec << carbtemp << barmin << barmax << barthis;
 
 	    ui->barMeter->setNominal(barmin);
     	    ui->barMeter->setCritical(barmax);
 	}
 
+	bool alarm  = (query.value("alarm").toInt() != 0) ? true:false;
+	bool online = (query.value("online").toInt() != 0) ? true:false;
+	bool mode   = (query.value("mode").toString() == "ON") ? true:false;
+
 	ui->uuidEdit->setText(_uuid);
 	ui->systemEdit->setText(_node+"/"+_alias);
 	ui->codePick->setItemText(0, _alias.toUpper()+" - "+_alias);
+	ui->alarmLED->setChecked(alarm);
 
-	if (query.value("online").toInt()) {
+	if (online) {
 	    ui->statusEdit->setText(tr("Online"));
+	    ui->statusEdit->setStyleSheet("");
             ui->codeEdit->setText(_beercode+" - "+_beername);
 	    ui->modeEdit->setText(query.value("mode").toString());
 	    ui->modeEdit->show();
-	    if (query.value("mode").toString() == "OFF") {
-	    	ui->powerLED->setChecked(false);
+	    ui->powerLED->setChecked(mode);
+	    if (mode)
+		ui->codePick->hide();
+	    else
 		ui->codePick->show();
+
+	    if (query.value("temperature_address").toString().length() == 16) {
+	    	ui->thermoBox->show();
+		ui->logButton->show();
+		if (! alarm && query.value("temperature_state").toString() == "OK") {
+	    	    	ui->thermoMeter->setValue(query.value("temperature").toDouble());
+	    	} else {
+			ui->thermoMeter->setValue(NAN);
+		}
+	    	if (! alarm && query.value("pressure_state").toString() == "OK") {
+                    	ui->barMeter->setValue(query.value("pressure_bar").toDouble());
+            	} else {
+			ui->barMeter->setValue(NAN);
+		}
 	    } else {
-	    	ui->powerLED->setChecked(true);
-		ui->codePick->hide();
+		ui->thermoBox->hide();
+		ui->logButton->hide();
 	    }
-	    ui->alarmLED->setChecked((query.value("alarm").toInt() != 0) ? true:false);
-
-	    ui->thermoBox->show();
-	    if (query.value("temperature_state").toString() == "OK") {
-	    	ui->thermoMeter->setValue(query.value("temperature").toDouble());
-	    }
-	    if (query.value("pressure_state").toString() == "OK") {
-                ui->barMeter->setValue(query.value("pressure_bar").toDouble());
-            }
 
 	} else {
 	    /* Offline */
 	    ui->statusEdit->setText(tr("Offline"));
+	    ui->statusEdit->setStyleSheet("background-color: red");
 	    ui->powerLED->setChecked(false);
 	    ui->alarmLED->setChecked(true);
 	    ui->codePick->hide();
@@ -174,7 +187,7 @@
 }
 
 
-void DetailCO2meter::on_ChartButton_clicked()
+void DetailCO2meter::on_logButton_clicked()
 {
     ChartCarbonate dialog(_beercode, _beername, this);
 }

mercurial