Thu, 30 Jun 2022 21:05:30 +0200
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1 | /** |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2 | * EditProduct.cpp is part of bmsapp. |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
3 | * |
219
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
4 | * Tab 10, fermentation stages. |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
5 | * |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
6 | * bmsapp is free software: you can redistribute it and/or modify |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
7 | * it under the terms of the GNU General Public License as published by |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
8 | * the Free Software Foundation, either version 3 of the License, or |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
9 | * (at your option) any later version. |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
10 | * |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
11 | * bmsapp is distributed in the hope that it will be useful, |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
14 | * GNU General Public License for more details. |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
15 | * |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
16 | * You should have received a copy of the GNU General Public License |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
17 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
18 | */ |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
19 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
20 | |
219
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
21 | void EditProduct::brix_changed(double val) |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
22 | { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
23 | ret_fg = Utils::brix_to_fg(Utils::sg_to_plato(product->brew_fermenter_sg), val); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
24 | //qDebug() << "brix_changed" << val << product->brew_fermenter_sg << ret_fg; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
25 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
26 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
27 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
28 | double EditProduct::get_fg(double gravity) |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
29 | { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
30 | QDialog* dialog = new QDialog(this); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
31 | dialog->resize(360, 110); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
32 | QDialogButtonBox *buttonBox = new QDialogButtonBox(dialog); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
33 | buttonBox->setObjectName(QString::fromUtf8("buttonBox")); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
34 | buttonBox->setGeometry(QRect(30, 60, 300, 32)); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
35 | buttonBox->setLayoutDirection(Qt::LeftToRight); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
36 | buttonBox->setOrientation(Qt::Horizontal); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
37 | buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
38 | buttonBox->setCenterButtons(true); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
39 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
40 | QLabel *brixLabel = new QLabel(dialog); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
41 | brixLabel->setObjectName(QString::fromUtf8("brixLabel")); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
42 | brixLabel->setText(tr("Refractometer Brix:")); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
43 | brixLabel->setGeometry(QRect(10, 20, 161, 24)); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
44 | brixLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
45 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
46 | QDoubleSpinBox *brixEdit = new QDoubleSpinBox(dialog); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
47 | brixEdit->setObjectName(QString::fromUtf8("brixEdit")); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
48 | brixEdit->setGeometry(QRect(180, 20, 101, 24)); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
49 | brixEdit->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
50 | brixEdit->setAccelerated(true); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
51 | brixEdit->setDecimals(1); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
52 | brixEdit->setMaximum(32.0); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
53 | brixEdit->setSingleStep(0.1); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
54 | /* |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
55 | * Search the Brix value that is needed to get this gravity. |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
56 | * Set the found value as preset in the spinbox. |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
57 | */ |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
58 | double brix = 0.0; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
59 | for (brix = 0.0; brix < 32.0; brix += 0.1) { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
60 | if (Utils::brix_to_fg(Utils::sg_to_plato(product->brew_fermenter_sg), brix) >= gravity) |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
61 | break; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
62 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
63 | brixEdit->setValue(brix); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
64 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
65 | connect(brixEdit, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this, &EditProduct::brix_changed); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
66 | connect(buttonBox, SIGNAL(rejected()), dialog, SLOT(reject())); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
67 | connect(buttonBox, SIGNAL(accepted()), dialog, SLOT(accept())); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
68 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
69 | dialog->setModal(true); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
70 | dialog->exec(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
71 | if (dialog->result() == QDialog::Rejected) { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
72 | ret_fg = gravity; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
73 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
74 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
75 | disconnect(brixEdit, nullptr, nullptr, nullptr); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
76 | disconnect(buttonBox, nullptr, nullptr, nullptr); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
77 | return ret_fg; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
78 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
79 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
80 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
81 | void EditProduct::primary_start_changed(double val) |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
82 | { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
83 | product->primary_start_temp = val; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
84 | is_changed(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
85 | setStage(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
86 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
87 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
88 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
89 | void EditProduct::primary_peak_changed(double val) |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
90 | { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
91 | product->primary_max_temp = val; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
92 | is_changed(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
93 | setStage(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
94 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
95 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
96 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
97 | void EditProduct::primary_end_changed(double val) |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
98 | { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
99 | product->primary_end_temp = val; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
100 | is_changed(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
101 | setStage(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
102 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
103 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
104 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
105 | void EditProduct::primary_sg_changed(double val) |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
106 | { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
107 | if (product->primary_end_sg == 0 && val == 0.001) { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
108 | product->primary_end_sg = 0.990; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
109 | const QSignalBlocker blocker1(ui->prim_endsgEdit); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
110 | ui->prim_endsgEdit->setValue(0.990); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
111 | } else { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
112 | product->primary_end_sg = val; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
113 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
114 | ui->prim_attShow->setValue(Utils::calc_svg(product->brew_fermenter_sg, product->primary_end_sg)); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
115 | is_changed(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
116 | setStage(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
117 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
118 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
119 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
120 | void EditProduct::primary_sg_button() |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
121 | { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
122 | double rc = get_fg(product->primary_end_sg); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
123 | ui->prim_endsgEdit->setValue(rc); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
124 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
125 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
126 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
127 | void EditProduct::primary_date_changed(QDate val) |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
128 | { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
129 | product->primary_end_date = ui->prim_enddateEdit->nullDate(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
130 | is_changed(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
131 | setStage(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
132 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
133 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
134 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
135 | void EditProduct::primary_date_button() |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
136 | { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
137 | ui->prim_enddateEdit->setDate(QDate::currentDate()); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
138 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
139 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
140 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
141 | void EditProduct::primary_date_ack() |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
142 | { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
143 | int rc = QMessageBox::warning(this, tr("Confirm primary"), tr("Confirm that the primary fermentation data is correct"), |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
144 | QMessageBox::Yes | QMessageBox::No, QMessageBox::No); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
145 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
146 | if (rc == QMessageBox::No) |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
147 | return; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
148 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
149 | product->stage = PROD_STAGE_SECONDARY; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
150 | setStage(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
151 | is_changed(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
152 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
153 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
154 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
155 | void EditProduct::secondary_temp_changed(double val) |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
156 | { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
157 | product->secondary_temp = val; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
158 | is_changed(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
159 | setStage(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
160 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
161 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
162 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
163 | void EditProduct::secondary_sg_changed(double val) |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
164 | { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
165 | if (product->secondary_end_sg == 0 && val == 0.001) { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
166 | product->secondary_end_sg = 0.990; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
167 | const QSignalBlocker blocker1(ui->sec_sgEdit); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
168 | ui->sec_sgEdit->setValue(0.990); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
169 | } else { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
170 | product->secondary_end_sg = val; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
171 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
172 | ui->sec_attShow->setValue(Utils::calc_svg(product->brew_fermenter_sg, product->secondary_end_sg)); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
173 | is_changed(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
174 | setStage(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
175 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
176 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
177 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
178 | void EditProduct::secondary_sg_button() |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
179 | { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
180 | double rc; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
181 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
182 | /* |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
183 | * Get a sensible start value. |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
184 | */ |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
185 | if (product->secondary_end_sg >= 0.990) |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
186 | rc = get_fg(product->secondary_end_sg); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
187 | else |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
188 | rc = get_fg(product->primary_end_sg); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
189 | qDebug() << "secondary_sg_button" << rc << product->secondary_end_sg; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
190 | ui->sec_sgEdit->setValue(rc); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
191 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
192 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
193 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
194 | void EditProduct::secondary_date_changed(QDate val) |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
195 | { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
196 | product->secondary_end_date = ui->sec_enddateEdit->nullDate(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
197 | qDebug() << "secondary_date_changed" << val << product->secondary_end_date; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
198 | is_changed(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
199 | setStage(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
200 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
201 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
202 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
203 | void EditProduct::secondary_date_button() |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
204 | { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
205 | ui->sec_enddateEdit->setDate(QDate::currentDate()); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
206 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
207 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
208 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
209 | void EditProduct::secondary_date_ack() |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
210 | { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
211 | int rc = QMessageBox::warning(this, tr("Confirm secondary"), tr("Confirm that the secondary fermentation data is correct"), |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
212 | QMessageBox::Yes | QMessageBox::No, QMessageBox::No); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
213 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
214 | if (rc == QMessageBox::No) |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
215 | return; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
216 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
217 | product->stage = PROD_STAGE_TERTIARY; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
218 | setStage(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
219 | is_changed(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
220 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
221 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
222 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
223 | void EditProduct::tertiary_temp_changed(double val) |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
224 | { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
225 | product->tertiary_temp = val; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
226 | is_changed(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
227 | setStage(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
228 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
229 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
230 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
231 | void EditProduct::tertiary_sg_changed(double val) |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
232 | { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
233 | qDebug() << "tertiary_sg_changed" << val; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
234 | if (product->fg == 0 && val == 0.001) { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
235 | product->fg = 0.990; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
236 | const QSignalBlocker blocker1(ui->tert_sgEdit); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
237 | ui->tert_sgEdit->setValue(0.990); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
238 | } else { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
239 | product->fg = val; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
240 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
241 | ui->tert_attShow->setValue(Utils::calc_svg(product->brew_fermenter_sg, product->fg)); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
242 | product->package_abv = Utils::abvol(product->brew_fermenter_sg, product->fg); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
243 | ui->tert_abvShow->setValue(product->package_abv); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
244 | ui->pack_abvShow->setValue(product->package_abv); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
245 | is_changed(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
246 | setStage(); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
247 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
248 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
249 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
250 | void EditProduct::tertiary_sg_button() |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
251 | { |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
252 | double rc; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
253 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
254 | /* |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
255 | * Get a sensible start value. |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
256 | */ |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
257 | if (product->fg >= 0.990) |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
258 | rc = get_fg(product->fg); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
259 | else |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
260 | rc = get_fg(product->secondary_end_sg); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
261 | qDebug() << "tertiary_sg_button" << rc << product->fg; |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
262 | ui->tert_sgEdit->setValue(rc); |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
263 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
264 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
265 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
266 | void EditProduct::ferm_log1_button() |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
267 | { |
296
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
268 | QSqlQuery query; |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
269 | double timestamp; |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
270 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
271 | QDialog* dialog = new QDialog(this); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
272 | dialog->resize(1024, 600); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
273 | dialog->setWindowTitle(tr("Fermenter log")); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
274 | dialog->setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
275 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
276 | QDialogButtonBox *buttonBox = new QDialogButtonBox(dialog); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
277 | buttonBox->setObjectName(QString::fromUtf8("buttonBox")); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
278 | buttonBox->setGeometry(QRect(40, 565, 944, 36)); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
279 | buttonBox->setLayoutDirection(Qt::LeftToRight); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
280 | buttonBox->setOrientation(Qt::Horizontal); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
281 | buttonBox->setStandardButtons(QDialogButtonBox::Ok); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
282 | buttonBox->setCenterButtons(true); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
283 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
284 | QSplineSeries *pv_air = new QSplineSeries(); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
285 | QSplineSeries *pv_beer = new QSplineSeries(); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
286 | QSplineSeries *pv_chiller = new QSplineSeries(); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
287 | QSplineSeries *pwr_cool = new QSplineSeries(); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
288 | QSplineSeries *pwr_heat = new QSplineSeries(); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
289 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
290 | query.prepare("SELECT * FROM log_fermenter WHERE code=:code ORDER BY datetime"); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
291 | query.bindValue(":code", product->code); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
292 | query.exec(); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
293 | while (query.next()) { |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
294 | timestamp = query.value("datetime").toDateTime().toSecsSinceEpoch() * 1000; |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
295 | pv_air->append(timestamp, query.value("temp_air").toDouble()); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
296 | pv_beer->append(timestamp, query.value("temp_beer").toDouble()); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
297 | if (query.value("temp_chiller").toDouble() > 0) |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
298 | pv_chiller->append(timestamp, query.value("temp_chiller").toDouble()); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
299 | pwr_cool->append(timestamp, query.value("cooler_power").toDouble()); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
300 | pwr_heat->append(timestamp, query.value("heater_power").toDouble()); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
301 | } |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
302 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
303 | pv_air->setName(tr("Air")); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
304 | pv_air->setColor(QColorConstants::Svg::lightgreen); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
305 | pv_beer->setName(tr("Beer")); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
306 | QPen pen(QColorConstants::Svg::navy); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
307 | pen.setWidth(3); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
308 | pv_beer->setPen(pen); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
309 | pv_chiller->setName(tr("Chiller")); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
310 | pv_chiller->setColor(QColorConstants::Svg::lightsalmon); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
311 | pv_chiller->setOpacity(0.75); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
312 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
313 | pwr_cool->setName("Cool %"); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
314 | pwr_cool->setOpacity(0.25); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
315 | pwr_cool->setColor(QColorConstants::Blue); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
316 | pwr_heat->setName("Heat %"); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
317 | pwr_heat->setOpacity(0.25); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
318 | pwr_heat->setColor(QColorConstants::Red); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
319 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
320 | QChart *chart = new QChart(); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
321 | chart->setTitle(QString("%1 \"%2\"").arg(product->code).arg(product->name)); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
322 | chart->addSeries(pwr_cool); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
323 | chart->addSeries(pwr_heat); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
324 | chart->addSeries(pv_chiller); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
325 | chart->addSeries(pv_air); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
326 | chart->addSeries(pv_beer); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
327 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
328 | QDateTimeAxis *axisX = new QDateTimeAxis; |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
329 | axisX->setTickCount(10); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
330 | axisX->setFormat("dd MMM"); |
298 | 331 | axisX->setTitleText(tr("Date")); |
296
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
332 | axisX->setLabelsFont(QFont("Helvetica", 8, QFont::Normal)); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
333 | chart->addAxis(axisX, Qt::AlignBottom); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
334 | pv_air->attachAxis(axisX); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
335 | pv_beer->attachAxis(axisX); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
336 | pv_chiller->attachAxis(axisX); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
337 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
338 | QValueAxis *axisY = new QValueAxis; |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
339 | axisY->setTickCount(11); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
340 | axisY->setMinorTickCount(1); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
341 | axisY->setLabelFormat("%i"); |
301
fe6346211b5b
Finally the translation of string arrays is working.
Michiel Broek <mbroek@mbse.eu>
parents:
298
diff
changeset
|
342 | axisY->setTitleText(tr("Temp °C")); |
296
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
343 | axisY->setLabelsFont(QFont("Helvetica", 8, QFont::Normal)); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
344 | chart->addAxis(axisY, Qt::AlignLeft); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
345 | pv_air->attachAxis(axisY); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
346 | pv_beer->attachAxis(axisY); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
347 | pv_chiller->attachAxis(axisY); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
348 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
349 | QValueAxis *axisYR = new QValueAxis; |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
350 | axisYR->setRange(0, 100); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
351 | axisYR->setTickCount(11); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
352 | axisYR->setLabelFormat("%i"); |
301
fe6346211b5b
Finally the translation of string arrays is working.
Michiel Broek <mbroek@mbse.eu>
parents:
298
diff
changeset
|
353 | axisYR->setTitleText(tr("Power %")); |
296
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
354 | axisYR->setLabelsFont(QFont("Helvetica", 8, QFont::Normal)); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
355 | chart->addAxis(axisYR, Qt::AlignRight); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
356 | pwr_cool->attachAxis(axisYR); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
357 | pwr_heat->attachAxis(axisYR); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
358 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
359 | QChartView *chartView = new QChartView(chart); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
360 | chartView->setRenderHint(QPainter::Antialiasing); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
361 | dialog->setLayout(new QVBoxLayout); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
362 | dialog->layout()->addWidget(chartView); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
363 | dialog->layout()->addWidget(buttonBox); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
364 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
365 | connect(buttonBox, SIGNAL(accepted()), dialog, SLOT(accept())); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
366 | dialog->setModal(true); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
367 | dialog->exec(); |
219
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
368 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
369 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
370 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
371 | void EditProduct::ferm_log2_button() |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
372 | { |
296
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
373 | QSqlQuery query; |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
374 | double timestamp; |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
375 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
376 | QDialog* dialog = new QDialog(this); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
377 | dialog->resize(1024, 600); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
378 | dialog->setWindowTitle(tr("iSpindel log")); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
379 | dialog->setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
380 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
381 | QDialogButtonBox *buttonBox = new QDialogButtonBox(dialog); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
382 | buttonBox->setObjectName(QString::fromUtf8("buttonBox")); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
383 | buttonBox->setGeometry(QRect(40, 565, 944, 36)); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
384 | buttonBox->setLayoutDirection(Qt::LeftToRight); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
385 | buttonBox->setOrientation(Qt::Horizontal); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
386 | buttonBox->setStandardButtons(QDialogButtonBox::Ok); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
387 | buttonBox->setCenterButtons(true); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
388 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
389 | QSplineSeries *temperature = new QSplineSeries(); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
390 | QSplineSeries *density = new QSplineSeries(); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
391 | QSplineSeries *battery = new QSplineSeries(); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
392 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
393 | query.prepare("SELECT * FROM log_ispindel WHERE code=:code ORDER BY datetime"); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
394 | query.bindValue(":code", product->code); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
395 | query.exec(); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
396 | while (query.next()) { |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
397 | timestamp = query.value("datetime").toDateTime().toSecsSinceEpoch() * 1000; |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
398 | temperature->append(timestamp, query.value("temperature").toDouble()); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
399 | density->append(timestamp, query.value("sg").toDouble()); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
400 | battery ->append(timestamp, query.value("battery").toDouble()); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
401 | } |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
402 | |
301
fe6346211b5b
Finally the translation of string arrays is working.
Michiel Broek <mbroek@mbse.eu>
parents:
298
diff
changeset
|
403 | temperature->setName(tr("Temp °C")); |
296
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
404 | temperature->setColor(QColorConstants::Svg::red); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
405 | density->setName(tr("SG")); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
406 | QPen pen(QColorConstants::Svg::navy); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
407 | pen.setWidth(3); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
408 | density->setPen(pen); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
409 | battery->setName(tr("Battery")); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
410 | battery->setColor(QColorConstants::Svg::lightgreen); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
411 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
412 | QChart *chart = new QChart(); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
413 | chart->setTitle(QString("%1 \"%2\"").arg(product->code).arg(product->name)); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
414 | chart->addSeries(battery); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
415 | chart->addSeries(temperature); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
416 | chart->addSeries(density); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
417 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
418 | QDateTimeAxis *axisX = new QDateTimeAxis; |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
419 | axisX->setTickCount(10); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
420 | axisX->setFormat("dd MMM"); |
298 | 421 | axisX->setTitleText(tr("Date")); |
296
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
422 | axisX->setLabelsFont(QFont("Helvetica", 8, QFont::Normal)); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
423 | chart->addAxis(axisX, Qt::AlignBottom); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
424 | battery->attachAxis(axisX); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
425 | temperature->attachAxis(axisX); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
426 | density->attachAxis(axisX); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
427 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
428 | QValueAxis *axisYT = new QValueAxis; |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
429 | axisYT->setTickCount(10); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
430 | axisYT->setLabelFormat("%.1f"); |
301
fe6346211b5b
Finally the translation of string arrays is working.
Michiel Broek <mbroek@mbse.eu>
parents:
298
diff
changeset
|
431 | axisYT->setTitleText(tr("Temperature °C")); |
296
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
432 | axisYT->setLabelsFont(QFont("Helvetica", 8, QFont::Normal)); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
433 | chart->addAxis(axisYT, Qt::AlignRight); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
434 | temperature->attachAxis(axisYT); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
435 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
436 | QValueAxis *axisYD = new QValueAxis; |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
437 | axisYD->setTickCount(10); |
301
fe6346211b5b
Finally the translation of string arrays is working.
Michiel Broek <mbroek@mbse.eu>
parents:
298
diff
changeset
|
438 | axisYD->setLabelFormat("%.3f"); |
296
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
439 | axisYD->setTitleText("SG"); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
440 | axisYD->setLabelsFont(QFont("Helvetica", 8, QFont::Normal)); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
441 | chart->addAxis(axisYD, Qt::AlignLeft); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
442 | density->attachAxis(axisYD); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
443 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
444 | QValueAxis *axisYB = new QValueAxis; |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
445 | axisYB->setTickCount(10); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
446 | axisYB->setLabelFormat("%.2f"); |
301
fe6346211b5b
Finally the translation of string arrays is working.
Michiel Broek <mbroek@mbse.eu>
parents:
298
diff
changeset
|
447 | axisYB->setTitleText(tr("Battery volt")); |
296
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
448 | axisYB->setLabelsFont(QFont("Helvetica", 8, QFont::Normal)); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
449 | chart->addAxis(axisYB, Qt::AlignRight); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
450 | battery->attachAxis(axisYB); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
451 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
452 | QChartView *chartView = new QChartView(chart); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
453 | chartView->setRenderHint(QPainter::Antialiasing); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
454 | dialog->setLayout(new QVBoxLayout); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
455 | dialog->layout()->addWidget(chartView); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
456 | dialog->layout()->addWidget(buttonBox); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
457 | |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
458 | connect(buttonBox, SIGNAL(accepted()), dialog, SLOT(accept())); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
459 | dialog->setModal(true); |
2f4e250cfed9
Added fermenter and iSpindel graphs.
Michiel Broek <mbroek@mbse.eu>
parents:
219
diff
changeset
|
460 | dialog->exec(); |
219
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
461 | } |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
462 | |
fa7cad488e27
Added fermentation stages data. The two graphs are for later.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
463 |