Fri, 20 May 2022 22:06:06 +0200
Version 0.2.1. Updated translations.
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 | |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
184 | if (product->yeasts.size() == 0) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
185 | return; // No yeast in product. |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
186 | |
198
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
187 | calcViability(); |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
188 | |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
189 | 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
|
190 | 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
|
191 | 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
|
192 | /* |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
193 | * 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
|
194 | * 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
|
195 | */ |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
196 | ui->yeastProcedure->setCurrentIndex(2); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
197 | 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
|
198 | 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
|
199 | 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
|
200 | 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
|
201 | 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
|
202 | 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
|
203 | 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
|
204 | 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
|
205 | qDebug() << " sg:" << sg << "og:" << og << "f1:" << f1 << "f2:" << f2 << "multiplier:" << multiplier; |
200
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
206 | double yeast_grams = round(volume * multiplier * 100.0) / product->starter_viability; |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
207 | double yeast_gr_hl = round((yeast_grams / (volume * 0.01)) * 100.0) / 100.0; |
200
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
208 | double pitch_gr_hl = round(((product->yeasts.at(i).y_amount * 1000.0) / (volume * 0.01)) * 100.0) / 100.0; |
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
209 | ui->dry_needShow->setValue(yeast_grams); |
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
210 | ui->dry_pitchrateShow->setValue(yeast_gr_hl); |
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
211 | ui->pitch_grShow->setValue(pitch_gr_hl); |
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
212 | ui->pitch_grShow->setStyleSheet((pitch_gr_hl < yeast_gr_hl) ? "background-color: red":""); |
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
213 | |
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
214 | qDebug() << " need" << yeast_grams << "grams, gr/hl:" << yeast_gr_hl << "pitch:" << pitch_gr_hl; |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
215 | return; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
216 | } else { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
217 | /* |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
218 | * Liquid, slant, culture etc. |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
219 | * 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
|
220 | * 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
|
221 | */ |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
222 | ui->yeastProcedure->setCurrentIndex(1); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
223 | if (product->yeast_pitchrate == 0) { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
224 | /* |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
225 | * No pitchrate yet, do a educated guess .. |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
226 | */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
227 | 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
|
228 | product->yeast_pitchrate = 1.5; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
229 | if (sg > 1.060) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
230 | product->yeast_pitchrate = 2.0; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
231 | } 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
|
232 | product->yeast_pitchrate = 0.075; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
233 | } else { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
234 | product->yeast_pitchrate = 0.75; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
235 | if (sg > 1.060) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
236 | product->yeast_pitchrate = 1.0; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
237 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
238 | is_changed(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
239 | 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
|
240 | } |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
241 | |
198
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
242 | 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
|
243 | 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
|
244 | 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
|
245 | |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
246 | needed = round(product->yeast_pitchrate * volume * plato * 10.0) / 10.0; |
199
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
247 | ui->neededShow->setValue(needed); |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
248 | if (needed > initcells) { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
249 | maybe_starter = true; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
250 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
251 | |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
252 | 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
|
253 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
254 | break; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
255 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
256 | } |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
257 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
258 | if (maybe_starter != product->starter_enable) { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
259 | product->starter_enable = maybe_starter; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
260 | qDebug() << " Set starter enable" << maybe_starter; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
261 | is_changed(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
262 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
263 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
264 | if (product->starter_enable) { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
265 | qDebug() << " Starter calculate.."; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
266 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
267 | 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
|
268 | ui->starterTable->show(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
269 | ui->starterTable->setEditTriggers(QAbstractItemView::NoEditTriggers); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
270 | ui->starterTable->clear(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
271 | ui->starterTable->setColumnCount(7); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
272 | ui->starterTable->setRowCount(0); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
273 | ui->starterTable->setColumnWidth(0, 130); /* Method */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
274 | ui->starterTable->setColumnWidth(1, 90); /* Volume */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
275 | ui->starterTable->setColumnWidth(2, 90); /* Inj. factor */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
276 | ui->starterTable->setColumnWidth(3, 90); /* New cells */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
277 | ui->starterTable->setColumnWidth(4, 90); /* Total cells */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
278 | ui->starterTable->setColumnWidth(5, 90); /* Grow factor */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
279 | ui->starterTable->setColumnWidth(6, 30); /* Edit button */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
280 | ui->starterTable->setHorizontalHeaderLabels(labels); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
281 | calcSteps(product->starter_type, initcells, needed); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
282 | } else { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
283 | ui->starterTable->hide(); |
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 | |
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 | * 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
|
290 | * |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
291 | * stype: 0=stirred, 1=shaken, 2=simple |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
292 | * totcells: initial cells |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
293 | * egrams: gram extract |
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 | 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
|
296 | { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
297 | /* Cells per grams extract (B/g) */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
298 | double cpe = totcells / egrams; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
299 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
300 | if (cpe > 3.5) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
301 | return 0; // no growth |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
302 | if (stype == STARTERS_SIMPLE) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
303 | return 0.4; // simple starter |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
304 | if (stype == STARTERS_SHAKEN) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
305 | return 0.62; // shaken starter |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
306 | if (cpe <= 1.4) // stirred starter |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
307 | return 1.4; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
308 | return 2.33 - (.67 * cpe); |
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 | |
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 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
|
313 | { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
314 | StepResult res; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
315 | 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
|
316 | 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
|
317 | 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
|
318 | double grate = getGrowthRate(stype, start, egrams); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
319 | 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
|
320 | double totcells = ncells + start; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
321 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
322 | res.svol = svol; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
323 | res.irate = irate; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
324 | res.ncells = ncells; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
325 | res.totcells = totcells; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
326 | 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
|
327 | qDebug() << " calcStep(" << svol << "," << stype << "," << start << ") irate" << irate |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
328 | << "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
|
329 | return res; |
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 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
333 | /* |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
334 | * Calculate all starter steps. |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
335 | * 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
|
336 | * start: initial cells in billions |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
337 | * needed: needed cells in billions |
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 | * result: all values updated. |
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 | 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
|
342 | { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
343 | int i, step, svol; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
344 | int lasti = 0; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
345 | /* Erlenmeyer sizes */ |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
346 | 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
|
347 | int mvols = sizeof(uvols); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
348 | StepResult result; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
349 | QTableWidgetItem *item; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
350 | QWidget* pWidget; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
351 | QHBoxLayout* pLayout; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
352 | double tcells = start; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
353 | QIcon iconT; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
354 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
355 | 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
|
356 | |
196
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
357 | 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
|
358 | /* |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
359 | * Auto calculate the starter. |
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 | qDebug() << " calcSteps() auto"; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
362 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
363 | if (start > needed) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
364 | return; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
365 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
366 | for (step = 1; step < 5; step++) { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
367 | qDebug() << " step" << step; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
368 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
369 | for (i = lasti; i <= mvols; i++) { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
370 | lasti = i; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
371 | svol = uvols[lasti]; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
372 | result = calcStep(svol, stype, tcells); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
373 | if (result.irate < 25) { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
374 | // 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
|
375 | lasti = i - 1; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
376 | svol = uvols[lasti]; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
377 | result = calcStep(svol, stype, tcells); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
378 | break; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
379 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
380 | 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
|
381 | break; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
382 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
383 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
384 | ui->starterTable->setRowCount(step); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
385 | item = new QTableWidgetItem(starters[stype]); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
386 | item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
387 | ui->starterTable->setItem(step -1, 0, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
388 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
389 | 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
|
390 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
391 | ui->starterTable->setItem(step -1, 1, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
392 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
393 | 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
|
394 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
199
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
395 | if ((result.irate < 25) || (result.irate > 100)) |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
396 | item->setForeground(QBrush(QColor(Qt::red))); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
397 | ui->starterTable->setItem(step -1, 2, 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.ncells, 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, 3, 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.totcells, 2, 'f', 1, '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); |
199
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
405 | item->setForeground(QBrush(QColor((result.totcells > needed) ? Qt::green:Qt::red))); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
406 | ui->starterTable->setItem(step -1, 4, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
407 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
408 | 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
|
409 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
199
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
410 | if (result.growf < 1) |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
411 | item->setForeground(QBrush(QColor(Qt::red))); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
412 | if ((stype > 0) && (result.growf > 3)) |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
413 | item->setForeground(QBrush(QColor(Qt::red))); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
414 | ui->starterTable->setItem(step -1, 5, item); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
415 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
416 | pWidget = new QWidget(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
417 | QToolButton* btn_edit = new QToolButton(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
418 | 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
|
419 | btn_edit->setIcon(iconT); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
420 | 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
|
421 | pLayout = new QHBoxLayout(pWidget); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
422 | pLayout->addWidget(btn_edit); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
423 | pLayout->setContentsMargins(5, 0, 5, 0); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
424 | pWidget->setLayout(pLayout); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
425 | ui->starterTable->setCellWidget(step -1, 6, pWidget); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
426 | |
196
f7954f2d4451
Internal product record stores the starter steps in array format.
Michiel Broek <mbroek@mbse.eu>
parents:
195
diff
changeset
|
427 | 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
|
428 | 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
|
429 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
430 | tcells = result.totcells; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
431 | if (result.totcells > needed) // Hit the target |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
432 | return; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
433 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
434 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
435 | } else { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
436 | /* |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
437 | * Recalculate the starter. |
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 | qDebug() << " calcSteps() recalculate"; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
440 | |
199
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
441 | for (step = 0; step < 4; step++) { |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
442 | if (product->prop_volume[step] > 0) { |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
443 | result = calcStep(product->prop_volume[step] * 1000, product->prop_type[step], tcells); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
444 | ui->starterTable->setRowCount(step + 1); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
445 | item = new QTableWidgetItem(starters[product->prop_type[step]]); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
446 | item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
447 | ui->starterTable->setItem(step, 0, item); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
448 | |
199
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
449 | item = new QTableWidgetItem(QString("%1").arg(result.svol / 1000.0, 4, 'f', 3, '0')); // To liters |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
450 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
451 | ui->starterTable->setItem(step, 1, item); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
452 | |
199
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
453 | item = new QTableWidgetItem(QString("%1").arg(result.irate, 2, 'f', 1, '0')); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
454 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
455 | if ((result.irate < 25) || (result.irate > 100)) |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
456 | item->setForeground(QBrush(QColor(Qt::red))); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
457 | ui->starterTable->setItem(step, 2, item); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
458 | |
199
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
459 | item = new QTableWidgetItem(QString("%1").arg(result.ncells, 2, 'f', 1, '0')); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
460 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
461 | ui->starterTable->setItem(step, 3, item); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
462 | |
199
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
463 | item = new QTableWidgetItem(QString("%1").arg(result.totcells, 2, 'f', 1, '0')); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
464 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
465 | item->setForeground(QBrush(QColor((result.totcells > needed) ? Qt::green:Qt::red))); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
466 | ui->starterTable->setItem(step, 4, item); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
467 | |
199
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
468 | item = new QTableWidgetItem(QString("%1").arg(result.growf, 3, 'f', 2, '0')); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
469 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
470 | if (result.growf < 1) |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
471 | item->setForeground(QBrush(QColor(Qt::red))); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
472 | if ((stype > 0) && (result.growf > 3)) |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
473 | item->setForeground(QBrush(QColor(Qt::red))); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
474 | ui->starterTable->setItem(step, 5, item); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
475 | |
199
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
476 | pWidget = new QWidget(); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
477 | QToolButton* btn_edit = new QToolButton(); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
478 | btn_edit->setObjectName(QString("%1").arg(step)); /* Send row with the button */ |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
479 | btn_edit->setIcon(iconT); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
480 | connect(btn_edit, SIGNAL(clicked()), this, SLOT(yeast_starter_edit_clicked())); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
481 | pLayout = new QHBoxLayout(pWidget); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
482 | pLayout->addWidget(btn_edit); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
483 | pLayout->setContentsMargins(5, 0, 5, 0); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
484 | pWidget->setLayout(pLayout); |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
485 | ui->starterTable->setCellWidget(step, 6, pWidget); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
486 | |
199
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
487 | tcells = result.totcells; |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
488 | if (result.totcells > needed) { // Hit the target |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
489 | for (int i = step + 1; i < 4; i++) { |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
490 | product->prop_volume[i] = 0; |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
491 | product->prop_type[i] = 0; |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
492 | } |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
493 | return; |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
494 | } else if ((step < 3) && (product->prop_volume[step + 1] == 0)) { // Extra step needed, start with the same size. |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
495 | product->prop_volume[step + 1] = product->prop_volume[step]; |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
496 | product->prop_type[step + 1] = product->prop_type[step]; |
59b0bdbb2f9f
Added field to show the needed cells. Colors in the starter table for good and error results.
Michiel Broek <mbroek@mbse.eu>
parents:
198
diff
changeset
|
497 | } |
195
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 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
500 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
501 | } |
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 | |
198
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
504 | void EditProduct::calcViability() |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
505 | { |
198
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
506 | double vpm = 1.00; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
507 | double max = 100; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
508 | |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
509 | for (int i = 0; i < product->yeasts.size(); i++) { |
200
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
510 | if (product->yeasts.at(i).y_use == YEAST_USE_PRIMARY) { |
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
511 | 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
|
512 | vpm = 0.80; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
513 | max = 97; |
200
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
514 | if (product->yeasts.at(i).y_laboratory == "White Labs") { // PurePitch |
198
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
515 | vpm = 0.95; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
516 | max = 100; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
517 | } |
200
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
518 | } else if (product->yeasts.at(i).y_form == YEAST_FORMS_DRY) { |
198
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
519 | vpm = 0.998; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
520 | max = 100; |
200
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
521 | } else if (product->yeasts.at(i).y_form == YEAST_FORMS_DRIED) { // dried kveik |
198
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
522 | vpm = 0.92; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
523 | max = 100; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
524 | } else { // Slant, Culture, Frozen, Bottle |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
525 | vpm = 0.99; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
526 | max = 97; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
527 | } |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
528 | } |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
529 | } |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
530 | qDebug() << "calcViability vpm:" << vpm << "max:" << max; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
531 | |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
532 | double base = max; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
533 | |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
534 | /* |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
535 | * Calculate time days before today. If the date is cleared, |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
536 | * 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
|
537 | */ |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
538 | int timeDiff = product->yeast_prod_date.daysTo(QDate::currentDate()); |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
539 | if (timeDiff < 0) |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
540 | timeDiff == 0; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
541 | |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
542 | 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
|
543 | for (int i = 0; i < timeDiff; i++) { |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
544 | base = base * degrade; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
545 | } |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
546 | if (base > max) |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
547 | base = max; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
548 | base = round(base); |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
549 | product->starter_viability = base; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
550 | ui->conditionShow->setValue(product->starter_viability); |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
551 | qDebug() << "age" << timeDiff << "degrade" << degrade << "base" << base ; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
552 | } |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
553 | |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
554 | |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
555 | void EditProduct::yeast_prod_date_changed(QDate val) |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
556 | { |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
557 | product->yeast_prod_date = ui->productionEdit->nullDate(); |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
558 | qDebug() << "yeast_prod_date_changed" << val << product->yeast_prod_date; |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
559 | calcViability(); |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
560 | calcYeast(); |
202
49ec4fdee5a6
Added mash steps pH and SG values.
Michiel Broek <mbroek@mbse.eu>
parents:
201
diff
changeset
|
561 | is_changed(); |
198
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
562 | } |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
563 | |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
564 | |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
565 | void EditProduct::yeast_prod_date_clear() |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
566 | { |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
567 | product->yeast_prod_date = QDate(); |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
568 | ui->productionEdit->setDate(QDate()); |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
569 | } |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
570 | |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
571 | |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
572 | void EditProduct::yeast_prod_date_today() |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
573 | { |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
574 | product->yeast_prod_date = QDate::currentDate(); |
904591820c3d
Added yeast viability calculation.
Michiel Broek <mbroek@mbse.eu>
parents:
197
diff
changeset
|
575 | ui->productionEdit->setDate(QDate::currentDate()); |
195
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
576 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
577 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
578 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
579 | void EditProduct::yeast_method_changed(int val) |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
580 | { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
581 | qDebug() << "yeast_method_changed" << val; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
582 | product->starter_type = val; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
583 | calcYeast(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
584 | is_changed(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
585 | } |
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 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
588 | 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
|
589 | { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
590 | qDebug() << "yeast_starter_sg_changed" << val; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
591 | product->starter_sg = val; |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
592 | calcYeast(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
593 | is_changed(); |
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 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
596 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
597 | void EditProduct::yeast_pitchrate_button_clicked() |
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 | } |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
600 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
601 | |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
602 | void EditProduct::yeast_starter_edit_clicked() |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
603 | { |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
604 | QToolButton *pb = qobject_cast<QToolButton *>(QObject::sender()); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
605 | int row = pb->objectName().toInt(); |
9887278c4fbe
The framework to calculate yeast starters added.
Michiel Broek <mbroek@mbse.eu>
parents:
179
diff
changeset
|
606 | 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
|
607 | |
197
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
608 | QDialog* dialog = new QDialog(this); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
609 | dialog->resize(338, 140); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
610 | QDialogButtonBox *buttonBox = new QDialogButtonBox(dialog); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
611 | buttonBox->setObjectName(QString::fromUtf8("buttonBox")); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
612 | buttonBox->setGeometry(QRect(30, 90, 271, 32)); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
613 | buttonBox->setLayoutDirection(Qt::LeftToRight); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
614 | buttonBox->setOrientation(Qt::Horizontal); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
615 | buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
616 | buttonBox->setCenterButtons(true); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
617 | |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
618 | QLabel *typeLabel = new QLabel(dialog); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
619 | typeLabel->setObjectName(QString::fromUtf8("typeLabel")); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
620 | typeLabel->setText(tr("Start step type:")); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
621 | typeLabel->setGeometry(QRect(10, 10, 141, 20)); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
622 | typeLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
623 | QLabel *volLabel = new QLabel(dialog); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
624 | volLabel->setObjectName(QString::fromUtf8("volLabel")); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
625 | volLabel->setText(tr("Starter step volume:")); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
626 | volLabel->setGeometry(QRect(10, 40, 141, 20)); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
627 | volLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
628 | |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
629 | QComboBox *typeEdit = new QComboBox(dialog); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
630 | typeEdit->setObjectName(QString::fromUtf8("typeEdit")); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
631 | typeEdit->setGeometry(QRect(160, 10, 121, 23)); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
632 | typeEdit->addItem(tr("Stirred")); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
633 | typeEdit->addItem(tr("Shaken")); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
634 | typeEdit->addItem(tr("Simple")); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
635 | typeEdit->setCurrentIndex(product->prop_type[row]); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
636 | |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
637 | QDoubleSpinBox *volEdit = new QDoubleSpinBox(dialog); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
638 | volEdit->setObjectName(QString::fromUtf8("volEdit")); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
639 | volEdit->setGeometry(QRect(160, 40, 121, 24)); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
640 | volEdit->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
641 | volEdit->setAccelerated(true); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
642 | volEdit->setDecimals(3); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
643 | volEdit->setSingleStep(0.01); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
644 | volEdit->setValue(product->prop_volume[row]); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
645 | volEdit->setMaximum(5); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
646 | |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
647 | connect(buttonBox, SIGNAL(rejected()), dialog, SLOT(reject())); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
648 | connect(buttonBox, SIGNAL(accepted()), dialog, SLOT(accept())); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
649 | |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
650 | dialog->setModal(true); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
651 | dialog->exec(); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
652 | if (dialog->result() == QDialog::Rejected) { |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
653 | qDebug() << "reject"; |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
654 | } else { |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
655 | product->prop_type[row] = typeEdit->currentIndex(); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
656 | product->prop_volume[row] = volEdit->value(); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
657 | qDebug() << "accept"; |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
658 | calcYeast(); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
659 | is_changed(); |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
660 | } |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
661 | |
6a5e5b3d0fcd
Completed the starter step popup editor
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
662 | 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
|
663 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
664 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
665 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
666 | void EditProduct::addYeastRow_clicked() |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
667 | { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
668 | Yeasts newy; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
669 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
670 | qDebug() << "Add yeast row"; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
671 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
672 | 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
|
673 | 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
|
674 | 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
|
675 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
676 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
677 | newy.y_name = "Select one"; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
678 | newy.y_laboratory = ""; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
679 | newy.y_product_id = ""; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
680 | newy.y_amount = 0; |
200
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
681 | newy.y_type = YEAST_TYPES_ALE; |
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
682 | newy.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
|
683 | newy.y_min_temperature = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
684 | newy.y_max_temperature = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
685 | newy.y_flocculation = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
686 | newy.y_attenuation = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
687 | newy.y_cells = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
688 | newy.y_tolerance = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
689 | newy.y_inventory = 0; |
200
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
690 | newy.y_use = YEAST_USE_PRIMARY; |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
691 | newy.y_sta1 = false; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
692 | newy.y_bacteria = false; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
693 | newy.y_harvest_top = false; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
694 | newy.y_harvest_time = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
695 | newy.y_pitch_temperature = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
696 | newy.y_pofpos = false; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
697 | newy.y_zymocide = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
698 | 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
|
699 | newy.y_sg_lo = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
700 | 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
|
701 | newy.y_sg_hi = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
702 | newy.y_cost = 0; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
703 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
704 | product->yeasts.append(newy); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
705 | emit refreshAll(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
706 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
707 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
708 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
709 | void EditProduct::deleteYeastRow_clicked() |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
710 | { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
711 | 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
|
712 | return; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
713 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
714 | 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
|
715 | int row = pb->objectName().toInt(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
716 | 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
|
717 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
718 | 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
|
719 | 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
|
720 | if (rc == QMessageBox::No) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
721 | return; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
722 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
723 | product->yeasts.removeAt(row); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
724 | is_changed(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
725 | emit refreshAll(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
726 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
727 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
728 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
729 | 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
|
730 | { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
731 | QTableWidgetItem *item; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
732 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
733 | 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
|
734 | |
200
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
735 | if (product->yeasts.at(product->yeasts_row).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
|
736 | 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
|
737 | item = new QTableWidgetItem(QString("%1 pack").arg(val, 1, 'f', 0, '0')); |
200
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
738 | } else if ((product->yeasts.at(product->yeasts_row).y_form == YEAST_FORMS_DRY) || |
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
739 | (product->yeasts.at(product->yeasts_row).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
|
740 | 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
|
741 | 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
|
742 | } else { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
743 | 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
|
744 | 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
|
745 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
746 | 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
|
747 | 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
|
748 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
749 | calcYeast(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
750 | is_changed(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
751 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
752 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
753 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
754 | 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
|
755 | { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
756 | QSqlQuery query; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
757 | bool instock = yinstockEdit->isChecked(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
758 | QString w; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
759 | QTableWidgetItem *item; |
201
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
760 | int oldform = product->yeasts.at(product->yeasts_row).y_form; |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
761 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
762 | if (val < 1) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
763 | return; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
764 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
765 | 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
|
766 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
767 | /* |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
768 | * 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
|
769 | */ |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
770 | 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
|
771 | "cells,tolerance,sta1,bacteria,harvest_top,harvest_time,pitch_temperature,pofpos,zymocide," |
201
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
772 | "gr_hl_lo,sg_lo,gr_hl_hi,sg_hi,cost,inventory FROM inventory_yeasts "; |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
773 | if (instock) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
774 | sql.append("WHERE inventory > 0 "); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
775 | 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
|
776 | query.prepare(sql); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
777 | query.exec(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
778 | query.first(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
779 | 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
|
780 | query.next(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
781 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
782 | 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
|
783 | |
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 | * Replace the yeast record contents |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
786 | */ |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
787 | 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
|
788 | 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
|
789 | 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
|
790 | 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
|
791 | 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
|
792 | 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
|
793 | 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
|
794 | 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
|
795 | 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
|
796 | 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
|
797 | 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
|
798 | 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
|
799 | 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
|
800 | 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
|
801 | 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
|
802 | 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
|
803 | 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
|
804 | 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
|
805 | 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
|
806 | 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
|
807 | 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
|
808 | 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
|
809 | product->yeasts[product->yeasts_row].y_cost = query.value(22).toDouble(); |
201
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
810 | product->yeasts[product->yeasts_row].y_inventory = query.value(23).toDouble(); |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
811 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
812 | /* |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
813 | * Update the visible fields |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
814 | */ |
201
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
815 | const QSignalBlocker blocker1(yamountEdit); |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
816 | 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
|
817 | 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
|
818 | yproduct_idEdit->setText(product->yeasts.at(product->yeasts_row).y_product_id); |
200
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
819 | if (product->yeasts.at(product->yeasts_row).y_form == YEAST_FORMS_LIQUID) { |
201
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
820 | if (oldform != YEAST_FORMS_LIQUID) |
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
821 | product->yeasts[product->yeasts_row].y_amount = 1; |
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
822 | yamountEdit->setValue(product->yeasts[product->yeasts_row].y_amount); |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
823 | yamountEdit->setDecimals(0); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
824 | yamountEdit->setSingleStep(1.0); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
825 | yamountLabel->setText(tr("Total packs:")); |
200
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
826 | } else if ((product->yeasts.at(product->yeasts_row).y_form == YEAST_FORMS_DRY) || (product->yeasts.at(product->yeasts_row).y_form == YEAST_FORMS_DRIED)) { |
201
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
827 | if (oldform == YEAST_FORMS_LIQUID) |
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
828 | product->yeasts[product->yeasts_row].y_amount = 0.01; |
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
829 | yamountEdit->setValue(product->yeasts[product->yeasts_row].y_amount * 1000.0); |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
830 | yamountEdit->setDecimals(1); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
831 | yamountEdit->setSingleStep(0.5); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
832 | 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
|
833 | } else { |
201
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
834 | if (oldform == YEAST_FORMS_LIQUID) |
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
835 | product->yeasts[product->yeasts_row].y_amount = 0.01; |
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
836 | yamountEdit->setValue(product->yeasts[product->yeasts_row].y_amount * 1000.0); |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
837 | yamountEdit->setDecimals(1); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
838 | yamountEdit->setSingleStep(0.5); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
839 | 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
|
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 | 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
|
843 | 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
|
844 | 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
|
845 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
846 | 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
|
847 | 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
|
848 | 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
|
849 | |
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").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
|
851 | 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
|
852 | 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
|
853 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
854 | 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
|
855 | 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
|
856 | 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
|
857 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
858 | 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
|
859 | 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
|
860 | 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
|
861 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
862 | 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
|
863 | 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
|
864 | 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
|
865 | |
201
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
866 | if (product->yeasts.at(product->yeasts_row).y_form == YEAST_FORMS_LIQUID) |
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
867 | item = new QTableWidgetItem(QString("%1 pack").arg(product->yeasts.at(product->yeasts_row).y_amount, 1, 'f', 0, '0')); |
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
868 | else if (product->yeasts.at(product->yeasts_row).y_form == YEAST_FORMS_DRY || product->yeasts.at(product->yeasts_row).y_form == YEAST_FORMS_DRIED) |
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
869 | item = new QTableWidgetItem(QString("%1 gr").arg(product->yeasts.at(product->yeasts_row).y_amount * 1000.0, 3, 'f', 2, '0')); |
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
870 | else |
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
871 | item = new QTableWidgetItem(QString("%1 ml").arg(product->yeasts.at(product->yeasts_row).y_amount * 1000.0, 3, 'f', 2, '0')); |
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
872 | item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
873 | ui->yeastsTable->setItem(product->yeasts_row, 9, item); |
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
874 | |
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
875 | //calcYeast(); |
175
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
876 | is_changed(); |
201
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
877 | emit refreshAll(); |
175
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 | |
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 | 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
|
882 | { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
883 | QSqlQuery query; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
884 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
885 | 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
|
886 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
887 | this->yselectEdit->setCurrentIndex(-1); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
888 | this->yselectEdit->clear(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
889 | 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
|
890 | if (val) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
891 | sql.append("WHERE inventory > 0 "); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
892 | 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
|
893 | query.prepare(sql); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
894 | query.exec(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
895 | query.first(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
896 | 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
|
897 | 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
|
898 | 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
|
899 | 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
|
900 | query.next(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
901 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
902 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
903 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
904 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
905 | 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
|
906 | { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
907 | 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
|
908 | |
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_use = val; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
910 | 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
|
911 | 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
|
912 | 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
|
913 | is_changed(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
914 | emit refreshAll(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
915 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
916 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
917 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
918 | void EditProduct::editYeastRow_clicked() |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
919 | { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
920 | QSqlQuery query; |
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 | if (product->locked) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
923 | return; |
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 | 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
|
926 | 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
|
927 | 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
|
928 | 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
|
929 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
930 | QDialog* dialog = new QDialog(this); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
931 | dialog->resize(738, 260); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
932 | QDialogButtonBox *buttonBox = new QDialogButtonBox(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
933 | buttonBox->setObjectName(QString::fromUtf8("buttonBox")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
934 | 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
|
935 | buttonBox->setLayoutDirection(Qt::LeftToRight); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
936 | buttonBox->setOrientation(Qt::Horizontal); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
937 | 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
|
938 | buttonBox->setCenterButtons(true); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
939 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
940 | QLabel *nameLabel = new QLabel(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
941 | nameLabel->setObjectName(QString::fromUtf8("nameLabel")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
942 | nameLabel->setText(tr("Yeast name:")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
943 | 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
|
944 | 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
|
945 | QLabel *laboratoryLabel = new QLabel(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
946 | laboratoryLabel->setObjectName(QString::fromUtf8("laboratoryLabel")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
947 | laboratoryLabel->setText(tr("Laboratory:")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
948 | 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
|
949 | 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
|
950 | 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
|
951 | 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
|
952 | product_idLabel->setText(tr("Laboratory:")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
953 | 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
|
954 | 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
|
955 | QLabel *selectLabel = new QLabel(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
956 | selectLabel->setObjectName(QString::fromUtf8("selectLabel")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
957 | selectLabel->setText(tr("Select yeast:")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
958 | 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
|
959 | 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
|
960 | QLabel *instockLabel = new QLabel(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
961 | instockLabel->setObjectName(QString::fromUtf8("instockLabel")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
962 | instockLabel->setText(tr("In stock:")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
963 | 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
|
964 | 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
|
965 | yamountLabel = new QLabel(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
966 | yamountLabel->setObjectName(QString::fromUtf8("amountLabel")); |
200
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
967 | if (product->yeasts.at(product->yeasts_row).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
|
968 | yamountLabel->setText(tr("Total packs:")); |
200
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
969 | else if ((product->yeasts.at(product->yeasts_row).y_form == YEAST_FORMS_DRY) || (product->yeasts.at(product->yeasts_row).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
|
970 | 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
|
971 | else |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
972 | 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
|
973 | 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
|
974 | 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
|
975 | QLabel *useatLabel = new QLabel(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
976 | useatLabel->setObjectName(QString::fromUtf8("useatLabel")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
977 | useatLabel->setText(tr("Use at:")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
978 | 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
|
979 | 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
|
980 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
981 | ynameEdit = new QLineEdit(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
982 | ynameEdit->setObjectName(QString::fromUtf8("ynameEdit")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
983 | 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
|
984 | 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
|
985 | ynameEdit->setReadOnly(true); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
986 | ylaboratoryEdit = new QLineEdit(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
987 | ylaboratoryEdit->setObjectName(QString::fromUtf8("ylaboratoryEdit")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
988 | 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
|
989 | 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
|
990 | ylaboratoryEdit->setReadOnly(true); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
991 | yproduct_idEdit = new QLineEdit(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
992 | 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
|
993 | 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
|
994 | 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
|
995 | yproduct_idEdit->setReadOnly(true); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
996 | yselectEdit = new QComboBox(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
997 | yselectEdit->setObjectName(QString::fromUtf8("selectEdit")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
998 | 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
|
999 | yinstockEdit = new QCheckBox(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1000 | yinstockEdit->setObjectName(QString::fromUtf8("yinstockEdit")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1001 | 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
|
1002 | yinstockEdit->setChecked(true); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1003 | yamountEdit = new QDoubleSpinBox(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1004 | yamountEdit->setObjectName(QString::fromUtf8("yamountEdit")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1005 | 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
|
1006 | 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
|
1007 | yamountEdit->setAccelerated(true); |
201
b8232133a12d
Fixes for select another yeast.
Michiel Broek <mbroek@mbse.eu>
parents:
200
diff
changeset
|
1008 | yamountEdit->setMaximum(10000.0); |
200
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
1009 | if (product->yeasts.at(product->yeasts_row).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
|
1010 | yamountEdit->setDecimals(0); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1011 | yamountEdit->setSingleStep(1.0); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1012 | yamountEdit->setValue(product->yeasts.at(product->yeasts_row).y_amount); |
200
bbab7d37d12f
Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.
Michiel Broek <mbroek@mbse.eu>
parents:
199
diff
changeset
|
1013 | } else if ((product->yeasts.at(product->yeasts_row).y_form == YEAST_FORMS_DRY) || (product->yeasts.at(product->yeasts_row).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
|
1014 | yamountEdit->setDecimals(1); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1015 | yamountEdit->setSingleStep(0.5); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1016 | 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
|
1017 | } else { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1018 | yamountEdit->setDecimals(1); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1019 | yamountEdit->setSingleStep(0.5); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1020 | 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
|
1021 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1022 | yamountEdit->setMaximum(1000000000.0); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1023 | useatEdit = new QComboBox(dialog); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1024 | useatEdit->setObjectName(QString::fromUtf8("useatEdit")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1025 | 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
|
1026 | useatEdit->addItem(tr("Primary")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1027 | useatEdit->addItem(tr("Secondary")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1028 | useatEdit->addItem(tr("Tertiary")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1029 | useatEdit->addItem(tr("Bottle")); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1030 | 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
|
1031 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1032 | yeast_instock_changed(true); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1033 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1034 | 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
|
1035 | 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
|
1036 | 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
|
1037 | 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
|
1038 | 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
|
1039 | 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
|
1040 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1041 | dialog->setModal(true); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1042 | dialog->exec(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1043 | if (dialog->result() == QDialog::Rejected) { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1044 | qDebug() << "reject and rollback"; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1045 | 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
|
1046 | } else { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1047 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1048 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1049 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1050 | disconnect(yselectEdit, nullptr, nullptr, nullptr); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1051 | disconnect(yamountEdit, nullptr, nullptr, nullptr); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1052 | disconnect(useatEdit, nullptr, nullptr, nullptr); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1053 | disconnect(yinstockEdit, nullptr, nullptr, nullptr); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1054 | disconnect(buttonBox, nullptr, nullptr, nullptr); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1055 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1056 | emit refreshAll(); |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1057 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1058 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1059 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1060 | void EditProduct::adjustYeasts(double factor) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1061 | { |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1062 | double amount; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1063 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1064 | if (product->yeasts.size() == 0) |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1065 | return; |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1066 | |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1067 | 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
|
1068 | 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
|
1069 | 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
|
1070 | 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
|
1071 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1072 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1073 | } |
f1ed3a2a94e9
Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1074 |