Sat, 07 May 2022 13:55:36 +0200
Added yeast viability calculation.
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 | * |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
4 | * tab 6, yeasts. |
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 yeaste 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 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
21 | bool EditProduct::yeast_sort_test(const Yeasts &D1, const Yeasts &D2) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
22 | { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
23 | if (D1.y_use > D2.y_use) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
24 | return false; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
25 | if (D1.y_use < D2.y_use) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
26 | return true; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
27 | return (D1.y_amount > D2.y_amount); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
28 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
29 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
30 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
31 | void EditProduct::refreshYeasts() |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
32 | { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
33 | QString w; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
34 | QWidget* pWidget; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
35 | QHBoxLayout* pLayout; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
36 | QTableWidgetItem *item; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
37 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
38 | qDebug() << "refreshYeasts" << product->yeasts.size(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
39 | std::sort(product->yeasts.begin(), product->yeasts.end(), yeast_sort_test); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
40 | |
179
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
41 | const QStringList labels({tr("Yeast"), tr("Laboratory"), tr("Code"), tr("Type"), tr("Use for"), tr("Min."), tr("Max."), |
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
42 | tr("Tol."), tr("Attn."), tr("Amount"), tr("Stock"), tr("Delete"), tr("Edit") }); |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
43 | |
179
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
44 | ui->yeastsTable->setColumnCount(13); |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
45 | ui->yeastsTable->setColumnWidth(0, 200); /* Yeast */ |
179
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
46 | ui->yeastsTable->setColumnWidth(1, 115); /* Laboratory */ |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
47 | ui->yeastsTable->setColumnWidth(2, 80); /* Code */ |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
48 | ui->yeastsTable->setColumnWidth(3, 80); /* Type */ |
179
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
49 | ui->yeastsTable->setColumnWidth(4, 80); /* Usage */ |
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
50 | ui->yeastsTable->setColumnWidth(5, 50); /* Min. */ |
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
51 | ui->yeastsTable->setColumnWidth(6, 50); /* Max. */ |
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
52 | ui->yeastsTable->setColumnWidth(7, 50); /* Tolerance */ |
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
53 | ui->yeastsTable->setColumnWidth(8, 50); /* Attenuation */ |
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
54 | ui->yeastsTable->setColumnWidth(9, 80); /* Amount */ |
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
55 | ui->yeastsTable->setColumnWidth(10, 80); /* Stock */ |
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
56 | ui->yeastsTable->setColumnWidth(11, 80); /* Delete */ |
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
57 | ui->yeastsTable->setColumnWidth(12, 80); /* Edit */ |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
58 | ui->yeastsTable->setHorizontalHeaderLabels(labels); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
59 | ui->yeastsTable->verticalHeader()->hide(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
60 | ui->yeastsTable->setRowCount(product->yeasts.size()); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
61 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
62 | for (int i = 0; i < product->yeasts.size(); i++) { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
63 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
64 | ui->yeastsTable->setItem(i, 0, new QTableWidgetItem(product->yeasts.at(i).y_name)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
65 | ui->yeastsTable->setItem(i, 1, new QTableWidgetItem(product->yeasts.at(i).y_laboratory)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
66 | ui->yeastsTable->setItem(i, 2, new QTableWidgetItem(product->yeasts.at(i).y_product_id)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
67 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
68 | item = new QTableWidgetItem(yeast_forms[product->yeasts.at(i).y_form]); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
69 | item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
70 | ui->yeastsTable->setItem(i, 3, item); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
71 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
72 | item = new QTableWidgetItem(yeast_use[product->yeasts.at(i).y_use]); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
73 | item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
74 | ui->yeastsTable->setItem(i, 4, item); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
75 | |
179
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
76 | item = new QTableWidgetItem(QString("%1°C").arg(product->yeasts.at(i).y_min_temperature, 2, 'f', 1, '0')); |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
77 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
78 | ui->yeastsTable->setItem(i, 5, item); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
79 | |
179
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
80 | item = new QTableWidgetItem(QString("%1°C").arg(product->yeasts.at(i).y_max_temperature, 2, 'f', 1, '0')); |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
81 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
82 | ui->yeastsTable->setItem(i, 6, item); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
83 | |
179
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
84 | item = new QTableWidgetItem(QString("%1%").arg(product->yeasts.at(i).y_tolerance, 2, 'f', 1, '0')); |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
85 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
86 | ui->yeastsTable->setItem(i, 7, item); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
87 | |
179
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
88 | item = new QTableWidgetItem(QString("%1%").arg(product->yeasts.at(i).y_attenuation, 2, 'f', 1, '0')); |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
89 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
90 | ui->yeastsTable->setItem(i, 8, item); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
91 | |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
92 | if (product->yeasts.at(i).y_form == YEAST_FORMS_LIQUID) |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
93 | item = new QTableWidgetItem(QString("%1 pack").arg(product->yeasts.at(i).y_amount, 1, 'f', 0, '0')); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
94 | else if (product->yeasts.at(i).y_form == YEAST_FORMS_DRY || product->yeasts.at(i).y_form == YEAST_FORMS_DRIED) |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
95 | item = new QTableWidgetItem(QString("%1 gr").arg(product->yeasts.at(i).y_amount * 1000.0, 3, 'f', 2, '0')); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
96 | else |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
97 | item = new QTableWidgetItem(QString("%1 ml").arg(product->yeasts.at(i).y_amount * 1000.0, 3, 'f', 2, '0')); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
98 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
99 | ui->yeastsTable->setItem(i, 9, item); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
100 | |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
101 | if (product->yeasts.at(i).y_form == YEAST_FORMS_LIQUID) |
179
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
102 | item = new QTableWidgetItem(QString("%1 pack").arg(product->yeasts.at(i).y_inventory, 1, 'f', 0, '0')); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
103 | else if (product->yeasts.at(i).y_form == YEAST_FORMS_DRY || product->yeasts.at(i).y_form == YEAST_FORMS_DRIED) |
179
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
104 | item = new QTableWidgetItem(QString("%1 gr").arg(product->yeasts.at(i).y_inventory * 1000.0, 3, 'f', 2, '0')); |
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
105 | else |
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
106 | item = new QTableWidgetItem(QString("%1 ml").arg(product->yeasts.at(i).y_inventory * 1000.0, 3, 'f', 2, '0')); |
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
107 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
108 | if (product->yeasts.at(i).y_inventory < product->yeasts.at(i).y_amount) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
109 | item->setForeground(QBrush(QColor(Qt::red))); |
179
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
110 | ui->yeastsTable->setItem(i, 10, item); |
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
111 | |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
112 | pWidget = new QWidget(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
113 | QPushButton* btn_dele = new QPushButton(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
114 | btn_dele->setObjectName(QString("%1").arg(i)); /* Send row with the button */ |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
115 | btn_dele->setText(tr("Delete")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
116 | connect(btn_dele, SIGNAL(clicked()), this, SLOT(deleteYeastRow_clicked())); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
117 | pLayout = new QHBoxLayout(pWidget); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
118 | pLayout->addWidget(btn_dele); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
119 | pLayout->setContentsMargins(5, 0, 5, 0); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
120 | pWidget->setLayout(pLayout); |
179
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
121 | ui->yeastsTable->setCellWidget(i, 11, pWidget); |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
122 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
123 | pWidget = new QWidget(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
124 | QPushButton* btn_edit = new QPushButton(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
125 | btn_edit->setObjectName(QString("%1").arg(i)); /* Send row with the button */ |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
126 | btn_edit->setText(tr("Edit")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
127 | connect(btn_edit, SIGNAL(clicked()), this, SLOT(editYeastRow_clicked())); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
128 | pLayout = new QHBoxLayout(pWidget); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
129 | pLayout->addWidget(btn_edit); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
130 | pLayout->setContentsMargins(5, 0, 5, 0); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
131 | pWidget->setLayout(pLayout); |
179
512f492358e3
Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
132 | ui->yeastsTable->setCellWidget(i, 12, pWidget); |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
133 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
134 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
135 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
136 | |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
137 | void EditProduct::initYeast() |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
138 | { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
139 | ui->est_og4Edit->setValue(product->est_og); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
140 | ui->est_fg3Edit->setValue(product->est_fg); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
141 | ui->est_abv2Edit->setValue(product->est_abv); |
198
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
142 | ui->productionEdit->setDate(product->yeast_prod_date); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
143 | ui->conditionShow->setValue(product->starter_viability); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
144 | ui->startersgEdit->setValue(product->starter_sg); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
145 | ui->pitchrateEdit->setValue(product->yeast_pitchrate); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
146 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
147 | ui->yeastsTable->setEditTriggers(QAbstractItemView::NoEditTriggers); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
148 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
149 | for (int i = 0; i < starters.size(); i++) { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
150 | ui->stmethodEdit->addItem(starters[i]); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
151 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
152 | ui->stmethodEdit->setCurrentIndex(product->starter_type); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
153 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
154 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
155 | |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
156 | /* |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
157 | * Calculate the needed yeast for this batch. |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
158 | */ |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
159 | void EditProduct::calcYeast() |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
160 | { |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
161 | double sg = product->brew_fermenter_sg; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
162 | double use_cells; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
163 | double needed = 0; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
164 | double initcells = 0; |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
165 | bool maybe_starter = false; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
166 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
167 | qDebug() << "calcYeast()"; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
168 | ui->yeastProcedure->setCurrentIndex(0); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
169 | |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
170 | if (sg <= 1.0001 && product->fg > 1.000) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
171 | sg = product->fg; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
172 | else if (sg <= 1.0001) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
173 | sg = product->est_og; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
174 | double plato = Utils::sg_to_plato(sg); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
175 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
176 | double volume = product->brew_fermenter_volume; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
177 | if (volume > 0) { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
178 | if (product->brew_fermenter_extrawater > 0) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
179 | volume += product->brew_fermenter_extrawater; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
180 | } else { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
181 | volume = product->batch_size - product->eq_trub_chiller_loss; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
182 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
183 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
184 | // Also in calcFermentables() |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
185 | //$('#yeast_cells').val(initcells); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
186 | |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
187 | if (product->yeasts.size() == 0) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
188 | return; // No yeast in product. |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
189 | |
198
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
190 | calcViability(); |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
191 | |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
192 | for (int i = 0; i < product->yeasts.size(); i++) { |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
193 | if (product->yeasts.at(i).y_use == YEAST_USE_PRIMARY) { // Primary |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
194 | if (product->yeasts.at(i).y_form == YEAST_FORMS_DRY) { |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
195 | /* |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
196 | * Dry yeast, build the formule with the yeast parameters. |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
197 | * Based on https://www.lallemandbrewing.com/en/canada/brewers-corner/brewing-tools/pitching-rate-calculator/ |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
198 | */ |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
199 | ui->yeastProcedure->setCurrentIndex(2); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
200 | ui->lo_gr_hlEdit->setValue(product->yeasts.at(i).y_gr_hl_lo); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
201 | ui->hi_gr_hlEdit->setValue(product->yeasts.at(i).y_gr_hl_hi); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
202 | ui->lo_sgEdit->setValue(product->yeasts.at(i).y_sg_lo); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
203 | ui->hi_sgEdit->setValue(product->yeasts.at(i).y_sg_hi); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
204 | double og = product->yeasts.at(i).y_sg_lo; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
205 | double f1 = product->yeasts.at(i).y_gr_hl_lo / 100.0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
206 | double f2 = round(f1 / 5 * 1000000.0) / 1000000.0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
207 | double multiplier = (sg <= og) ? f1 : (f1 + f2 * (sg - og) / 0.008); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
208 | qDebug() << " sg:" << sg << "og:" << og << "f1:" << f1 << "f2:" << f2 << "multiplier:" << multiplier; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
209 | double yeast_grams = round(volume * multiplier * 100.0) / 100.0; // * (100 / dataRecord.starter_viability), 2); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
210 | double yeast_gr_hl = round((yeast_grams / (volume * 0.01)) * 100.0) / 100.0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
211 | ui->need_grEdit->setValue(yeast_grams); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
212 | ui->pitch_grEdit->setValue(yeast_gr_hl); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
213 | qDebug() << " need" << yeast_grams << "grams, gr/hl:" << yeast_gr_hl; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
214 | return; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
215 | } else { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
216 | /* |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
217 | * Liquid, slant, culture etc. |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
218 | * pitchrate see https://www.brewersfriend.com/yeast-pitch-rate-and-starter-calculator/ |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
219 | * and http://braukaiser.com/blog/blog/2012/11/03/estimating-yeast-growth/ |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
220 | */ |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
221 | ui->yeastProcedure->setCurrentIndex(1); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
222 | if (product->yeast_pitchrate == 0) { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
223 | /* |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
224 | * No pitchrate yet, do a educated guess .. |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
225 | */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
226 | if (product->yeasts.at(i).y_type == YEAST_TYPES_LAGER) { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
227 | product->yeast_pitchrate = 1.5; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
228 | if (sg > 1.060) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
229 | product->yeast_pitchrate = 2.0; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
230 | } else if (product->yeasts.at(i).y_type == YEAST_TYPES_KVEIK) { // Real Kveik |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
231 | product->yeast_pitchrate = 0.075; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
232 | } else { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
233 | product->yeast_pitchrate = 0.75; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
234 | if (sg > 1.060) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
235 | product->yeast_pitchrate = 1.0; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
236 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
237 | is_changed(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
238 | ui->pitchrateEdit->setValue(product->yeast_pitchrate); |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
239 | } |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
240 | |
198
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
241 | initcells = (product->yeasts.at(i).y_cells / 1000000) * product->yeasts.at(i).y_amount * (product->starter_viability / 100.0); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
242 | if (product->yeasts.at(i).y_form == YEAST_FORMS_LIQUID) |
198
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
243 | initcells = (product->yeasts.at(i).y_cells / 1000000000) * product->yeasts.at(i).y_amount * (product->starter_viability / 100.0); |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
244 | |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
245 | needed = round(product->yeast_pitchrate * volume * plato * 10.0) / 10.0; |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
246 | if (needed > initcells) { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
247 | maybe_starter = true; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
248 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
249 | |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
250 | qDebug() << " pitchrate:" << product->yeast_pitchrate << "needed:" << needed << "initcells:" << initcells << "starter" << maybe_starter; |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
251 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
252 | break; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
253 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
254 | } |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
255 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
256 | if (maybe_starter != product->starter_enable) { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
257 | product->starter_enable = maybe_starter; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
258 | qDebug() << " Set starter enable" << maybe_starter; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
259 | is_changed(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
260 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
261 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
262 | if (product->starter_enable) { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
263 | qDebug() << " Starter calculate.."; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
264 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
265 | const QStringList labels({tr("Method"), tr("Volume"), tr("Inj. factor"), tr("New cells"), tr("Total cells"), tr("Grow factor"), "" }); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
266 | ui->starterTable->show(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
267 | ui->starterTable->setEditTriggers(QAbstractItemView::NoEditTriggers); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
268 | ui->starterTable->clear(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
269 | ui->starterTable->setColumnCount(7); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
270 | ui->starterTable->setRowCount(0); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
271 | ui->starterTable->setColumnWidth(0, 130); /* Method */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
272 | ui->starterTable->setColumnWidth(1, 90); /* Volume */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
273 | ui->starterTable->setColumnWidth(2, 90); /* Inj. factor */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
274 | ui->starterTable->setColumnWidth(3, 90); /* New cells */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
275 | ui->starterTable->setColumnWidth(4, 90); /* Total cells */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
276 | ui->starterTable->setColumnWidth(5, 90); /* Grow factor */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
277 | ui->starterTable->setColumnWidth(6, 30); /* Edit button */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
278 | ui->starterTable->setHorizontalHeaderLabels(labels); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
279 | calcSteps(product->starter_type, initcells, needed); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
280 | } else { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
281 | ui->starterTable->hide(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
282 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
283 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
284 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
285 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
286 | /* |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
287 | * http://braukaiser.com/blog/blog/2012/11/03/estimating-yeast-growth/ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
288 | * |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
289 | * stype: 0=stirred, 1=shaken, 2=simple |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
290 | * totcells: initial cells |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
291 | * egrams: gram extract |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
292 | */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
293 | double EditProduct::getGrowthRate(int stype, double totcells, double egrams) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
294 | { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
295 | /* Cells per grams extract (B/g) */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
296 | double cpe = totcells / egrams; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
297 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
298 | if (cpe > 3.5) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
299 | return 0; // no growth |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
300 | if (stype == STARTERS_SIMPLE) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
301 | return 0.4; // simple starter |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
302 | if (stype == STARTERS_SHAKEN) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
303 | return 0.62; // shaken starter |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
304 | if (cpe <= 1.4) // stirred starter |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
305 | return 1.4; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
306 | return 2.33 - (.67 * cpe); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
307 | }; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
308 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
309 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
310 | StepResult EditProduct::calcStep(double svol, int stype, double start) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
311 | { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
312 | StepResult res; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
313 | double gperpoint = 2.72715; //number of grams of extract per point of starter gravity per liter |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
314 | double irate = round(start / svol * 10000.0) / 10.0; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
315 | double egrams = (product->starter_sg - 1) * svol * gperpoint; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
316 | double grate = getGrowthRate(stype, start, egrams); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
317 | double ncells = round(egrams * grate * 10.0) / 10.0; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
318 | double totcells = ncells + start; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
319 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
320 | res.svol = svol; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
321 | res.irate = irate; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
322 | res.ncells = ncells; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
323 | res.totcells = totcells; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
324 | res.growf = round((ncells / start) * 100.0) / 100.0; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
325 | qDebug() << " calcStep(" << svol << "," << stype << "," << start << ") irate" << irate |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
326 | << "ncells" << res.ncells << "totcells" << res.totcells << "growf" << res.growf; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
327 | return res; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
328 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
329 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
330 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
331 | /* |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
332 | * Calculate all starter steps. |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
333 | * stype: final starter type: 0 = stirred, 1 = shaked, 2 = simple. |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
334 | * start: initial cells in billions |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
335 | * needed: needed cells in billions |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
336 | * |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
337 | * result: all values updated. |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
338 | */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
339 | void EditProduct::calcSteps(int stype, double start, double needed) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
340 | { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
341 | int i, step, svol; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
342 | int lasti = 0; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
343 | /* Erlenmeyer sizes */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
344 | const int uvols[] { 20, 40, 60, 80, 100, 150, 200, 250, 375, 500, 625, 750, 875, 1000, 1250, 1500, 2000, 2500, 3000, 4000, 5000 }; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
345 | int mvols = sizeof(uvols); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
346 | StepResult result; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
347 | QTableWidgetItem *item; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
348 | QWidget* pWidget; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
349 | QHBoxLayout* pLayout; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
350 | double tcells = start; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
351 | QIcon iconT; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
352 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
353 | iconT.addFile(QString::fromUtf8(":/icons/silk/pencil.png"), QSize(), QIcon::Normal, QIcon::Off); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
354 | |
196
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
355 | if ((product->prop_volume[0] + product->prop_volume[1] + product->prop_volume[2] + product->prop_volume[3]) == 0) { |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
356 | /* |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
357 | * Auto calculate the starter. |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
358 | */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
359 | qDebug() << " calcSteps() auto"; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
360 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
361 | if (start > needed) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
362 | return; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
363 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
364 | for (step = 1; step < 5; step++) { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
365 | qDebug() << " step" << step; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
366 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
367 | for (i = lasti; i <= mvols; i++) { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
368 | lasti = i; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
369 | svol = uvols[lasti]; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
370 | result = calcStep(svol, stype, tcells); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
371 | if (result.irate < 25) { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
372 | // inocculation rate too low, backup one step and break out. |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
373 | lasti = i - 1; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
374 | svol = uvols[lasti]; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
375 | result = calcStep(svol, stype, tcells); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
376 | break; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
377 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
378 | if (result.totcells > needed || i == mvols) { // hit the target or loops done |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
379 | break; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
380 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
381 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
382 | ui->starterTable->setRowCount(step); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
383 | item = new QTableWidgetItem(starters[stype]); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
384 | item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
385 | ui->starterTable->setItem(step -1, 0, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
386 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
387 | item = new QTableWidgetItem(QString("%1").arg(result.svol / 1000.0, 4, 'f', 3, '0')); // To liters |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
388 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
389 | ui->starterTable->setItem(step -1, 1, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
390 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
391 | item = new QTableWidgetItem(QString("%1").arg(result.irate, 2, 'f', 1, '0')); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
392 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
393 | ui->starterTable->setItem(step -1, 2, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
394 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
395 | item = new QTableWidgetItem(QString("%1").arg(result.ncells, 2, 'f', 1, '0')); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
396 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
397 | ui->starterTable->setItem(step -1, 3, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
398 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
399 | item = new QTableWidgetItem(QString("%1").arg(result.totcells, 2, 'f', 1, '0')); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
400 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
401 | ui->starterTable->setItem(step -1, 4, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
402 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
403 | item = new QTableWidgetItem(QString("%1").arg(result.growf, 3, 'f', 2, '0')); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
404 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
405 | ui->starterTable->setItem(step -1, 5, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
406 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
407 | pWidget = new QWidget(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
408 | QToolButton* btn_edit = new QToolButton(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
409 | btn_edit->setObjectName(QString("%1").arg(step - 1)); /* Send row with the button */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
410 | btn_edit->setIcon(iconT); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
411 | connect(btn_edit, SIGNAL(clicked()), this, SLOT(yeast_starter_edit_clicked())); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
412 | pLayout = new QHBoxLayout(pWidget); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
413 | pLayout->addWidget(btn_edit); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
414 | pLayout->setContentsMargins(5, 0, 5, 0); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
415 | pWidget->setLayout(pLayout); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
416 | ui->starterTable->setCellWidget(step -1, 6, pWidget); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
417 | |
196
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
418 | product->prop_type[step -1] = product->starter_type; |
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
419 | product->prop_volume[step -1] = result.svol / 1000.0; |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
420 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
421 | tcells = result.totcells; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
422 | if (result.totcells > needed) // Hit the target |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
423 | return; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
424 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
425 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
426 | } else { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
427 | /* |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
428 | * Recalculate the starter. |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
429 | */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
430 | qDebug() << " calcSteps() recalculate"; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
431 | |
196
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
432 | if (product->prop_volume[0] > 0) { |
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
433 | result = calcStep(product->prop_volume[0] * 1000, product->prop_type[0], tcells); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
434 | ui->starterTable->setRowCount(1); |
196
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
435 | item = new QTableWidgetItem(starters[product->prop_type[0]]); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
436 | item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
437 | ui->starterTable->setItem(0, 0, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
438 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
439 | item = new QTableWidgetItem(QString("%1").arg(result.svol / 1000.0, 4, 'f', 3, '0')); // To liters |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
440 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
441 | ui->starterTable->setItem(0, 1, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
442 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
443 | item = new QTableWidgetItem(QString("%1").arg(result.irate, 2, 'f', 1, '0')); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
444 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
445 | ui->starterTable->setItem(0, 2, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
446 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
447 | item = new QTableWidgetItem(QString("%1").arg(result.ncells, 2, 'f', 1, '0')); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
448 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
449 | ui->starterTable->setItem(0, 3, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
450 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
451 | item = new QTableWidgetItem(QString("%1").arg(result.totcells, 2, 'f', 1, '0')); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
452 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
453 | ui->starterTable->setItem(0, 4, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
454 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
455 | item = new QTableWidgetItem(QString("%1").arg(result.growf, 3, 'f', 2, '0')); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
456 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
457 | ui->starterTable->setItem(0, 5, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
458 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
459 | pWidget = new QWidget(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
460 | QToolButton* btn_edit = new QToolButton(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
461 | btn_edit->setObjectName(QString("0")); /* Send row with the button */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
462 | btn_edit->setIcon(iconT); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
463 | connect(btn_edit, SIGNAL(clicked()), this, SLOT(yeast_starter_edit_clicked())); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
464 | pLayout = new QHBoxLayout(pWidget); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
465 | pLayout->addWidget(btn_edit); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
466 | pLayout->setContentsMargins(5, 0, 5, 0); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
467 | pWidget->setLayout(pLayout); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
468 | ui->starterTable->setCellWidget(0, 6, pWidget); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
469 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
470 | tcells = result.totcells; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
471 | if (result.totcells > needed) { // Hit the target |
196
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
472 | product->prop_volume[1] = product->prop_volume[2] = product->prop_volume[3] = 0; |
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
473 | product->prop_type[1] = product->prop_type[2] = product->prop_type[3] = 0; |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
474 | return; |
196
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
475 | } else if (product->prop_volume[1] == 0) { // Extra step needed, start with the same size. |
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
476 | product->prop_volume[1] = product->prop_volume[0]; |
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
477 | product->prop_type[1] = product->prop_type[0]; |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
478 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
479 | } |
196
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
480 | if (product->prop_volume[1] > 0) { |
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
481 | result = calcStep(product->prop_volume[1] * 1000, product->prop_type[1], tcells); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
482 | ui->starterTable->setRowCount(2); |
196
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
483 | item = new QTableWidgetItem(starters[product->prop_type[1]]); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
484 | item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
485 | ui->starterTable->setItem(1, 0, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
486 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
487 | item = new QTableWidgetItem(QString("%1").arg(result.svol / 1000.0, 4, 'f', 3, '0')); // To liters |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
488 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
489 | ui->starterTable->setItem(1, 1, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
490 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
491 | item = new QTableWidgetItem(QString("%1").arg(result.irate, 2, 'f', 1, '0')); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
492 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
493 | ui->starterTable->setItem(1, 2, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
494 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
495 | item = new QTableWidgetItem(QString("%1").arg(result.ncells, 2, 'f', 1, '0')); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
496 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
497 | ui->starterTable->setItem(1, 3, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
498 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
499 | item = new QTableWidgetItem(QString("%1").arg(result.totcells, 2, 'f', 1, '0')); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
500 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
501 | ui->starterTable->setItem(1, 4, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
502 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
503 | item = new QTableWidgetItem(QString("%1").arg(result.growf, 3, 'f', 2, '0')); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
504 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
505 | ui->starterTable->setItem(1, 5, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
506 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
507 | pWidget = new QWidget(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
508 | QToolButton* btn_edit = new QToolButton(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
509 | btn_edit->setObjectName(QString("1")); /* Send row with the button */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
510 | btn_edit->setIcon(iconT); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
511 | connect(btn_edit, SIGNAL(clicked()), this, SLOT(yeast_starter_edit_clicked())); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
512 | pLayout = new QHBoxLayout(pWidget); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
513 | pLayout->addWidget(btn_edit); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
514 | pLayout->setContentsMargins(5, 0, 5, 0); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
515 | pWidget->setLayout(pLayout); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
516 | ui->starterTable->setCellWidget(1, 6, pWidget); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
517 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
518 | tcells = result.totcells; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
519 | if (result.totcells > needed) { // Hit the target |
196
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
520 | product->prop_volume[2] = product->prop_volume[3] = 0; |
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
521 | product->prop_type[2] = product->prop_type[3] = 0; |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
522 | return; |
196
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
523 | } else if (product->prop_volume[2] == 0) { // Extra step needed, start with the same size. |
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
524 | product->prop_volume[2] = product->prop_volume[1]; |
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
525 | product->prop_type[2] = product->prop_type[1]; |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
526 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
527 | } |
196
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
528 | if (product->prop_volume[2] > 0) { |
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
529 | result = calcStep(product->prop_volume[2] * 1000, product->prop_type[2], tcells); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
530 | ui->starterTable->setRowCount(3); |
196
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
531 | item = new QTableWidgetItem(starters[product->prop_type[2]]); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
532 | item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
533 | ui->starterTable->setItem(2, 0, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
534 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
535 | item = new QTableWidgetItem(QString("%1").arg(result.svol / 1000.0, 4, 'f', 3, '0')); // To liters |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
536 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
537 | ui->starterTable->setItem(2, 1, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
538 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
539 | item = new QTableWidgetItem(QString("%1").arg(result.irate, 2, 'f', 1, '0')); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
540 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
541 | ui->starterTable->setItem(2, 2, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
542 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
543 | item = new QTableWidgetItem(QString("%1").arg(result.ncells, 2, 'f', 1, '0')); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
544 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
545 | ui->starterTable->setItem(2, 3, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
546 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
547 | item = new QTableWidgetItem(QString("%1").arg(result.totcells, 2, 'f', 1, '0')); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
548 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
549 | ui->starterTable->setItem(2, 4, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
550 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
551 | item = new QTableWidgetItem(QString("%1").arg(result.growf, 3, 'f', 2, '0')); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
552 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
553 | ui->starterTable->setItem(2, 5, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
554 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
555 | pWidget = new QWidget(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
556 | QToolButton* btn_edit = new QToolButton(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
557 | btn_edit->setObjectName(QString("2")); /* Send row with the button */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
558 | btn_edit->setIcon(iconT); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
559 | connect(btn_edit, SIGNAL(clicked()), this, SLOT(yeast_starter_edit_clicked())); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
560 | pLayout = new QHBoxLayout(pWidget); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
561 | pLayout->addWidget(btn_edit); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
562 | pLayout->setContentsMargins(5, 0, 5, 0); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
563 | pWidget->setLayout(pLayout); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
564 | ui->starterTable->setCellWidget(2, 6, pWidget); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
565 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
566 | tcells = result.totcells; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
567 | if (result.totcells > needed) { // Hit the target |
196
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
568 | product->prop_volume[3] = 0; |
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
569 | product->prop_type[3] = 0; |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
570 | return; |
196
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
571 | } else if (product->prop_volume[3] == 0) { // Extra step needed, start with the same size. |
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
572 | product->prop_volume[3] = product->prop_volume[2]; |
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
573 | product->prop_type[3] = product->prop_type[2]; |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
574 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
575 | } |
196
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
576 | if (product->prop_volume[3] > 0) { |
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
577 | result = calcStep(product->prop_volume[3] * 1000, product->prop_type[3], tcells); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
578 | ui->starterTable->setRowCount(4); |
196
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
579 | item = new QTableWidgetItem(starters[product->prop_type[3]]); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
580 | item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
581 | ui->starterTable->setItem(3, 0, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
582 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
583 | item = new QTableWidgetItem(QString("%1").arg(result.svol / 1000.0, 4, 'f', 3, '0')); // To liters |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
584 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
585 | ui->starterTable->setItem(3, 1, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
586 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
587 | item = new QTableWidgetItem(QString("%1").arg(result.irate, 2, 'f', 1, '0')); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
588 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
589 | ui->starterTable->setItem(3, 2, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
590 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
591 | item = new QTableWidgetItem(QString("%1").arg(result.ncells, 2, 'f', 1, '0')); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
592 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
593 | ui->starterTable->setItem(3, 3, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
594 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
595 | item = new QTableWidgetItem(QString("%1").arg(result.totcells, 2, 'f', 1, '0')); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
596 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
597 | ui->starterTable->setItem(3, 4, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
598 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
599 | item = new QTableWidgetItem(QString("%1").arg(result.growf, 3, 'f', 2, '0')); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
600 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
601 | ui->starterTable->setItem(3, 5, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
602 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
603 | pWidget = new QWidget(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
604 | QToolButton* btn_edit = new QToolButton(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
605 | btn_edit->setObjectName(QString("3")); /* Send row with the button */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
606 | btn_edit->setIcon(iconT); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
607 | connect(btn_edit, SIGNAL(clicked()), this, SLOT(yeast_starter_edit_clicked())); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
608 | pLayout = new QHBoxLayout(pWidget); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
609 | pLayout->addWidget(btn_edit); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
610 | pLayout->setContentsMargins(5, 0, 5, 0); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
611 | pWidget->setLayout(pLayout); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
612 | ui->starterTable->setCellWidget(3, 6, pWidget); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
613 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
614 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
615 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
616 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
617 | |
198
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
618 | void EditProduct::calcViability() |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
619 | { |
198
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
620 | double vpm = 1.00; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
621 | double max = 100; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
622 | |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
623 | for (int i = 0; i < product->yeasts.size(); i++) { |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
624 | if (product->yeasts.at(i).y_use == 0) { |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
625 | if (product->yeasts.at(i).y_form == 0) { // Liquid |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
626 | vpm = 0.80; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
627 | max = 97; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
628 | if (product->yeasts.at(i).y_laboratory == "White Labs") { // PurePitch |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
629 | vpm = 0.95; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
630 | max = 100; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
631 | } |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
632 | } else if (product->yeasts.at(i).y_form == 1) { // dry |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
633 | vpm = 0.998; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
634 | max = 100; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
635 | } else if (product->yeasts.at(i).y_form == 6) { // dried kveik |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
636 | vpm = 0.92; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
637 | max = 100; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
638 | } else { // Slant, Culture, Frozen, Bottle |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
639 | vpm = 0.99; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
640 | max = 97; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
641 | } |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
642 | } |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
643 | } |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
644 | qDebug() << "calcViability vpm:" << vpm << "max:" << max; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
645 | |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
646 | double base = max; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
647 | |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
648 | /* |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
649 | * Calculate time days before today. If the date is cleared, |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
650 | * the result is 0 days. Dates in the future are ignored. |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
651 | */ |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
652 | int timeDiff = product->yeast_prod_date.daysTo(QDate::currentDate()); |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
653 | if (timeDiff < 0) |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
654 | timeDiff == 0; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
655 | |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
656 | double degrade = 1 - ((1 - vpm) / 30.41); // viability degradation per day. |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
657 | for (int i = 0; i < timeDiff; i++) { |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
658 | base = base * degrade; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
659 | } |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
660 | if (base > max) |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
661 | base = max; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
662 | base = round(base); |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
663 | product->starter_viability = base; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
664 | ui->conditionShow->setValue(product->starter_viability); |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
665 | qDebug() << "age" << timeDiff << "degrade" << degrade << "base" << base ; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
666 | } |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
667 | |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
668 | |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
669 | void EditProduct::yeast_prod_date_changed(QDate val) |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
670 | { |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
671 | product->yeast_prod_date = ui->productionEdit->nullDate(); |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
672 | qDebug() << "yeast_prod_date_changed" << val << product->yeast_prod_date; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
673 | calcViability(); |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
674 | calcYeast(); |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
675 | } |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
676 | |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
677 | |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
678 | void EditProduct::yeast_prod_date_clear() |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
679 | { |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
680 | product->yeast_prod_date = QDate(); |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
681 | ui->productionEdit->setDate(QDate()); |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
682 | } |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
683 | |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
684 | |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
685 | void EditProduct::yeast_prod_date_today() |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
686 | { |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
687 | product->yeast_prod_date = QDate::currentDate(); |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
688 | ui->productionEdit->setDate(QDate::currentDate()); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
689 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
690 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
691 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
692 | void EditProduct::yeast_method_changed(int val) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
693 | { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
694 | qDebug() << "yeast_method_changed" << val; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
695 | product->starter_type = val; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
696 | calcYeast(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
697 | is_changed(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
698 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
699 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
700 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
701 | void EditProduct::yeast_starter_sg_changed(double val) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
702 | { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
703 | qDebug() << "yeast_starter_sg_changed" << val; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
704 | product->starter_sg = val; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
705 | calcYeast(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
706 | is_changed(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
707 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
708 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
709 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
710 | void EditProduct::yeast_pitchrate_button_clicked() |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
711 | { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
712 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
713 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
714 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
715 | void EditProduct::yeast_starter_edit_clicked() |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
716 | { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
717 | QToolButton *pb = qobject_cast<QToolButton *>(QObject::sender()); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
718 | int row = pb->objectName().toInt(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
719 | qDebug() << "yeast_starter_edit_clicked" << row; |
196
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
720 | |
197
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
721 | QDialog* dialog = new QDialog(this); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
722 | dialog->resize(338, 140); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
723 | QDialogButtonBox *buttonBox = new QDialogButtonBox(dialog); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
724 | buttonBox->setObjectName(QString::fromUtf8("buttonBox")); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
725 | buttonBox->setGeometry(QRect(30, 90, 271, 32)); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
726 | buttonBox->setLayoutDirection(Qt::LeftToRight); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
727 | buttonBox->setOrientation(Qt::Horizontal); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
728 | buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
729 | buttonBox->setCenterButtons(true); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
730 | |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
731 | QLabel *typeLabel = new QLabel(dialog); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
732 | typeLabel->setObjectName(QString::fromUtf8("typeLabel")); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
733 | typeLabel->setText(tr("Start step type:")); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
734 | typeLabel->setGeometry(QRect(10, 10, 141, 20)); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
735 | typeLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
736 | QLabel *volLabel = new QLabel(dialog); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
737 | volLabel->setObjectName(QString::fromUtf8("volLabel")); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
738 | volLabel->setText(tr("Starter step volume:")); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
739 | volLabel->setGeometry(QRect(10, 40, 141, 20)); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
740 | volLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
741 | |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
742 | QComboBox *typeEdit = new QComboBox(dialog); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
743 | typeEdit->setObjectName(QString::fromUtf8("typeEdit")); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
744 | typeEdit->setGeometry(QRect(160, 10, 121, 23)); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
745 | typeEdit->addItem(tr("Stirred")); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
746 | typeEdit->addItem(tr("Shaken")); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
747 | typeEdit->addItem(tr("Simple")); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
748 | typeEdit->setCurrentIndex(product->prop_type[row]); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
749 | |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
750 | QDoubleSpinBox *volEdit = new QDoubleSpinBox(dialog); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
751 | volEdit->setObjectName(QString::fromUtf8("volEdit")); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
752 | volEdit->setGeometry(QRect(160, 40, 121, 24)); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
753 | volEdit->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
754 | volEdit->setAccelerated(true); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
755 | volEdit->setDecimals(3); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
756 | volEdit->setSingleStep(0.01); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
757 | volEdit->setValue(product->prop_volume[row]); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
758 | volEdit->setMaximum(5); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
759 | |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
760 | connect(buttonBox, SIGNAL(rejected()), dialog, SLOT(reject())); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
761 | connect(buttonBox, SIGNAL(accepted()), dialog, SLOT(accept())); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
762 | |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
763 | dialog->setModal(true); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
764 | dialog->exec(); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
765 | if (dialog->result() == QDialog::Rejected) { |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
766 | qDebug() << "reject"; |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
767 | } else { |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
768 | product->prop_type[row] = typeEdit->currentIndex(); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
769 | product->prop_volume[row] = volEdit->value(); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
770 | qDebug() << "accept"; |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
771 | calcYeast(); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
772 | is_changed(); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
773 | } |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
774 | |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
775 | disconnect(buttonBox, nullptr, nullptr, nullptr); |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
776 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
777 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
778 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
779 | void EditProduct::addYeastRow_clicked() |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
780 | { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
781 | Yeasts newy; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
782 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
783 | qDebug() << "Add yeast row"; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
784 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
785 | for (int i = 0; i < product->yeasts.size(); i++) { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
786 | if (product->yeasts.at(i).y_amount == 0) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
787 | return; // Add only one at a time. |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
788 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
789 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
790 | newy.y_name = "Select one"; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
791 | newy.y_laboratory = ""; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
792 | newy.y_product_id = ""; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
793 | newy.y_amount = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
794 | newy.y_type = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
795 | newy.y_form = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
796 | newy.y_min_temperature = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
797 | newy.y_max_temperature = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
798 | newy.y_flocculation = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
799 | newy.y_attenuation = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
800 | newy.y_cells = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
801 | newy.y_tolerance = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
802 | newy.y_inventory = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
803 | newy.y_use = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
804 | newy.y_sta1 = false; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
805 | newy.y_bacteria = false; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
806 | newy.y_harvest_top = false; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
807 | newy.y_harvest_time = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
808 | newy.y_pitch_temperature = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
809 | newy.y_pofpos = false; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
810 | newy.y_zymocide = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
811 | newy.y_gr_hl_lo = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
812 | newy.y_sg_lo = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
813 | newy.y_gr_hl_hi = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
814 | newy.y_sg_hi = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
815 | newy.y_cost = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
816 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
817 | product->yeasts.append(newy); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
818 | emit refreshAll(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
819 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
820 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
821 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
822 | void EditProduct::deleteYeastRow_clicked() |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
823 | { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
824 | if (product->locked || product->yeasts.size() < 1) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
825 | return; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
826 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
827 | QPushButton *pb = qobject_cast<QPushButton *>(QObject::sender()); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
828 | int row = pb->objectName().toInt(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
829 | qDebug() << "Delete yeast row" << row << product->yeasts.size(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
830 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
831 | int rc = QMessageBox::warning(this, tr("Delete yeast"), tr("Delete %1").arg(product->yeasts.at(row).y_name), |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
832 | QMessageBox::Yes | QMessageBox::No, QMessageBox::No); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
833 | if (rc == QMessageBox::No) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
834 | return; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
835 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
836 | product->yeasts.removeAt(row); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
837 | is_changed(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
838 | emit refreshAll(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
839 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
840 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
841 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
842 | void EditProduct::yeast_amount_changed(double val) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
843 | { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
844 | QTableWidgetItem *item; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
845 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
846 | qDebug() << "yeast_amount_changed()" << product->yeasts_row << val; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
847 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
848 | if (product->yeasts.at(product->yeasts_row).y_form == 0) { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
849 | product->yeasts[product->yeasts_row].y_amount = val; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
850 | item = new QTableWidgetItem(QString("%1 pack").arg(val, 1, 'f', 0, '0')); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
851 | } else if (product->yeasts.at(product->yeasts_row).y_form == 1) { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
852 | product->yeasts[product->yeasts_row].y_amount = val / 1000.0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
853 | item = new QTableWidgetItem(QString("%1 gr").arg(val, 3, 'f', 2, '0')); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
854 | } else { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
855 | product->yeasts[product->yeasts_row].y_amount = val / 1000.0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
856 | item = new QTableWidgetItem(QString("%1 ml").arg(val, 3, 'f', 2, '0')); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
857 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
858 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
859 | ui->yeastsTable->setItem(product->yeasts_row, 9, item); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
860 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
861 | calcYeast(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
862 | is_changed(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
863 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
864 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
865 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
866 | void EditProduct::yeast_select_changed(int val) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
867 | { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
868 | QSqlQuery query; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
869 | bool instock = yinstockEdit->isChecked(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
870 | QString w; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
871 | QTableWidgetItem *item; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
872 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
873 | if (val < 1) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
874 | return; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
875 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
876 | qDebug() << "yeast_select_changed()" << product->yeasts_row << val << instock; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
877 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
878 | /* |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
879 | * Search the yeast pointed by the index and instock flag. |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
880 | */ |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
881 | QString sql = "SELECT name,laboratory,product_id,type,form,min_temperature,max_temperature,flocculation,attenuation," |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
882 | "cells,tolerance,sta1,bacteria,harvest_top,harvest_time,pitch_temperature,pofpos,zymocide," |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
883 | "gr_hl_lo,sg_lo,gr_hl_hi,sg_hi,cost FROM inventory_yeasts "; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
884 | if (instock) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
885 | sql.append("WHERE inventory > 0 "); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
886 | sql.append("ORDER BY laboratory,product_id,name"); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
887 | query.prepare(sql); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
888 | query.exec(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
889 | query.first(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
890 | for (int i = 0; i < (val - 1); i++) { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
891 | query.next(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
892 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
893 | qDebug() << "found" << query.value(0).toString() << query.value(2).toString(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
894 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
895 | /* |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
896 | * Replace the yeast record contents |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
897 | */ |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
898 | product->yeasts[product->yeasts_row].y_name = query.value(0).toString(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
899 | product->yeasts[product->yeasts_row].y_laboratory = query.value(1).toString(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
900 | product->yeasts[product->yeasts_row].y_product_id = query.value(2).toString(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
901 | product->yeasts[product->yeasts_row].y_type = query.value(3).toInt(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
902 | product->yeasts[product->yeasts_row].y_form = query.value(4).toInt(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
903 | product->yeasts[product->yeasts_row].y_min_temperature = query.value(5).toDouble(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
904 | product->yeasts[product->yeasts_row].y_max_temperature = query.value(6).toDouble(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
905 | product->yeasts[product->yeasts_row].y_flocculation = query.value(7).toInt(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
906 | product->yeasts[product->yeasts_row].y_attenuation = query.value(8).toDouble(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
907 | product->yeasts[product->yeasts_row].y_cells = query.value(9).toDouble(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
908 | product->yeasts[product->yeasts_row].y_tolerance = query.value(10).toDouble(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
909 | product->yeasts[product->yeasts_row].y_sta1 = query.value(11).toInt() ? true:false; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
910 | product->yeasts[product->yeasts_row].y_bacteria = query.value(12).toInt() ? true:false; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
911 | product->yeasts[product->yeasts_row].y_harvest_top = query.value(13).toInt() ? true:false; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
912 | product->yeasts[product->yeasts_row].y_harvest_time = query.value(14).toInt(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
913 | product->yeasts[product->yeasts_row].y_pitch_temperature = query.value(15).toDouble(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
914 | product->yeasts[product->yeasts_row].y_pofpos = query.value(16).toInt() ? true:false; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
915 | product->yeasts[product->yeasts_row].y_zymocide = query.value(17).toInt(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
916 | product->yeasts[product->yeasts_row].y_gr_hl_lo = query.value(18).toInt(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
917 | product->yeasts[product->yeasts_row].y_sg_lo = query.value(19).toDouble(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
918 | product->yeasts[product->yeasts_row].y_gr_hl_hi = query.value(20).toInt(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
919 | product->yeasts[product->yeasts_row].y_sg_hi = query.value(21).toDouble(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
920 | product->yeasts[product->yeasts_row].y_cost = query.value(22).toDouble(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
921 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
922 | /* |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
923 | * Update the visible fields |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
924 | */ |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
925 | ynameEdit->setText(product->yeasts.at(product->yeasts_row).y_name); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
926 | ylaboratoryEdit->setText(product->yeasts.at(product->yeasts_row).y_laboratory); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
927 | yproduct_idEdit->setText(product->yeasts.at(product->yeasts_row).y_product_id); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
928 | if (product->yeasts.at(product->yeasts_row).y_form == 0) { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
929 | yamountEdit->setDecimals(0); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
930 | yamountEdit->setSingleStep(1.0); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
931 | yamountLabel->setText(tr("Total packs:")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
932 | } else if (product->yeasts.at(product->yeasts_row).y_form == 1) { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
933 | yamountEdit->setDecimals(1); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
934 | yamountEdit->setSingleStep(0.5); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
935 | yamountLabel->setText(tr("Amount in gr:")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
936 | } else { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
937 | yamountEdit->setDecimals(1); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
938 | yamountEdit->setSingleStep(0.5); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
939 | yamountLabel->setText(tr("Amount in ml:")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
940 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
941 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
942 | ui->yeastsTable->setItem(product->yeasts_row, 0, new QTableWidgetItem(product->yeasts.at(product->yeasts_row).y_name)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
943 | ui->yeastsTable->setItem(product->yeasts_row, 1, new QTableWidgetItem(product->yeasts.at(product->yeasts_row).y_laboratory)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
944 | ui->yeastsTable->setItem(product->yeasts_row, 2, new QTableWidgetItem(product->yeasts.at(product->yeasts_row).y_product_id)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
945 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
946 | item = new QTableWidgetItem(yeast_forms[product->yeasts.at(product->yeasts_row).y_form]); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
947 | item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
948 | ui->yeastsTable->setItem(product->yeasts_row, 3, item); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
949 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
950 | item = new QTableWidgetItem(QString("%1").arg(product->yeasts.at(product->yeasts_row).y_min_temperature, 2, 'f', 1, '0')); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
951 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
952 | ui->yeastsTable->setItem(product->yeasts_row, 5, item); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
953 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
954 | item = new QTableWidgetItem(QString("%1").arg(product->yeasts.at(product->yeasts_row).y_max_temperature, 2, 'f', 1, '0')); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
955 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
956 | ui->yeastsTable->setItem(product->yeasts_row, 6, item); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
957 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
958 | item = new QTableWidgetItem(QString("%1").arg(product->yeasts.at(product->yeasts_row).y_tolerance, 2, 'f', 1, '0')); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
959 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
960 | ui->yeastsTable->setItem(product->yeasts_row, 7, item); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
961 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
962 | item = new QTableWidgetItem(QString("%1").arg(product->yeasts.at(product->yeasts_row).y_attenuation, 2, 'f', 1, '0')); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
963 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
964 | ui->yeastsTable->setItem(product->yeasts_row, 8, item); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
965 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
966 | calcYeast(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
967 | is_changed(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
968 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
969 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
970 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
971 | void EditProduct::yeast_instock_changed(bool val) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
972 | { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
973 | QSqlQuery query; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
974 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
975 | qDebug() << "yeast_instock_changed()" << product->yeasts_row << val; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
976 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
977 | this->yselectEdit->setCurrentIndex(-1); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
978 | this->yselectEdit->clear(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
979 | QString sql = "SELECT name,laboratory,product_id,inventory FROM inventory_yeasts "; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
980 | if (val) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
981 | sql.append("WHERE inventory > 0 "); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
982 | sql.append("ORDER BY laboratory,product_id,name"); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
983 | query.prepare(sql); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
984 | query.exec(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
985 | query.first(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
986 | this->yselectEdit->addItem(""); // Start with empty value |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
987 | for (int i = 0; i < query.size(); i++) { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
988 | this->yselectEdit->addItem(query.value(1).toString()+" - "+query.value(2).toString()+" "+query.value(0).toString() + |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
989 | QString(" (%1 gr)").arg(query.value(3).toDouble() * 1000.0, 2, 'f', 1, '0')); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
990 | query.next(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
991 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
992 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
993 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
994 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
995 | void EditProduct::yeast_useat_changed(int val) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
996 | { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
997 | qDebug() << "yeast_useat_changed()" << product->yeasts_row << val; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
998 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
999 | product->yeasts[product->yeasts_row].y_use = val; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1000 | QTableWidgetItem *item = new QTableWidgetItem(yeast_use[val]); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1001 | item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1002 | ui->yeastsTable->setItem(product->yeasts_row, 5, item); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1003 | is_changed(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1004 | emit refreshAll(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1005 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1006 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1007 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1008 | void EditProduct::editYeastRow_clicked() |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1009 | { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1010 | QSqlQuery query; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1011 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1012 | if (product->locked) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1013 | return; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1014 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1015 | QPushButton *pb = qobject_cast<QPushButton *>(QObject::sender()); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1016 | product->yeasts_row = pb->objectName().toInt(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1017 | qDebug() << "Edit yeast row" << product->yeasts_row; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1018 | Yeasts backup = product->yeasts.at(product->yeasts_row); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1019 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1020 | QDialog* dialog = new QDialog(this); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1021 | dialog->resize(738, 260); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1022 | QDialogButtonBox *buttonBox = new QDialogButtonBox(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1023 | buttonBox->setObjectName(QString::fromUtf8("buttonBox")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1024 | buttonBox->setGeometry(QRect(30, 210, 671, 32)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1025 | buttonBox->setLayoutDirection(Qt::LeftToRight); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1026 | buttonBox->setOrientation(Qt::Horizontal); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1027 | buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1028 | buttonBox->setCenterButtons(true); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1029 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1030 | QLabel *nameLabel = new QLabel(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1031 | nameLabel->setObjectName(QString::fromUtf8("nameLabel")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1032 | nameLabel->setText(tr("Yeast name:")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1033 | nameLabel->setGeometry(QRect(10, 10, 141, 20)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1034 | nameLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1035 | QLabel *laboratoryLabel = new QLabel(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1036 | laboratoryLabel->setObjectName(QString::fromUtf8("laboratoryLabel")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1037 | laboratoryLabel->setText(tr("Laboratory:")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1038 | laboratoryLabel->setGeometry(QRect(10, 40, 141, 20)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1039 | laboratoryLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1040 | QLabel *product_idLabel = new QLabel(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1041 | product_idLabel->setObjectName(QString::fromUtf8("product_idLabel")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1042 | product_idLabel->setText(tr("Laboratory:")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1043 | product_idLabel->setGeometry(QRect(10, 70, 141, 20)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1044 | product_idLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1045 | QLabel *selectLabel = new QLabel(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1046 | selectLabel->setObjectName(QString::fromUtf8("selectLabel")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1047 | selectLabel->setText(tr("Select yeast:")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1048 | selectLabel->setGeometry(QRect(10,100, 141, 20)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1049 | selectLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1050 | QLabel *instockLabel = new QLabel(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1051 | instockLabel->setObjectName(QString::fromUtf8("instockLabel")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1052 | instockLabel->setText(tr("In stock:")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1053 | instockLabel->setGeometry(QRect(525,100, 121, 20)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1054 | instockLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1055 | yamountLabel = new QLabel(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1056 | yamountLabel->setObjectName(QString::fromUtf8("amountLabel")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1057 | if (product->yeasts.at(product->yeasts_row).y_form == 0) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1058 | yamountLabel->setText(tr("Total packs:")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1059 | else if (product->yeasts.at(product->yeasts_row).y_form == 1) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1060 | yamountLabel->setText(tr("Amount in gr:")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1061 | else |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1062 | yamountLabel->setText(tr("Amount in ml:")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1063 | yamountLabel->setGeometry(QRect(10, 130, 141, 20)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1064 | yamountLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1065 | QLabel *useatLabel = new QLabel(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1066 | useatLabel->setObjectName(QString::fromUtf8("useatLabel")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1067 | useatLabel->setText(tr("Use at:")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1068 | useatLabel->setGeometry(QRect(10, 160, 141, 20)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1069 | useatLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1070 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1071 | ynameEdit = new QLineEdit(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1072 | ynameEdit->setObjectName(QString::fromUtf8("ynameEdit")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1073 | ynameEdit->setText(product->yeasts.at(product->yeasts_row).y_name); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1074 | ynameEdit->setGeometry(QRect(160, 10, 511, 23)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1075 | ynameEdit->setReadOnly(true); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1076 | ylaboratoryEdit = new QLineEdit(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1077 | ylaboratoryEdit->setObjectName(QString::fromUtf8("ylaboratoryEdit")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1078 | ylaboratoryEdit->setText(product->yeasts.at(product->yeasts_row).y_laboratory); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1079 | ylaboratoryEdit->setGeometry(QRect(160, 40, 511, 23)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1080 | ylaboratoryEdit->setReadOnly(true); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1081 | yproduct_idEdit = new QLineEdit(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1082 | yproduct_idEdit->setObjectName(QString::fromUtf8("yproduct_idEdit")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1083 | yproduct_idEdit->setText(product->yeasts.at(product->yeasts_row).y_product_id); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1084 | yproduct_idEdit->setGeometry(QRect(160, 70, 511, 23)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1085 | yproduct_idEdit->setReadOnly(true); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1086 | yselectEdit = new QComboBox(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1087 | yselectEdit->setObjectName(QString::fromUtf8("selectEdit")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1088 | yselectEdit->setGeometry(QRect(160,100, 371, 23)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1089 | yinstockEdit = new QCheckBox(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1090 | yinstockEdit->setObjectName(QString::fromUtf8("yinstockEdit")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1091 | yinstockEdit->setGeometry(QRect(655,100, 85, 21)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1092 | yinstockEdit->setChecked(true); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1093 | yamountEdit = new QDoubleSpinBox(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1094 | yamountEdit->setObjectName(QString::fromUtf8("yamountEdit")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1095 | yamountEdit->setGeometry(QRect(160, 130, 121, 24)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1096 | yamountEdit->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1097 | yamountEdit->setAccelerated(true); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1098 | if (product->yeasts.at(product->yeasts_row).y_form == 0) { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1099 | yamountEdit->setDecimals(0); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1100 | yamountEdit->setSingleStep(1.0); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1101 | yamountEdit->setValue(product->yeasts.at(product->yeasts_row).y_amount); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1102 | } else if (product->yeasts.at(product->yeasts_row).y_form == 1) { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1103 | yamountEdit->setDecimals(1); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1104 | yamountEdit->setSingleStep(0.5); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1105 | yamountEdit->setValue(product->yeasts.at(product->yeasts_row).y_amount * 1000.0); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1106 | } else { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1107 | yamountEdit->setDecimals(1); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1108 | yamountEdit->setSingleStep(0.5); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1109 | yamountEdit->setValue(product->yeasts.at(product->yeasts_row).y_amount * 1000.0); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1110 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1111 | yamountEdit->setMaximum(1000000000.0); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1112 | useatEdit = new QComboBox(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1113 | useatEdit->setObjectName(QString::fromUtf8("useatEdit")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1114 | useatEdit->setGeometry(QRect(160, 160, 161, 23)); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1115 | useatEdit->addItem(tr("Primary")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1116 | useatEdit->addItem(tr("Secondary")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1117 | useatEdit->addItem(tr("Tertiary")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1118 | useatEdit->addItem(tr("Bottle")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1119 | useatEdit->setCurrentIndex(product->yeasts.at(product->yeasts_row).y_use); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1120 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1121 | yeast_instock_changed(true); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1122 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1123 | connect(yselectEdit, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &EditProduct::yeast_select_changed); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1124 | connect(yamountEdit, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this, &EditProduct::yeast_amount_changed); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1125 | connect(useatEdit, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &EditProduct::yeast_useat_changed); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1126 | connect(yinstockEdit, &QCheckBox::stateChanged, this, &EditProduct::yeast_instock_changed); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1127 | connect(buttonBox, SIGNAL(rejected()), dialog, SLOT(reject())); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1128 | connect(buttonBox, SIGNAL(accepted()), dialog, SLOT(accept())); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1129 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1130 | dialog->setModal(true); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1131 | dialog->exec(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1132 | if (dialog->result() == QDialog::Rejected) { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1133 | qDebug() << "reject and rollback"; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1134 | product->yeasts[product->yeasts_row] = backup; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1135 | } else { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1136 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1137 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1138 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1139 | disconnect(yselectEdit, nullptr, nullptr, nullptr); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1140 | disconnect(yamountEdit, nullptr, nullptr, nullptr); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1141 | disconnect(useatEdit, nullptr, nullptr, nullptr); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1142 | disconnect(yinstockEdit, nullptr, nullptr, nullptr); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1143 | disconnect(buttonBox, nullptr, nullptr, nullptr); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1144 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1145 | emit refreshAll(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1146 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1147 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1148 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1149 | void EditProduct::adjustYeasts(double factor) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1150 | { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1151 | double amount; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1152 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1153 | if (product->yeasts.size() == 0) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1154 | return; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1155 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1156 | for (int i = 0; i < product->yeasts.size(); i++) { |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
1157 | if (product->yeasts.at(i).y_form == YEAST_FORMS_DRY) { // Only adjust dry yeast |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1158 | amount = product->yeasts.at(i).y_amount * factor; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1159 | product->yeasts[i].y_amount = amount; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1160 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1161 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1162 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1163 |