src/EditProductTab11.cpp

Fri, 18 Nov 2022 16:57:02 +0100

author
Michiel Broek <mbroek@mbse.eu>
date
Fri, 18 Nov 2022 16:57:02 +0100
changeset 443
3c195eb4e7a1
parent 442
d8c110d91b1f
child 447
9b5acb1f5776
permissions
-rw-r--r--

Details CO2 monitor shows the style limits for the specific beer. Adjust the scale of the pressure widget to the beer limits. Moved more functions to the global Utils. Fix expected pressure in the package screen for other priming sugars. Disabled some debug log messages.

175
f1ed3a2a94e9 Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 /**
f1ed3a2a94e9 Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 * EditProduct.cpp is part of bmsapp.
f1ed3a2a94e9 Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 *
f1ed3a2a94e9 Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 * Tab 11, package
f1ed3a2a94e9 Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 *
f1ed3a2a94e9 Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 * bmsapp is free software: you can redistribute it and/or modify
f1ed3a2a94e9 Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 * it under the terms of the GNU General Public License as published by
f1ed3a2a94e9 Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 * the Free Software Foundation, either version 3 of the License, or
f1ed3a2a94e9 Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 * (at your option) any later version.
f1ed3a2a94e9 Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 *
f1ed3a2a94e9 Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 * bmsapp is distributed in the hope that it will be useful,
f1ed3a2a94e9 Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f1ed3a2a94e9 Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
f1ed3a2a94e9 Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 * GNU General Public License for more details.
f1ed3a2a94e9 Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 *
f1ed3a2a94e9 Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
f1ed3a2a94e9 Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
f1ed3a2a94e9 Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18 */
f1ed3a2a94e9 Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
20
439
31419b7cee69 Finally found the right way to calculate the bottle pressure in bar after refermentation.
Michiel Broek <mbroek@mbse.eu>
parents: 427
diff changeset
21 double EditProduct::GetPressure(double CO2, double T)
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
22 {
439
31419b7cee69 Finally found the right way to calculate the bottle pressure in bar after refermentation.
Michiel Broek <mbroek@mbse.eu>
parents: 427
diff changeset
23 if (CO2 < 0)
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
24 return 0;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
25
439
31419b7cee69 Finally found the right way to calculate the bottle pressure in bar after refermentation.
Michiel Broek <mbroek@mbse.eu>
parents: 427
diff changeset
26 double P = -1.09145427669121 + 0.00800006989646477 * T + 0.000260276315484684 * T * T + 0.0215142075945119 * T * CO2 +
31419b7cee69 Finally found the right way to calculate the bottle pressure in bar after refermentation.
Michiel Broek <mbroek@mbse.eu>
parents: 427
diff changeset
27 0.674996600795854 * CO2 + -0.00471757220150754 * CO2 * CO2;
31419b7cee69 Finally found the right way to calculate the bottle pressure in bar after refermentation.
Michiel Broek <mbroek@mbse.eu>
parents: 427
diff changeset
28
31419b7cee69 Finally found the right way to calculate the bottle pressure in bar after refermentation.
Michiel Broek <mbroek@mbse.eu>
parents: 427
diff changeset
29 P = round((P * 1.01325) * 100.0) / 100.0; // atm to bar
31419b7cee69 Finally found the right way to calculate the bottle pressure in bar after refermentation.
Michiel Broek <mbroek@mbse.eu>
parents: 427
diff changeset
30 qDebug() << " GetPressure(" << CO2 << "," << T << ") CO2:" << CO2 << "Bar:" << P;
31419b7cee69 Finally found the right way to calculate the bottle pressure in bar after refermentation.
Michiel Broek <mbroek@mbse.eu>
parents: 427
diff changeset
31 return P;
31419b7cee69 Finally found the right way to calculate the bottle pressure in bar after refermentation.
Michiel Broek <mbroek@mbse.eu>
parents: 427
diff changeset
32 }
31419b7cee69 Finally found the right way to calculate the bottle pressure in bar after refermentation.
Michiel Broek <mbroek@mbse.eu>
parents: 427
diff changeset
33
31419b7cee69 Finally found the right way to calculate the bottle pressure in bar after refermentation.
Michiel Broek <mbroek@mbse.eu>
parents: 427
diff changeset
34
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
35 double EditProduct::CarbCO2ToPressure(double CO2, double T)
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
36 {
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
37 return (CO2 - (-0.000005594056 * pow(T, 4) + 0.000144357886 * pow(T, 3) +
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
38 0.000362999168 * T * T - 0.064872987645 * T + 1.641145175049)) /
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
39 (0.00000498031 * pow(T, 4) - 0.00024358267 * pow(T, 3) + 0.00385867329 * T * T - 0.05671206825 * T + 1.53801423376);
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
40 }
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
41
175
f1ed3a2a94e9 Initial import of EditProduct, the part from EditRecipe is ported.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
42
220
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
43 void EditProduct::calcPack()
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
44 {
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
45 int i, j;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
46 bool found1, found2;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
47 QSqlQuery query;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
48 double TSec, SFactor;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
49
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
50 qDebug() << "calcPack()" << product->package_volume << product->package_abv << "inf" << product->package_infuse_amount << product->package_infuse_abv;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
51
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
52 if (product->package_volume < 1) {
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
53 /*
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
54 * If there is not enough to package, then don't
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
55 * do any calculations and clear the rest of the form.
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
56 */
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
57 product->package_volume = 0;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
58 ui->pack_finalabvShow->setValue(0);
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
59
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
60 return;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
61 }
220
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
62
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
63 double bvol = product->package_volume - (product->package_abv * product->package_volume) / 100.0;
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
64 double balc = product->package_volume - bvol;
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
65 double mvol = product->package_infuse_amount - (product->package_infuse_abv * product->package_infuse_amount) / 100.0;
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
66 double malc = product->package_infuse_amount - mvol;
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
67 double talc = balc + malc;
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
68 double tvol = bvol + mvol;
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
69
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
70 product->final_abv = round(talc / (tvol + talc) * 10000.0) / 100.0;
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
71 ui->pack_finalabvShow->setValue(product->final_abv);
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
72
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
73 TSec = product->secondary_temp;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
74 if (TSec < 1)
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
75 TSec = product->primary_end_temp;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
76 if (TSec < 1)
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
77 TSec = 18;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
78
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
79 /*
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
80 * For bottles and kegs use the following complicated procedure to
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
81 * find the needed priming sugars.
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
82 *
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
83 * 1. If we need a priming sugar then first see in the fermentables
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
84 * table if there is one selected. If not, clear sugars and done.
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
85 * 2. Then, we update the data from the fermentables inventory.
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
86 * 3. Set the found sugar in the pulldown menu.
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
87 * 4. Calculate the sugar in gr/L and total amount need.
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
88 * 5. Calculate the ABV in the bottles/kegs.
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
89 * 6. Calculate the pressure build by the refermentation.
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
90 *
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
91 * Note that this is all a leftover from the web based application that
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
92 * did work like this. It's a bit strange but it will allways give
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
93 * the right data and sugar concentrations.
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
94 * Sometimes bugs have good things.
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
95 */
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
96 found1 = false;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
97 if (product->bottle_amount) {
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
98 for (i = 0; i < product->fermentables.size(); i++) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
99 if (product->fermentables.at(i).added == FERMENTABLE_ADDED_BOTTLE) {
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
100 found1 = true;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
101 break;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
102 }
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
103 }
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
104 if (found1) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
105 SFactor = 1 / ((product->fermentables.at(i).yield / 100) * (1 - product->fermentables.at(i).moisture / 100));
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
106 qDebug() << " bottle sugar" << product->fermentables.at(i).name << SFactor << TSec;
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
107
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
108 query.prepare("SELECT name,supplier FROM inventory_fermentables WHERE type = '1' OR type = '3' ORDER BY name"); // Sugars or dry extract
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
109 query.exec();
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
110 j = 0;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
111 found2 = false;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
112 while (query.next()) {
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
113 j++;
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
114 if (query.value(0).toString() == product->fermentables.at(i).name && query.value(1).toString() == product->fermentables.at(i).supplier) {
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
115 ui->bottle_sugarEdit->setCurrentIndex(j);
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
116 product->bottle_priming_sugar = j;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
117 found2 = true;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
118 break;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
119 }
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
120 }
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
121 if (! found2) {
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
122 ui->bottle_sugarEdit->setCurrentIndex(0); // Make sure not selected
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
123 product->fermentables.removeAt(i); // Remove false fermentable
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
124 refreshFermentables();
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
125 } else {
443
3c195eb4e7a1 Details CO2 monitor shows the style limits for the specific beer. Adjust the scale of the pressure widget to the beer limits. Moved more functions to the global Utils. Fix expected pressure in the package screen for other priming sugars. Disabled some debug log messages.
Michiel Broek <mbroek@mbse.eu>
parents: 442
diff changeset
126 product->bottle_priming_amount = Utils::CarbCO2toS(product->bottle_carbonation, TSec, SFactor);
3c195eb4e7a1 Details CO2 monitor shows the style limits for the specific beer. Adjust the scale of the pressure widget to the beer limits. Moved more functions to the global Utils. Fix expected pressure in the package screen for other priming sugars. Disabled some debug log messages.
Michiel Broek <mbroek@mbse.eu>
parents: 442
diff changeset
127 //qDebug() << " priming CarbCO2toS(" << product->bottle_carbonation << TSec << SFactor << ") =" << product->bottle_priming_amount;
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
128 ui->bottle_sug_amountShow->setValue(product->bottle_priming_amount);
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
129 double total = round(product->bottle_priming_amount * product->bottle_amount * 100.0) / 100000.0;
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
130 if (total != product->fermentables.at(i).amount) {
439
31419b7cee69 Finally found the right way to calculate the bottle pressure in bar after refermentation.
Michiel Broek <mbroek@mbse.eu>
parents: 427
diff changeset
131 qDebug() << " total" << total << product->fermentables.at(i).amount;
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
132 qDebug() << " update priming sugar" << total;
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
133 product->fermentables[i].amount = total;
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
134 refreshFermentables();
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
135 is_changed();
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
136 }
224
d369948a3eb5 Added stage changing from tertiary fermentation upto carbonation. Show, hide, readonly etc for the package tab. Make sure current sugar amounts are displayed. Added package date and buttons.
Michiel Broek <mbroek@mbse.eu>
parents: 223
diff changeset
137 ui->bottle_sug_weightShow->setValue(total * 1000);
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
138
222
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
139 double pabv = product->final_abv + (product->bottle_priming_amount * (1 / SFactor) * 0.47) / 7.907;
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
140 double pvol = product->bottle_amount - (pabv * product->bottle_amount) / 100;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
141 talc = product->bottle_amount - pvol;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
142 tvol = pvol + product->bottle_priming_water;
238
047e99c90848 Calulate package abv and pressure and store in the global product variable for later use. Finished the product printing module.
Michiel Broek <mbroek@mbse.eu>
parents: 224
diff changeset
143 product->bottle_abv = talc / (tvol + talc) * 100;
443
3c195eb4e7a1 Details CO2 monitor shows the style limits for the specific beer. Adjust the scale of the pressure widget to the beer limits. Moved more functions to the global Utils. Fix expected pressure in the package screen for other priming sugars. Disabled some debug log messages.
Michiel Broek <mbroek@mbse.eu>
parents: 442
diff changeset
144 product->bottle_bar = Utils::GetPressureBar(product->bottle_priming_amount * (1 / SFactor), product->bottle_carbonation_temp);
238
047e99c90848 Calulate package abv and pressure and store in the global product variable for later use. Finished the product printing module.
Michiel Broek <mbroek@mbse.eu>
parents: 224
diff changeset
145 ui->bottle_abvShow->setValue(product->bottle_abv);
047e99c90848 Calulate package abv and pressure and store in the global product variable for later use. Finished the product printing module.
Michiel Broek <mbroek@mbse.eu>
parents: 224
diff changeset
146 ui->bottle_barShow->setValue(product->bottle_bar);
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
147 }
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
148 }
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
149 }
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
150 if (! found1) {
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
151 qDebug() << " no bottle priming";
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
152 ui->bottle_sug_amountShow->setValue(0);
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
153 ui->bottle_sug_weightShow->setValue(0);
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
154 ui->bottle_abvShow->setValue(0);
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
155 ui->bottle_barShow->setValue(0);
238
047e99c90848 Calulate package abv and pressure and store in the global product variable for later use. Finished the product printing module.
Michiel Broek <mbroek@mbse.eu>
parents: 224
diff changeset
156 product->bottle_abv = 0;
047e99c90848 Calulate package abv and pressure and store in the global product variable for later use. Finished the product printing module.
Michiel Broek <mbroek@mbse.eu>
parents: 224
diff changeset
157 product->bottle_bar = 0;
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
158 }
397
877420a13815 Edit Product, split CO2 package pressure in bottles and kegs. BU:RE code cleanup. calcPack() sets the CO2 values on the first tab. Show final EBC on tab 1 if the stage is after brew. Show final ABV and energy on tab 1 if fermentation is done. Removed wrong bottle priming calculation from calcFermentables() because calcPack() does this.
Michiel Broek <mbroek@mbse.eu>
parents: 332
diff changeset
159 ui->est_bottle_co2Edit->setValue(product->bottle_carbonation);
877420a13815 Edit Product, split CO2 package pressure in bottles and kegs. BU:RE code cleanup. calcPack() sets the CO2 values on the first tab. Show final EBC on tab 1 if the stage is after brew. Show final ABV and energy on tab 1 if fermentation is done. Removed wrong bottle priming calculation from calcFermentables() because calcPack() does this.
Michiel Broek <mbroek@mbse.eu>
parents: 332
diff changeset
160 ui->est_bottle_co2Show->setValue(product->bottle_carbonation);
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
161
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
162 ui->keg_sugarLabel->setEnabled(! product->keg_forced_carb);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
163 ui->keg_sugarEdit->setEnabled(! product->keg_forced_carb);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
164 ui->keg_sug_weightLabel->setEnabled(! product->keg_forced_carb);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
165 ui->keg_sug_weightShow->setEnabled(! product->keg_forced_carb);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
166 ui->keg_sug_waterLabel->setEnabled(! product->keg_forced_carb);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
167 ui->keg_sug_waterEdit->setEnabled(! product->keg_forced_carb);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
168 ui->keg_sug_amountLabel->setEnabled(! product->keg_forced_carb);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
169 ui->keg_sug_amountShow->setEnabled(! product->keg_forced_carb);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
170
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
171 found1 = false;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
172 if (product->keg_amount) {
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
173
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
174 double Pressure = CarbCO2ToPressure(product->keg_carbonation, product->keg_carbonation_temp);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
175 if (Pressure < 0)
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
176 Pressure = 0;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
177 product->keg_pressure = Pressure;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
178 ui->keg_barShow->setValue(Pressure);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
179
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
180 if (! product->keg_forced_carb) {
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
181 for (i = 0; i < product->fermentables.size(); i++) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
182 if (product->fermentables.at(i).added == FERMENTABLE_ADDED_KEGS) {
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
183 found1 = true;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
184 break;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
185 }
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
186 }
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
187 if (found1) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
188 SFactor = 1 / ((product->fermentables.at(i).yield / 100) * (1 - product->fermentables.at(i).moisture / 100));
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
189 qDebug() << " kegs sugar" << product->fermentables.at(i).name << SFactor << TSec;
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
190
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
191 query.prepare("SELECT name,supplier FROM inventory_fermentables WHERE type = '1' OR type = '3' ORDER BY name"); // Sugars or dry extract
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
192 query.exec();
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
193 j = 0;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
194 found2 = false;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
195 while (query.next()) {
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
196 j++;
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
197 if (query.value(0).toString() == product->fermentables.at(i).name && query.value(1).toString() == product->fermentables.at(i).supplier) {
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
198 ui->keg_sugarEdit->setCurrentIndex(j);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
199 product->keg_priming_sugar = j;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
200 found2 = true;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
201 break;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
202 }
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
203 }
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
204 if (! found2) {
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
205 ui->keg_sugarEdit->setCurrentIndex(0); // Make sure not selected
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
206 product->fermentables.removeAt(i); // Remove false fermentable
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
207 refreshFermentables();
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
208 } else {
443
3c195eb4e7a1 Details CO2 monitor shows the style limits for the specific beer. Adjust the scale of the pressure widget to the beer limits. Moved more functions to the global Utils. Fix expected pressure in the package screen for other priming sugars. Disabled some debug log messages.
Michiel Broek <mbroek@mbse.eu>
parents: 442
diff changeset
209 product->keg_priming_amount = Utils::CarbCO2toS(product->keg_carbonation, TSec, SFactor);
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
210 ui->keg_sug_amountShow->setValue(product->keg_priming_amount);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
211 double total = round(product->keg_priming_amount * product->keg_amount * 100.0) / 100000.0;
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
212 qDebug() << " total" << total << product->fermentables.at(i).amount;
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
213 if (total != product->fermentables.at(i).amount) {
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
214 qDebug() << " update priming sugar" << total;
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
215 product->fermentables[i].amount = total;
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
216 refreshFermentables();
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
217 is_changed();
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
218 }
224
d369948a3eb5 Added stage changing from tertiary fermentation upto carbonation. Show, hide, readonly etc for the package tab. Make sure current sugar amounts are displayed. Added package date and buttons.
Michiel Broek <mbroek@mbse.eu>
parents: 223
diff changeset
219 ui->keg_sug_weightShow->setValue(total * 1000);
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
220
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
221 double pabv = product->final_abv + (product->keg_priming_amount * (1 / SFactor) * 0.47) / 7.907;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
222 double pvol = product->keg_amount - (pabv * product->keg_amount) / 100;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
223 talc = product->keg_amount - pvol;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
224 tvol = pvol + product->keg_priming_water;
238
047e99c90848 Calulate package abv and pressure and store in the global product variable for later use. Finished the product printing module.
Michiel Broek <mbroek@mbse.eu>
parents: 224
diff changeset
225 product->keg_abv = talc / (tvol + talc) * 100;
439
31419b7cee69 Finally found the right way to calculate the bottle pressure in bar after refermentation.
Michiel Broek <mbroek@mbse.eu>
parents: 427
diff changeset
226 product->keg_bar = GetPressure(product->keg_carbonation, product->keg_carbonation_temp);
238
047e99c90848 Calulate package abv and pressure and store in the global product variable for later use. Finished the product printing module.
Michiel Broek <mbroek@mbse.eu>
parents: 224
diff changeset
227 ui->keg_abvShow->setValue(product->keg_abv);
047e99c90848 Calulate package abv and pressure and store in the global product variable for later use. Finished the product printing module.
Michiel Broek <mbroek@mbse.eu>
parents: 224
diff changeset
228 ui->keg_barShow->setValue(product->keg_bar);
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
229 }
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
230 } // if priming sugar.
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
231 if (! found1) {
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
232 qDebug() << " no keg priming";
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
233 ui->keg_sug_amountShow->setValue(0);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
234 ui->keg_sug_weightShow->setValue(0);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
235 ui->keg_abvShow->setValue(0);
238
047e99c90848 Calulate package abv and pressure and store in the global product variable for later use. Finished the product printing module.
Michiel Broek <mbroek@mbse.eu>
parents: 224
diff changeset
236 product->keg_abv = 0;
047e99c90848 Calulate package abv and pressure and store in the global product variable for later use. Finished the product printing module.
Michiel Broek <mbroek@mbse.eu>
parents: 224
diff changeset
237 product->keg_bar = 0;
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
238 }
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
239 } else {
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
240 /*
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
241 * Forced carbonation
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
242 */
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
243 ui->keg_abvShow->setValue(product->final_abv);
238
047e99c90848 Calulate package abv and pressure and store in the global product variable for later use. Finished the product printing module.
Michiel Broek <mbroek@mbse.eu>
parents: 224
diff changeset
244 product->keg_abv = product->final_abv;
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
245 ui->keg_sug_amountShow->setValue(0);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
246 ui->keg_sug_weightShow->setValue(0);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
247 }
397
877420a13815 Edit Product, split CO2 package pressure in bottles and kegs. BU:RE code cleanup. calcPack() sets the CO2 values on the first tab. Show final EBC on tab 1 if the stage is after brew. Show final ABV and energy on tab 1 if fermentation is done. Removed wrong bottle priming calculation from calcFermentables() because calcPack() does this.
Michiel Broek <mbroek@mbse.eu>
parents: 332
diff changeset
248 ui->est_kegs_co2Edit->setValue(product->keg_carbonation);
877420a13815 Edit Product, split CO2 package pressure in bottles and kegs. BU:RE code cleanup. calcPack() sets the CO2 values on the first tab. Show final EBC on tab 1 if the stage is after brew. Show final ABV and energy on tab 1 if fermentation is done. Removed wrong bottle priming calculation from calcFermentables() because calcPack() does this.
Michiel Broek <mbroek@mbse.eu>
parents: 332
diff changeset
249 ui->est_kegs_co2Show->setValue(product->keg_carbonation);
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
250 } // if keg_amount
220
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
251 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
252
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
253
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
254 /*
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
255 * Triggered by writing to ui->pack_abvShow
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
256 */
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
257 void EditProduct::pack_abv_changed(double val)
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
258 {
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
259 calcPack();
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
260 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
261
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
262
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
263 void EditProduct::pack_date_changed(QDate val)
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
264 {
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
265 qDebug() << "pack_date_changed" << val;
224
d369948a3eb5 Added stage changing from tertiary fermentation upto carbonation. Show, hide, readonly etc for the package tab. Make sure current sugar amounts are displayed. Added package date and buttons.
Michiel Broek <mbroek@mbse.eu>
parents: 223
diff changeset
266 product->package_date = ui->pack_dateEdit->nullDate();
d369948a3eb5 Added stage changing from tertiary fermentation upto carbonation. Show, hide, readonly etc for the package tab. Make sure current sugar amounts are displayed. Added package date and buttons.
Michiel Broek <mbroek@mbse.eu>
parents: 223
diff changeset
267 is_changed();
d369948a3eb5 Added stage changing from tertiary fermentation upto carbonation. Show, hide, readonly etc for the package tab. Make sure current sugar amounts are displayed. Added package date and buttons.
Michiel Broek <mbroek@mbse.eu>
parents: 223
diff changeset
268 setStage();
220
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
269 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
270
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
271
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
272 void EditProduct::pack_date_button()
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
273 {
224
d369948a3eb5 Added stage changing from tertiary fermentation upto carbonation. Show, hide, readonly etc for the package tab. Make sure current sugar amounts are displayed. Added package date and buttons.
Michiel Broek <mbroek@mbse.eu>
parents: 223
diff changeset
274 ui->pack_dateEdit->setDate(QDate::currentDate());
220
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
275 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
276
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
277
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
278 void EditProduct::pack_date_ack()
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
279 {
224
d369948a3eb5 Added stage changing from tertiary fermentation upto carbonation. Show, hide, readonly etc for the package tab. Make sure current sugar amounts are displayed. Added package date and buttons.
Michiel Broek <mbroek@mbse.eu>
parents: 223
diff changeset
280 int rc = QMessageBox::warning(this, tr("Confirm package"), tr("Confirm that the beer is packaged and all data is correct"),
d369948a3eb5 Added stage changing from tertiary fermentation upto carbonation. Show, hide, readonly etc for the package tab. Make sure current sugar amounts are displayed. Added package date and buttons.
Michiel Broek <mbroek@mbse.eu>
parents: 223
diff changeset
281 QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
d369948a3eb5 Added stage changing from tertiary fermentation upto carbonation. Show, hide, readonly etc for the package tab. Make sure current sugar amounts are displayed. Added package date and buttons.
Michiel Broek <mbroek@mbse.eu>
parents: 223
diff changeset
282
d369948a3eb5 Added stage changing from tertiary fermentation upto carbonation. Show, hide, readonly etc for the package tab. Make sure current sugar amounts are displayed. Added package date and buttons.
Michiel Broek <mbroek@mbse.eu>
parents: 223
diff changeset
283 if (rc == QMessageBox::No)
d369948a3eb5 Added stage changing from tertiary fermentation upto carbonation. Show, hide, readonly etc for the package tab. Make sure current sugar amounts are displayed. Added package date and buttons.
Michiel Broek <mbroek@mbse.eu>
parents: 223
diff changeset
284 return;
d369948a3eb5 Added stage changing from tertiary fermentation upto carbonation. Show, hide, readonly etc for the package tab. Make sure current sugar amounts are displayed. Added package date and buttons.
Michiel Broek <mbroek@mbse.eu>
parents: 223
diff changeset
285
d369948a3eb5 Added stage changing from tertiary fermentation upto carbonation. Show, hide, readonly etc for the package tab. Make sure current sugar amounts are displayed. Added package date and buttons.
Michiel Broek <mbroek@mbse.eu>
parents: 223
diff changeset
286 product->stage = PROD_STAGE_CARBONATION;
d369948a3eb5 Added stage changing from tertiary fermentation upto carbonation. Show, hide, readonly etc for the package tab. Make sure current sugar amounts are displayed. Added package date and buttons.
Michiel Broek <mbroek@mbse.eu>
parents: 223
diff changeset
287 setStage();
d369948a3eb5 Added stage changing from tertiary fermentation upto carbonation. Show, hide, readonly etc for the package tab. Make sure current sugar amounts are displayed. Added package date and buttons.
Michiel Broek <mbroek@mbse.eu>
parents: 223
diff changeset
288 is_changed();
220
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
289 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
290
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
291
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
292 void EditProduct::pack_volume_changed(double val)
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
293 {
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
294 /*
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
295 * If the total volume is decreased, check if the
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
296 * bottle and kegs amount need to be lowered as well.
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
297 */
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
298
220
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
299 product->package_volume = val;
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
300 calcPack();
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
301 is_changed();
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
302 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
303
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
304
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
305 void EditProduct::pack_ph_changed(double val)
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
306 {
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
307 if (product->package_ph == 0) {
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
308 product->package_ph = 4.0;
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
309 const QSignalBlocker blocker1(ui->pack_phEdit);
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
310 ui->pack_phEdit->setValue(4.0);
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
311 } else {
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
312 product->package_ph = val;
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
313 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
314 is_changed();
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
315 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
316
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
317
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
318 void EditProduct::pack_infusion_vol_changed(double val)
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
319 {
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
320 product->package_infuse_amount = val;
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
321 calcPack();
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
322 is_changed();
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
323 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
324
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
325
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
326 void EditProduct::pack_infusion_abv_changed(double val)
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
327 {
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
328 product->package_infuse_abv = val;
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
329 calcPack();
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
330 is_changed();
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
331 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
332
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
333
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
334 void EditProduct::pack_infusion_txt_changed(QString val)
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
335 {
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
336 product->package_infuse_notes = val;
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
337 is_changed();
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
338 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
339
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
340
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
341 void EditProduct::bottle_volume_changed(double val)
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
342 {
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
343 /*
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
344 * Check if kegs volume plus this new volume fits in the package volume.
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
345 */
404
47f1259378fe Fixed negative bottle of keg volumes and overflow totals.
Michiel Broek <mbroek@mbse.eu>
parents: 397
diff changeset
346 const QSignalBlocker blocker1(ui->keg_volumeEdit);
47f1259378fe Fixed negative bottle of keg volumes and overflow totals.
Michiel Broek <mbroek@mbse.eu>
parents: 397
diff changeset
347 if (product->keg_amount < 0)
47f1259378fe Fixed negative bottle of keg volumes and overflow totals.
Michiel Broek <mbroek@mbse.eu>
parents: 397
diff changeset
348 product->keg_amount = 0; /* Failsafe - bugfix */
47f1259378fe Fixed negative bottle of keg volumes and overflow totals.
Michiel Broek <mbroek@mbse.eu>
parents: 397
diff changeset
349 if (val > product->package_volume) {
47f1259378fe Fixed negative bottle of keg volumes and overflow totals.
Michiel Broek <mbroek@mbse.eu>
parents: 397
diff changeset
350 val = product->package_volume;
47f1259378fe Fixed negative bottle of keg volumes and overflow totals.
Michiel Broek <mbroek@mbse.eu>
parents: 397
diff changeset
351 const QSignalBlocker blocker2(ui->bottle_volumeEdit);
47f1259378fe Fixed negative bottle of keg volumes and overflow totals.
Michiel Broek <mbroek@mbse.eu>
parents: 397
diff changeset
352 ui->bottle_volumeEdit->setValue(val);
47f1259378fe Fixed negative bottle of keg volumes and overflow totals.
Michiel Broek <mbroek@mbse.eu>
parents: 397
diff changeset
353 }
47f1259378fe Fixed negative bottle of keg volumes and overflow totals.
Michiel Broek <mbroek@mbse.eu>
parents: 397
diff changeset
354
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
355 if ((val + product->keg_amount) > product->package_volume) {
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
356 double kegs = product->package_volume - val;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
357 product->keg_amount = kegs;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
358 ui->keg_volumeEdit->setValue(kegs);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
359 }
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
360 product->bottle_amount = val;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
361 calcPack();
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
362 is_changed();
220
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
363 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
364
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
365
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
366 void EditProduct::bottle_co2_changed(double val)
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
367 {
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
368 product->bottle_carbonation = val;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
369 calcPack();
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
370 is_changed();
220
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
371 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
372
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
373
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
374 void EditProduct::bottle_sugar_changed(int val)
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
375 {
222
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
376 Fermentables newf;
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
377 QSqlQuery query;
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
378
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
379 qDebug() << "bottle_sugar_changed" << product->bottle_priming_sugar << val;
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
380 for (int i = 0; i < product->fermentables.size(); i++) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
381 if (product->fermentables.at(i).added == FERMENTABLE_ADDED_BOTTLE) {
222
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
382 product->fermentables.removeAt(i);
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
383 refreshFermentables();
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
384 break;
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
385 }
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
386 }
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
387
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
388 /*
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
389 * Search the sugar pointed by the index.
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
390 */
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
391 QString sql = "SELECT name,origin,supplier,cost,type,yield,color,coarse_fine_diff,moisture,diastatic_power,protein,dissolved_protein,max_in_batch,"
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
392 "graintype,recommend_mash,add_after_boil,di_ph,acid_to_ph_57,inventory FROM inventory_fermentables "
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
393 "WHERE type = '1' OR type = '3' ORDER BY name";
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
394 query.prepare(sql);
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
395 query.exec();
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
396 query.first();
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
397 for (int i = 0; i < (val - 1); i++) {
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
398 query.next();
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
399 }
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
400
427
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
401 newf.name = query.value("name").toString();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
402 newf.origin = query.value("origin").toString();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
403 newf.supplier = query.value("supplier").toString();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
404 newf.cost = query.value("cost").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
405 newf.type = query.value("type").toInt();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
406 newf.yield = query.value("yield").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
407 newf.color = query.value("color").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
408 newf.coarse_fine_diff = query.value("coarse_fine_diff").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
409 newf.moisture = query.value("moisture").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
410 newf.diastatic_power = query.value("diastatic_power").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
411 newf.protein = query.value("protein").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
412 newf.dissolved_protein = query.value("dissolved_protein").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
413 newf.max_in_batch = query.value("max_in_batch").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
414 newf.graintype = query.value("graintype").toInt();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
415 newf.recommend_mash = query.value("recommend_mash").toInt() ? true:false;
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
416 newf.add_after_boil = true;
427
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
417 newf.di_ph = query.value("di_ph").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
418 newf.acid_to_ph_57 = query.value("acid_to_ph_57").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
419 newf.inventory = query.value("inventory").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
420 newf.adjust_to_total_100 = false;
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
421 newf.percentage = 0;
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
422 newf.amount = 0;
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
423 newf.added = FERMENTABLE_ADDED_BOTTLE;
222
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
424
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
425 product->fermentables.append(newf);
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
426 refreshFermentables();
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
427 const QSignalBlocker blocker1(ui->bottle_sugarEdit);
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
428 calcPack();
c5a3beb15eef Replace priming sugar implemented.
Michiel Broek <mbroek@mbse.eu>
parents: 221
diff changeset
429 is_changed();
220
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
430 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
431
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
432
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
433 void EditProduct::bottle_water_changed(double val)
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
434 {
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
435 product->bottle_priming_water = val;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
436 calcPack();
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
437 is_changed();
220
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
438 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
439
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
440
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
441 void EditProduct::bottle_temp_changed(double val)
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
442 {
221
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
443 product->bottle_carbonation_temp = val;
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
444 calcPack();
54828816233f Added bottles priming calculations.
Michiel Broek <mbroek@mbse.eu>
parents: 220
diff changeset
445 is_changed();
220
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
446 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
447
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
448
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
449 void EditProduct::kegs_volume_changed(double val)
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
450 {
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
451 /*
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
452 * Check if bottle volume plus this new volume fits in the package volume.
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
453 */
404
47f1259378fe Fixed negative bottle of keg volumes and overflow totals.
Michiel Broek <mbroek@mbse.eu>
parents: 397
diff changeset
454 const QSignalBlocker blocker1(ui->bottle_volumeEdit);
47f1259378fe Fixed negative bottle of keg volumes and overflow totals.
Michiel Broek <mbroek@mbse.eu>
parents: 397
diff changeset
455 if (product->bottle_amount < 0)
47f1259378fe Fixed negative bottle of keg volumes and overflow totals.
Michiel Broek <mbroek@mbse.eu>
parents: 397
diff changeset
456 product->bottle_amount = 0; /* Failsafe - bugfix */
47f1259378fe Fixed negative bottle of keg volumes and overflow totals.
Michiel Broek <mbroek@mbse.eu>
parents: 397
diff changeset
457 if (val > product->package_volume) {
47f1259378fe Fixed negative bottle of keg volumes and overflow totals.
Michiel Broek <mbroek@mbse.eu>
parents: 397
diff changeset
458 val = product->package_volume;
47f1259378fe Fixed negative bottle of keg volumes and overflow totals.
Michiel Broek <mbroek@mbse.eu>
parents: 397
diff changeset
459 const QSignalBlocker blocker2(ui->keg_volumeEdit);
47f1259378fe Fixed negative bottle of keg volumes and overflow totals.
Michiel Broek <mbroek@mbse.eu>
parents: 397
diff changeset
460 ui->keg_volumeEdit->setValue(val);
47f1259378fe Fixed negative bottle of keg volumes and overflow totals.
Michiel Broek <mbroek@mbse.eu>
parents: 397
diff changeset
461 }
47f1259378fe Fixed negative bottle of keg volumes and overflow totals.
Michiel Broek <mbroek@mbse.eu>
parents: 397
diff changeset
462
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
463 if ((val + product->bottle_amount) > product->package_volume) {
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
464 double bottle = product->package_volume - val;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
465 product->bottle_amount = bottle;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
466 ui->bottle_volumeEdit->setValue(bottle);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
467 }
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
468 product->keg_amount = val;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
469 calcPack();
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
470 is_changed();
220
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
471 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
472
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
473
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
474 void EditProduct::kegs_co2_changed(double val)
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
475 {
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
476 product->keg_carbonation = val;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
477 calcPack();
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
478 is_changed();
220
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
479 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
480
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
481
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
482 void EditProduct::kegs_sugar_changed(int val)
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
483 {
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
484 Fermentables newf;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
485 QSqlQuery query;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
486
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
487 qDebug() << "kegs_sugar_changed" << product->keg_priming_sugar << val;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
488 for (int i = 0; i < product->fermentables.size(); i++) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
489 if (product->fermentables.at(i).added == FERMENTABLE_ADDED_KEGS) {
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
490 product->fermentables.removeAt(i);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
491 refreshFermentables();
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
492 break;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
493 }
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
494 }
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
495
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
496 /*
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
497 * Search the sugar pointed by the index.
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
498 */
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
499 QString sql = "SELECT name,origin,supplier,cost,type,yield,color,coarse_fine_diff,moisture,diastatic_power,protein,dissolved_protein,max_in_batch,"
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
500 "graintype,recommend_mash,add_after_boil,di_ph,acid_to_ph_57,inventory FROM inventory_fermentables "
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
501 "WHERE type = '1' OR type = '3' ORDER BY name";
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
502 query.prepare(sql);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
503 query.exec();
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
504 query.first();
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
505 for (int i = 0; i < (val - 1); i++) {
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
506 query.next();
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
507 }
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
508
427
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
509 newf.name = query.value("name").toString();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
510 newf.origin = query.value("origin").toString();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
511 newf.supplier = query.value("supplier").toString();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
512 newf.cost = query.value("cost").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
513 newf.type = query.value("type").toInt();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
514 newf.yield = query.value("yield").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
515 newf.color = query.value("color").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
516 newf.coarse_fine_diff = query.value("coarse_fine_diff").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
517 newf.moisture = query.value("moisture").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
518 newf.diastatic_power = query.value("diastatic_power").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
519 newf.protein = query.value("protein").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
520 newf.dissolved_protein = query.value("dissolved_protein").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
521 newf.max_in_batch = query.value("max_in_batch").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
522 newf.graintype = query.value("graintype").toInt();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
523 newf.recommend_mash = query.value("recommend_mash").toInt() ? true:false;
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
524 newf.add_after_boil = true;
427
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
525 newf.di_ph = query.value("di_ph").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
526 newf.acid_to_ph_57 = query.value("acid_to_ph_57").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
527 newf.inventory = query.value("inventory").toDouble();
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
528 newf.adjust_to_total_100 = false;
1466eab37f53 Fix false adjust_to_total_100 setting in priming fermentables.
Michiel Broek <mbroek@mbse.eu>
parents: 404
diff changeset
529 newf.percentage = 0;
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
530 newf.amount = 0;
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
531 newf.added = FERMENTABLE_ADDED_KEGS;
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
532
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
533 product->fermentables.append(newf);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
534 refreshFermentables();
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
535 const QSignalBlocker blocker1(ui->keg_sugarEdit);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
536 calcPack();
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
537 is_changed();
220
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
538 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
539
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
540
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
541 void EditProduct::kegs_water_changed(double val)
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
542 {
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
543 product->keg_priming_water = val;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
544 calcPack();
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
545 is_changed();
220
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
546 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
547
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
548
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
549 void EditProduct::kegs_forced_changed(bool val)
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
550 {
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
551 qDebug() << "kegs_forced_changed" << val;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
552
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
553 product->keg_forced_carb = val;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
554 if (val) {
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
555 /*
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
556 * Make sure to remove priming sugars.
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
557 */
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
558 for (int i = 0; i < product->fermentables.size(); i++) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 238
diff changeset
559 if (product->fermentables.at(i).added == FERMENTABLE_ADDED_KEGS) {
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
560 product->fermentables.removeAt(i);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
561 refreshFermentables();
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
562 break;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
563 }
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
564 }
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
565 product->keg_priming_sugar = 0;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
566 product->keg_priming_amount = 0;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
567 product->keg_priming_water = 0;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
568 const QSignalBlocker blocker1(ui->keg_sugarEdit);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
569 const QSignalBlocker blocker2(ui->keg_sug_waterEdit);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
570 ui->keg_sugarEdit->setCurrentIndex(0);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
571 ui->keg_sug_weightShow->setValue(0);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
572 ui->keg_sug_waterEdit->setValue(0);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
573 ui->keg_sug_amountShow->setValue(0);
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
574 }
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
575
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
576 calcPack();
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
577 is_changed();
220
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
578 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
579
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
580
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
581 void EditProduct::kegs_temp_changed(double val)
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
582 {
223
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
583 product->keg_carbonation_temp = val;
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
584 calcPack();
37bac72eff61 Added keg priming and forced carbonation.
Michiel Broek <mbroek@mbse.eu>
parents: 222
diff changeset
585 is_changed();
220
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
586 }
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
587
7792a410a277 Added first part of the package tab.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
588
297
c8f0ecc8a1cc Added co2pressure (carbonation) log graph.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
589 void EditProduct::carb_log_button()
c8f0ecc8a1cc Added co2pressure (carbonation) log graph.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
590 {
332
146874d7bb47 Added carbonation chart to it's own function. Added this chart to DetailCO2meter too.
Michiel Broek <mbroek@mbse.eu>
parents: 298
diff changeset
591 ChartCarbonate dialog(product->code, product->name, this);
297
c8f0ecc8a1cc Added co2pressure (carbonation) log graph.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
592 }
c8f0ecc8a1cc Added co2pressure (carbonation) log graph.
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
593

mercurial