Monitor CO2 meters: better display and hide of values and widgets. Minor adjustments of the window layout. When offline, the status background will be red.

Fri, 10 Feb 2023 14:06:47 +0100

author
Michiel Broek <mbroek@mbse.eu>
date
Fri, 10 Feb 2023 14:06:47 +0100
changeset 491
76f3a96e82b5
parent 490
b67fb2e5bb41
child 492
c3a781b4d35b

Monitor CO2 meters: better display and hide of values and widgets. Minor adjustments of the window layout. When offline, the status background will be red.

src/DetailCO2meter.cpp file | annotate | diff | comparison | revisions
src/DetailCO2meter.h file | annotate | diff | comparison | revisions
translations/bmsapp_en.ts file | annotate | diff | comparison | revisions
translations/bmsapp_nl.ts file | annotate | diff | comparison | revisions
ui/DetailCO2meter.ui file | annotate | diff | comparison | revisions
--- 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);
 }
--- a/src/DetailCO2meter.h	Fri Feb 10 10:09:37 2023 +0100
+++ b/src/DetailCO2meter.h	Fri Feb 10 14:06:47 2023 +0100
@@ -29,7 +29,7 @@
     void on_quitButton_clicked();
     void refreshTable(void);
     void code_changed(int val);
-    void on_ChartButton_clicked();
+    void on_logButton_clicked();
 
 public slots:
     void refreshCO2meter(QString);
--- a/translations/bmsapp_en.ts	Fri Feb 10 10:09:37 2023 +0100
+++ b/translations/bmsapp_en.ts	Fri Feb 10 14:06:47 2023 +0100
@@ -115,47 +115,47 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ChartFermenter.cpp" line="153"/>
+        <location filename="../src/ChartFermenter.cpp" line="156"/>
         <source>Beer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ChartFermenter.cpp" line="159"/>
+        <location filename="../src/ChartFermenter.cpp" line="162"/>
         <source>Chiller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ChartFermenter.cpp" line="193"/>
+        <location filename="../src/ChartFermenter.cpp" line="196"/>
         <source>Date</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ChartFermenter.cpp" line="208"/>
+        <location filename="../src/ChartFermenter.cpp" line="211"/>
         <source>Temp °C</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ChartFermenter.cpp" line="223"/>
+        <location filename="../src/ChartFermenter.cpp" line="226"/>
         <source>Power %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ChartFermenter.cpp" line="272"/>
+        <location filename="../src/ChartFermenter.cpp" line="275"/>
         <source>Save Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ChartFermenter.cpp" line="272"/>
+        <location filename="../src/ChartFermenter.cpp" line="275"/>
         <source>Image (*.png)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ChartFermenter.cpp" line="274"/>
+        <location filename="../src/ChartFermenter.cpp" line="277"/>
         <source>Save File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ChartFermenter.cpp" line="274"/>
+        <location filename="../src/ChartFermenter.cpp" line="277"/>
         <source>No image file selected.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -354,72 +354,77 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="425"/>
+        <location filename="../ui/DetailCO2meter.ui" line="428"/>
         <source>The minimum calculated pressure in Bar for this beerstyle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="459"/>
+        <location filename="../ui/DetailCO2meter.ui" line="462"/>
         <source>Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="475"/>
+        <location filename="../ui/DetailCO2meter.ui" line="478"/>
         <source>The maximum volumes CO2 for this beerstyle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="509"/>
+        <location filename="../ui/DetailCO2meter.ui" line="512"/>
         <source>Vol CO2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="525"/>
+        <location filename="../ui/DetailCO2meter.ui" line="528"/>
         <source>Maximum:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="541"/>
+        <location filename="../ui/DetailCO2meter.ui" line="544"/>
         <source>The minimum volumes CO2 for this beerstyle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="575"/>
+        <location filename="../ui/DetailCO2meter.ui" line="578"/>
         <source>The maximum calculated pressure in Bar for this beerstyle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="609"/>
+        <location filename="../ui/DetailCO2meter.ui" line="612"/>
         <source>Minimum:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="632"/>
+        <location filename="../ui/DetailCO2meter.ui" line="635"/>
         <source>Style limits</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="648"/>
+        <location filename="../ui/DetailCO2meter.ui" line="651"/>
         <source>The expected calculated pressure in Bar for this beer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="682"/>
+        <location filename="../ui/DetailCO2meter.ui" line="685"/>
         <source>This beer:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="698"/>
+        <location filename="../ui/DetailCO2meter.ui" line="701"/>
         <source>The desired volumes CO2 for this beer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="748"/>
+        <location filename="../ui/DetailCO2meter.ui" line="742"/>
+        <source>Expected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../ui/DetailCO2meter.ui" line="774"/>
         <source>Quit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="765"/>
+        <location filename="../ui/DetailCO2meter.ui" line="791"/>
         <source>Log</source>
         <translation type="unfinished"></translation>
     </message>
@@ -429,12 +434,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/DetailCO2meter.cpp" line="122"/>
+        <location filename="../src/DetailCO2meter.cpp" line="126"/>
         <source>Online</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/DetailCO2meter.cpp" line="145"/>
+        <location filename="../src/DetailCO2meter.cpp" line="157"/>
         <source>Offline</source>
         <translation type="unfinished"></translation>
     </message>
--- a/translations/bmsapp_nl.ts	Fri Feb 10 10:09:37 2023 +0100
+++ b/translations/bmsapp_nl.ts	Fri Feb 10 14:06:47 2023 +0100
@@ -145,47 +145,47 @@
         <translation>Lucht</translation>
     </message>
     <message>
-        <location filename="../src/ChartFermenter.cpp" line="153"/>
+        <location filename="../src/ChartFermenter.cpp" line="156"/>
         <source>Beer</source>
         <translation>Bier</translation>
     </message>
     <message>
-        <location filename="../src/ChartFermenter.cpp" line="159"/>
+        <location filename="../src/ChartFermenter.cpp" line="162"/>
         <source>Chiller</source>
         <translation>Koeler</translation>
     </message>
     <message>
-        <location filename="../src/ChartFermenter.cpp" line="193"/>
+        <location filename="../src/ChartFermenter.cpp" line="196"/>
         <source>Date</source>
         <translation>Datum</translation>
     </message>
     <message>
-        <location filename="../src/ChartFermenter.cpp" line="208"/>
+        <location filename="../src/ChartFermenter.cpp" line="211"/>
         <source>Temp °C</source>
         <translation>Temp °C</translation>
     </message>
     <message>
-        <location filename="../src/ChartFermenter.cpp" line="223"/>
+        <location filename="../src/ChartFermenter.cpp" line="226"/>
         <source>Power %</source>
         <translation>Power %</translation>
     </message>
     <message>
-        <location filename="../src/ChartFermenter.cpp" line="272"/>
+        <location filename="../src/ChartFermenter.cpp" line="275"/>
         <source>Save Image</source>
         <translation>Opslaan plaatje</translation>
     </message>
     <message>
-        <location filename="../src/ChartFermenter.cpp" line="272"/>
+        <location filename="../src/ChartFermenter.cpp" line="275"/>
         <source>Image (*.png)</source>
         <translation>Plaatje (*.png)</translation>
     </message>
     <message>
-        <location filename="../src/ChartFermenter.cpp" line="274"/>
+        <location filename="../src/ChartFermenter.cpp" line="277"/>
         <source>Save File</source>
         <translation>Bestand opslaan</translation>
     </message>
     <message>
-        <location filename="../src/ChartFermenter.cpp" line="274"/>
+        <location filename="../src/ChartFermenter.cpp" line="277"/>
         <source>No image file selected.</source>
         <translation>Geen plaatjes bestand gekozen.</translation>
     </message>
@@ -403,61 +403,66 @@
         <translation>Toont de temperatuur</translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="425"/>
+        <location filename="../ui/DetailCO2meter.ui" line="428"/>
         <source>The minimum calculated pressure in Bar for this beerstyle</source>
         <translation>De minimum berekende druk in Bar voor deze bierstijl</translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="459"/>
+        <location filename="../ui/DetailCO2meter.ui" line="462"/>
         <source>Bar</source>
         <translation>Bar</translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="475"/>
+        <location filename="../ui/DetailCO2meter.ui" line="478"/>
         <source>The maximum volumes CO2 for this beerstyle</source>
         <translation>De maximum volumes CO2 voor deze bierstijl</translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="509"/>
+        <location filename="../ui/DetailCO2meter.ui" line="512"/>
         <source>Vol CO2</source>
         <translation>Vol CO2</translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="525"/>
+        <location filename="../ui/DetailCO2meter.ui" line="528"/>
         <source>Maximum:</source>
         <translation>Maximum:</translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="541"/>
+        <location filename="../ui/DetailCO2meter.ui" line="544"/>
         <source>The minimum volumes CO2 for this beerstyle</source>
         <translation>De minimum volumes CO2 voor deze bierstijl</translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="575"/>
+        <location filename="../ui/DetailCO2meter.ui" line="578"/>
         <source>The maximum calculated pressure in Bar for this beerstyle</source>
         <translation>De maximum berekende druk in Bar voor deze bierstijl</translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="609"/>
+        <location filename="../ui/DetailCO2meter.ui" line="612"/>
         <source>Minimum:</source>
         <translation>Minimum:</translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="648"/>
+        <location filename="../ui/DetailCO2meter.ui" line="651"/>
         <source>The expected calculated pressure in Bar for this beer</source>
         <translation>De berekende verwachte druk in Bar voor dit bier</translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="682"/>
+        <location filename="../ui/DetailCO2meter.ui" line="685"/>
         <source>This beer:</source>
         <translation>Dit bier:</translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="698"/>
+        <location filename="../ui/DetailCO2meter.ui" line="701"/>
         <source>The desired volumes CO2 for this beer</source>
         <translation>De gewenste volumes CO2 voor dit bier</translation>
     </message>
     <message>
+        <location filename="../ui/DetailCO2meter.ui" line="742"/>
+        <source>Expected</source>
+        <translation type="unfinished">Verwacht</translation>
+    </message>
+    <message>
         <source>Maximum</source>
         <translation type="vanished">Maximum</translation>
     </message>
@@ -466,7 +471,7 @@
         <translation type="vanished">Minimum</translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="632"/>
+        <location filename="../ui/DetailCO2meter.ui" line="635"/>
         <source>Style limits</source>
         <translation>Stijl limieten</translation>
     </message>
@@ -487,12 +492,12 @@
         <translation type="obsolete">Toont de lucht temperatuur</translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="748"/>
+        <location filename="../ui/DetailCO2meter.ui" line="774"/>
         <source>Quit</source>
         <translation>Terug</translation>
     </message>
     <message>
-        <location filename="../ui/DetailCO2meter.ui" line="765"/>
+        <location filename="../ui/DetailCO2meter.ui" line="791"/>
         <source>Log</source>
         <translation>Log</translation>
     </message>
@@ -502,12 +507,12 @@
         <translation>BMSapp - Details carbonatie</translation>
     </message>
     <message>
-        <location filename="../src/DetailCO2meter.cpp" line="122"/>
+        <location filename="../src/DetailCO2meter.cpp" line="126"/>
         <source>Online</source>
         <translation>Online</translation>
     </message>
     <message>
-        <location filename="../src/DetailCO2meter.cpp" line="145"/>
+        <location filename="../src/DetailCO2meter.cpp" line="157"/>
         <source>Offline</source>
         <translation>Offline</translation>
     </message>
--- a/ui/DetailCO2meter.ui	Fri Feb 10 10:09:37 2023 +0100
+++ b/ui/DetailCO2meter.ui	Fri Feb 10 14:06:47 2023 +0100
@@ -22,7 +22,7 @@
         <x>740</x>
         <y>0</y>
         <width>261</width>
-        <height>231</height>
+        <height>151</height>
        </rect>
       </property>
       <widget class="QLabel" name="powerLabel">
@@ -109,7 +109,7 @@
         <x>0</x>
         <y>0</y>
         <width>721</width>
-        <height>231</height>
+        <height>201</height>
        </rect>
       </property>
       <widget class="QLabel" name="uuidLabel">
@@ -310,16 +310,16 @@
       <property name="geometry">
        <rect>
         <x>0</x>
-        <y>240</y>
+        <y>210</y>
         <width>721</width>
-        <height>291</height>
+        <height>321</height>
        </rect>
       </property>
       <widget class="QLabel" name="thermoLabel">
        <property name="geometry">
         <rect>
          <x>140</x>
-         <y>260</y>
+         <y>280</y>
          <width>111</width>
          <height>20</height>
         </rect>
@@ -335,7 +335,7 @@
        <property name="geometry">
         <rect>
          <x>470</x>
-         <y>260</y>
+         <y>280</y>
          <width>111</width>
          <height>20</height>
         </rect>
@@ -351,7 +351,7 @@
        <property name="geometry">
         <rect>
          <x>400</x>
-         <y>10</y>
+         <y>20</y>
          <width>251</width>
          <height>251</height>
         </rect>
@@ -377,7 +377,7 @@
        <property name="geometry">
         <rect>
          <x>70</x>
-         <y>10</y>
+         <y>20</y>
          <width>251</width>
          <height>251</height>
         </rect>
@@ -396,6 +396,9 @@
        <property name="digitFont">
         <font>
          <pointsize>14</pointsize>
+         <italic>false</italic>
+         <strikeout>false</strikeout>
+         <kerning>true</kerning>
         </font>
        </property>
        <property name="digitOffset">
@@ -407,9 +410,9 @@
       <property name="geometry">
        <rect>
         <x>740</x>
-        <y>240</y>
+        <y>160</y>
         <width>261</width>
-        <height>181</height>
+        <height>251</height>
        </rect>
       </property>
       <widget class="QDoubleSpinBox" name="minBar">
@@ -623,7 +626,7 @@
        </property>
        <property name="font">
         <font>
-         <pointsize>12</pointsize>
+         <pointsize>11</pointsize>
          <weight>75</weight>
          <bold>true</bold>
         </font>
@@ -639,7 +642,7 @@
        <property name="geometry">
         <rect>
          <x>180</x>
-         <y>140</y>
+         <y>200</y>
          <width>71</width>
          <height>24</height>
         </rect>
@@ -673,7 +676,7 @@
        <property name="geometry">
         <rect>
          <x>10</x>
-         <y>140</y>
+         <y>200</y>
          <width>81</width>
          <height>20</height>
         </rect>
@@ -689,7 +692,7 @@
        <property name="geometry">
         <rect>
          <x>100</x>
-         <y>140</y>
+         <y>200</y>
          <width>71</width>
          <height>24</height>
         </rect>
@@ -719,21 +722,44 @@
         <double>1.000000000000000</double>
        </property>
       </widget>
+      <widget class="QLabel" name="expectLabel">
+       <property name="geometry">
+        <rect>
+         <x>10</x>
+         <y>160</y>
+         <width>241</width>
+         <height>25</height>
+        </rect>
+       </property>
+       <property name="font">
+        <font>
+         <pointsize>11</pointsize>
+         <weight>75</weight>
+         <bold>true</bold>
+        </font>
+       </property>
+       <property name="text">
+        <string>Expected</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignCenter</set>
+       </property>
+      </widget>
      </widget>
      <widget class="QGroupBox" name="buttonBox">
       <property name="geometry">
        <rect>
         <x>740</x>
-        <y>430</y>
+        <y>420</y>
         <width>261</width>
-        <height>101</height>
+        <height>111</height>
        </rect>
       </property>
       <widget class="QPushButton" name="quitButton">
        <property name="geometry">
         <rect>
          <x>90</x>
-         <y>60</y>
+         <y>70</y>
          <width>80</width>
          <height>23</height>
         </rect>

mercurial