src/DetailFermenter.cpp

Wed, 29 Jun 2022 23:06:38 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Wed, 29 Jun 2022 23:06:38 +0200
changeset 318
ff02aca2b63c
parent 317
f78827503fb0
child 323
d053ffbbf3e9
permissions
-rw-r--r--

Removed LED plugin, now using the one from the AnalogWidgets.

317
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 /**
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 * DetailFermenter.cpp is part of bmsapp.
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 *
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 * bmsapp is free software: you can redistribute it and/or modify
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 * it under the terms of the GNU General Public License as published by
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 * the Free Software Foundation, either version 3 of the License, or
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 * (at your option) any later version.
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 *
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 * bmsapp is distributed in the hope that it will be useful,
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 * GNU General Public License for more details.
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 *
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 * You should have received a copy of the GNU General Public License
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 */
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17 #include "DetailFermenter.h"
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18 #include "../ui/ui_DetailFermenter.h"
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19 #include "MainWindow.h"
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22 DetailFermenter::DetailFermenter(int id, QWidget *parent) : QDialog(parent), ui(new Ui::DetailFermenter)
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23 {
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
24 qDebug() << "DetailFermenter record:" << id;
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
25 ui->setupUi(this);
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26 this->recno = id;
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28 WindowTitle();
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29
318
ff02aca2b63c Removed LED plugin, now using the one from the AnalogWidgets.
Michiel Broek <mbroek@mbse.eu>
parents: 317
diff changeset
30 // srcMode = ['OFF', 'NONE', 'FRIDGE', 'BEER', 'PROFILE'];
ff02aca2b63c Removed LED plugin, now using the one from the AnalogWidgets.
Michiel Broek <mbroek@mbse.eu>
parents: 317
diff changeset
31 // srcStage = ['PRIMARY', 'SECONDARY', 'TERTIARY', 'CARBONATION'];
ff02aca2b63c Removed LED plugin, now using the one from the AnalogWidgets.
Michiel Broek <mbroek@mbse.eu>
parents: 317
diff changeset
32 //
317
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
33 // connect(ui->nameEdit, &QLineEdit::textChanged, this, &DetailFermenter::is_changed);
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
34 // connect(ui->unlimitedEdit, &QCheckBox::stateChanged, this, &DetailFermenter::is_changed);
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
35 // connect(ui->caEdit, &QDoubleSpinBox::textChanged, this, &DetailFermenter::water_changed);
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
36
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
37 emit refreshTable();
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
38 }
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
39
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
40
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
41 void DetailFermenter::refreshTable()
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
42 {
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
43 QSqlQuery query;
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
44
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
45 qDebug() << "refreshTable fermenter" << this->recno;
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
46
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
47 query.prepare("SELECT * FROM mon_fermenters WHERE record = :recno");
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
48 query.bindValue(":recno", this->recno);
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49 query.exec();
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
50 if (query.next()) {
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
51
318
ff02aca2b63c Removed LED plugin, now using the one from the AnalogWidgets.
Michiel Broek <mbroek@mbse.eu>
parents: 317
diff changeset
52 ui->uuidEdit->setText(query.value("uuid").toString());
ff02aca2b63c Removed LED plugin, now using the one from the AnalogWidgets.
Michiel Broek <mbroek@mbse.eu>
parents: 317
diff changeset
53 ui->systemEdit->setText(query.value("node").toString()+"/"+query.value("alias").toString());
ff02aca2b63c Removed LED plugin, now using the one from the AnalogWidgets.
Michiel Broek <mbroek@mbse.eu>
parents: 317
diff changeset
54
317
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
55 if (query.value("online").toInt()) {
318
ff02aca2b63c Removed LED plugin, now using the one from the AnalogWidgets.
Michiel Broek <mbroek@mbse.eu>
parents: 317
diff changeset
56 ui->statusEdit->setText(tr("Online"));
ff02aca2b63c Removed LED plugin, now using the one from the AnalogWidgets.
Michiel Broek <mbroek@mbse.eu>
parents: 317
diff changeset
57 ui->codeEdit->setText(query.value("beercode").toString()+" - "+query.value("beername").toString());
ff02aca2b63c Removed LED plugin, now using the one from the AnalogWidgets.
Michiel Broek <mbroek@mbse.eu>
parents: 317
diff changeset
58
317
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
59 if (query.value("mode").toString() == "OFF") {
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
60 ui->powerLED->setChecked(false);
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
61 // disable dropdowns select beer.
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
62 } else {
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
63 ui->powerLED->setChecked(true);
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
64 // enable beerslect
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
65 }
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
66 ui->alarmLED->setChecked((query.value("alarm").toInt() != 0) ? true:false);
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
67
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
68 if (query.value("air_state").toString() == "OK") {
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
69 ui->airThermo->setValue(query.value("air_temperature").toDouble());
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
70 }
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
71 if (query.value("beer_state").toString() == "OK") {
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
72 ui->beerThermo->setValue(query.value("beer_temperature").toDouble());
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
73 }
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
74
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
75 } else {
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
76 /* Offline */
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
77 ui->powerLED->setChecked(false);
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
78 ui->alarmLED->setChecked(true);
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
79
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
80 }
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
81 }
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
82
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
83 }
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
84
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
85
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
86 DetailFermenter::~DetailFermenter()
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
87 {
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
88 qDebug() << "DetailFermenter done";
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
89 delete ui;
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
90 emit entry_changed();
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
91 }
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
92
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
93
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
94 /*
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
95 * Window header, mark any change with '**'
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
96 */
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
97 void DetailFermenter::WindowTitle()
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
98 {
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
99 QString txt;
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
100
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
101 txt = QString(tr("BMSapp - Edit brewing water %1").arg(this->recno));
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
102 setWindowTitle(txt);
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
103 }
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
104
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
105
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
106 void DetailFermenter::on_quitButton_clicked()
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
107 {
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
108 this->close();
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
109 this->setResult(1);
f78827503fb0 Added DetailFermenter screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
110 }

mercurial