49 const QSignalBlocker blocker5(ui->bs_mgcl2Edit); |
49 const QSignalBlocker blocker5(ui->bs_mgcl2Edit); |
50 const QSignalBlocker blocker6(ui->bs_nahco3Edit); |
50 const QSignalBlocker blocker6(ui->bs_nahco3Edit); |
51 const QSignalBlocker blocker7(ui->bs_caco3Edit); |
51 const QSignalBlocker blocker7(ui->bs_caco3Edit); |
52 const QSignalBlocker blocker8(ui->mw_acidPick); |
52 const QSignalBlocker blocker8(ui->mw_acidPick); |
53 const QSignalBlocker blocker9(ui->mw_acidvolEdit); |
53 const QSignalBlocker blocker9(ui->mw_acidvolEdit); |
|
54 const QSignalBlocker blocker10(ui->ss_cacl2Edit); |
|
55 const QSignalBlocker blocker11(ui->ss_caso4Edit); |
|
56 const QSignalBlocker blocker12(ui->ss_mgso4Edit); |
|
57 const QSignalBlocker blocker13(ui->ss_naclEdit); |
|
58 const QSignalBlocker blocker14(ui->ss_mgcl2Edit); |
|
59 const QSignalBlocker blocker15(ui->sp_acidtypeEdit); |
|
60 const QSignalBlocker blocker16(ui->sp_acidvolEdit); |
54 |
61 |
55 const QStringList labels({tr("Ingredient"), tr("Type"), tr("Use at"), tr("Time"), tr("Amount"), tr("Delete"), tr("Edit") }); |
62 const QStringList labels({tr("Ingredient"), tr("Type"), tr("Use at"), tr("Time"), tr("Amount"), tr("Delete"), tr("Edit") }); |
56 |
63 |
57 ui->miscsTable->setColumnCount(7); |
64 ui->miscsTable->setColumnCount(7); |
58 ui->miscsTable->setColumnWidth(0, 300); /* Ingredient */ |
65 ui->miscsTable->setColumnWidth(0, 300); /* Ingredient */ |
139 } |
146 } |
140 |
147 |
141 /* |
148 /* |
142 * Update the water agents. |
149 * Update the water agents. |
143 */ |
150 */ |
144 if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT) { |
151 if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT && recipe->miscs.at(i).use_use == MISC_USES_MASH) { |
145 if (recipe->miscs.at(i).name == "CaCl2") { |
152 if (recipe->miscs.at(i).name == "CaCl2") { |
146 ui->bs_cacl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0); |
153 ui->bs_cacl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0); |
147 } else if (recipe->miscs.at(i).name == "CaSO4") { |
154 } else if (recipe->miscs.at(i).name == "CaSO4") { |
148 ui->bs_caso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0); |
155 ui->bs_caso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0); |
149 } else if (recipe->miscs.at(i).name == "MgSO4") { |
156 } else if (recipe->miscs.at(i).name == "MgSO4") { |
179 recipe->wa_acid_perc = my_acids.at(3).AcidPrc; |
186 recipe->wa_acid_perc = my_acids.at(3).AcidPrc; |
180 ui->mw_acidPick->setCurrentIndex(3); |
187 ui->mw_acidPick->setCurrentIndex(3); |
181 ui->mw_acidpercEdit->setValue(my_acids.at(3).AcidPrc); |
188 ui->mw_acidpercEdit->setValue(my_acids.at(3).AcidPrc); |
182 ui->mw_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); |
189 ui->mw_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); |
183 } |
190 } |
|
191 } else if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT && recipe->miscs.at(i).use_use == MISC_USES_SPARGE) { |
|
192 if (recipe->miscs.at(i).name == "CaCl2") { |
|
193 ui->ss_cacl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0); |
|
194 } else if (recipe->miscs.at(i).name == "CaSO4") { |
|
195 ui->ss_caso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0); |
|
196 } else if (recipe->miscs.at(i).name == "MgSO4") { |
|
197 ui->ss_mgso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0); |
|
198 } else if (recipe->miscs.at(i).name == "NaCl") { |
|
199 ui->ss_naclEdit->setValue(recipe->miscs.at(i).amount * 1000.0); |
|
200 } else if (recipe->miscs.at(i).name == "MgCl2") { |
|
201 ui->ss_mgcl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0); |
|
202 } else if (recipe->miscs.at(i).name == "Melkzuur" || recipe->miscs.at(i).name == "Lactic") { |
|
203 recipe->sparge_acid_type = 0; |
|
204 recipe->sparge_acid_perc = my_acids.at(0).AcidPrc; |
|
205 ui->sp_acidtypeEdit->setCurrentIndex(0); |
|
206 ui->sp_acidpercEdit->setValue(my_acids.at(0).AcidPrc); |
|
207 ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); |
|
208 } else if (recipe->miscs.at(i).name == "Zoutzuur" || recipe->miscs.at(i).name == "Hydrochloric") { |
|
209 recipe->sparge_acid_type = 1; |
|
210 recipe->sparge_acid_perc = my_acids.at(1).AcidPrc; |
|
211 ui->sp_acidtypeEdit->setCurrentIndex(1); |
|
212 ui->sp_acidpercEdit->setValue(my_acids.at(1).AcidPrc); |
|
213 ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); |
|
214 } else if (recipe->miscs.at(i).name == "Fosforzuur" || recipe->miscs.at(i).name == "Phosphoric") { |
|
215 recipe->sparge_acid_type = 2; |
|
216 recipe->sparge_acid_perc = my_acids.at(2).AcidPrc; |
|
217 ui->sp_acidtypeEdit->setCurrentIndex(2); |
|
218 ui->sp_acidpercEdit->setValue(my_acids.at(2).AcidPrc); |
|
219 ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); |
|
220 } else if (recipe->miscs.at(i).name == "Zwavelzuur" || recipe->miscs.at(i).name == "Sulfuric") { |
|
221 recipe->sparge_acid_type = 3; |
|
222 recipe->sparge_acid_perc = my_acids.at(3).AcidPrc; |
|
223 ui->sp_acidtypeEdit->setCurrentIndex(3); |
|
224 ui->sp_acidpercEdit->setValue(my_acids.at(3).AcidPrc); |
|
225 ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); |
|
226 } |
184 } |
227 } |
185 } |
228 } |
186 } |
229 } |
187 |
230 |
188 |
231 |
189 /* |
232 /* |
190 * Manipulate the memory array and update the miscs table. |
233 * Manipulate the memory array and update the miscs table. |
191 */ |
234 */ |
192 void EditRecipe::brewing_salt_sub(QString salt, double val) |
235 void EditRecipe::brewing_salt_sub(QString salt, double val, int use) |
193 { |
236 { |
194 QTableWidgetItem *item; |
237 QTableWidgetItem *item; |
195 |
238 |
196 val = round(val * 100.0) / 100.0; |
239 val = round(val * 100.0) / 100.0; |
197 if (val == 0) { |
240 if (val == 0) { |
198 /* |
241 /* |
199 * Remove this salt if it is in the table. |
242 * Remove this salt if it is in the table. |
200 */ |
243 */ |
201 for (int i = 0; i < recipe->miscs.size(); i++) { |
244 for (int i = 0; i < recipe->miscs.size(); i++) { |
202 if (salt.contains(recipe->miscs.at(i).name)) { |
245 if (salt.contains(recipe->miscs.at(i).name) && recipe->miscs.at(i).use_use == use) { |
203 qDebug() << " brewing_salt_sub delete" << salt; |
246 qDebug() << " brewing_salt_sub delete" << salt << use; |
204 recipe->miscs.removeAt(i); |
247 recipe->miscs.removeAt(i); |
205 refreshMiscs(); |
248 refreshMiscs(); |
206 return; |
249 return; |
207 } |
250 } |
208 } |
251 } |
212 /* |
255 /* |
213 * First see if this salt is in the table. |
256 * First see if this salt is in the table. |
214 * If it is, update the amount. |
257 * If it is, update the amount. |
215 */ |
258 */ |
216 for (int i = 0; i < recipe->miscs.size(); i++) { |
259 for (int i = 0; i < recipe->miscs.size(); i++) { |
217 if (salt.contains(recipe->miscs.at(i).name)) { |
260 if (salt.contains(recipe->miscs.at(i).name) && recipe->miscs.at(i).use_use == use) { |
218 recipe->miscs[i].amount = val / 1000.0; |
261 recipe->miscs[i].amount = val / 1000.0; |
219 if (recipe->miscs.at(i).amount_is_weight) |
262 if (recipe->miscs.at(i).amount_is_weight) |
220 item = new QTableWidgetItem(QString("%1 gr").arg(val, 3, 'f', 2, '0')); |
263 item = new QTableWidgetItem(QString("%1 gr").arg(val, 3, 'f', 2, '0')); |
221 else |
264 else |
222 item = new QTableWidgetItem(QString("%1 ml").arg(val, 3, 'f', 2, '0')); |
265 item = new QTableWidgetItem(QString("%1 ml").arg(val, 3, 'f', 2, '0')); |
238 qDebug() << " found it, append"; |
281 qDebug() << " found it, append"; |
239 Miscs m; |
282 Miscs m; |
240 m.name = query.value(1).toString(); |
283 m.name = query.value(1).toString(); |
241 m.amount = val / 1000.0; |
284 m.amount = val / 1000.0; |
242 m.type = query.value(2).toInt(); |
285 m.type = query.value(2).toInt(); |
243 m.use_use = query.value(3).toInt(); |
286 m.use_use = use; |
244 m.time = query.value(4).toDouble(); |
287 m.time = query.value(4).toDouble(); |
245 m.amount_is_weight = query.value(5).toInt() ? true:false; |
288 m.amount_is_weight = query.value(5).toInt() ? true:false; |
246 m.cost = query.value(10).toDouble(); |
289 m.cost = query.value(10).toDouble(); |
247 recipe->miscs.append(m); |
290 recipe->miscs.append(m); |
248 refreshMiscs(); |
291 refreshMiscs(); |
249 return; |
292 return; |
250 } |
293 } |
251 } |
294 } |
252 |
295 |
253 qDebug() << "brewing_salt_sub, nothing done." << salt << val; |
296 qDebug() << "brewing_salt_sub, nothing done." << salt << val << use; |
254 } |
297 } |
255 |
298 |
256 |
299 |
257 /* |
300 /* |
258 * Edit brewing salt and recalculate. |
301 * Edit brewing salt and recalculate. |
259 */ |
302 */ |
260 void EditRecipe::set_brewing_salt(QString salt, double val) |
303 void EditRecipe::set_brewing_salt(QString salt, double val, int use) |
261 { |
304 { |
262 val = round(val * 100.0) / 100.0; |
305 val = round(val * 100.0) / 100.0; |
263 qDebug() << "set_brewing_salt" << salt << val; |
306 qDebug() << "set_brewing_salt" << salt << val << use; |
264 brewing_salt_sub(salt, val); |
307 brewing_salt_sub(salt, val, use); |
265 calcWater(); |
308 calcWater(); |
266 is_changed(); |
309 is_changed(); |
267 } |
310 } |
268 |
311 |
269 |
312 |
610 useatEdit->addItem(tr("Mash")); |
653 useatEdit->addItem(tr("Mash")); |
611 useatEdit->addItem(tr("Boil")); |
654 useatEdit->addItem(tr("Boil")); |
612 useatEdit->addItem(tr("Primary")); |
655 useatEdit->addItem(tr("Primary")); |
613 useatEdit->addItem(tr("Secondary")); |
656 useatEdit->addItem(tr("Secondary")); |
614 useatEdit->addItem(tr("Bottling")); |
657 useatEdit->addItem(tr("Bottling")); |
|
658 useatEdit->addItem(tr("Sparge")); |
615 useatEdit->setCurrentIndex(recipe->miscs.at(recipe->miscs_row).use_use); |
659 useatEdit->setCurrentIndex(recipe->miscs.at(recipe->miscs_row).use_use); |
616 |
660 |
617 minstockEdit = new QCheckBox(dialog); |
661 minstockEdit = new QCheckBox(dialog); |
618 minstockEdit->setObjectName(QString::fromUtf8("minstockEdit")); |
662 minstockEdit->setObjectName(QString::fromUtf8("minstockEdit")); |
619 minstockEdit->setGeometry(QRect(655, 40, 85, 21)); |
663 minstockEdit->setGeometry(QRect(655, 40, 85, 21)); |
670 const QSignalBlocker blocker4(ui->bs_naclEdit); |
714 const QSignalBlocker blocker4(ui->bs_naclEdit); |
671 const QSignalBlocker blocker5(ui->bs_mgcl2Edit); |
715 const QSignalBlocker blocker5(ui->bs_mgcl2Edit); |
672 const QSignalBlocker blocker6(ui->bs_nahco3Edit); |
716 const QSignalBlocker blocker6(ui->bs_nahco3Edit); |
673 const QSignalBlocker blocker7(ui->bs_caco3Edit); |
717 const QSignalBlocker blocker7(ui->bs_caco3Edit); |
674 const QSignalBlocker blocker9(ui->mw_acidvolEdit); |
718 const QSignalBlocker blocker9(ui->mw_acidvolEdit); |
|
719 const QSignalBlocker blocker10(ui->ss_cacl2Edit); |
|
720 const QSignalBlocker blocker11(ui->ss_caso4Edit); |
|
721 const QSignalBlocker blocker12(ui->ss_mgso4Edit); |
|
722 const QSignalBlocker blocker13(ui->ss_naclEdit); |
|
723 const QSignalBlocker blocker14(ui->ss_mgcl2Edit); |
675 |
724 |
676 for (int i = 0; i < recipe->miscs.size(); i++) { |
725 for (int i = 0; i < recipe->miscs.size(); i++) { |
677 amount = recipe->miscs.at(i).amount * factor; |
726 amount = recipe->miscs.at(i).amount * factor; |
678 recipe->miscs[i].amount = amount; |
727 recipe->miscs[i].amount = amount; |
679 |
728 |
680 /* |
729 /* |
681 * Update the water agents. |
730 * Update the water agents. |
682 */ |
731 */ |
683 if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT) { |
732 if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT && recipe->miscs.at(i).use_use == MISC_USES_MASH) { |
684 if (recipe->miscs.at(i).name == "CaCl2") { |
733 if (recipe->miscs.at(i).name == "CaCl2") { |
685 ui->bs_cacl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0); |
734 ui->bs_cacl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0); |
686 } else if (recipe->miscs.at(i).name == "CaSO4") { |
735 } else if (recipe->miscs.at(i).name == "CaSO4") { |
687 ui->bs_caso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0); |
736 ui->bs_caso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0); |
688 } else if (recipe->miscs.at(i).name == "MgSO4") { |
737 } else if (recipe->miscs.at(i).name == "MgSO4") { |
702 } else if (recipe->miscs.at(i).name == "Fosforzuur" || recipe->miscs.at(i).name == "Phosphoric") { |
751 } else if (recipe->miscs.at(i).name == "Fosforzuur" || recipe->miscs.at(i).name == "Phosphoric") { |
703 ui->mw_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); |
752 ui->mw_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); |
704 } else if (recipe->miscs.at(i).name == "Zwavelzuur" || recipe->miscs.at(i).name == "Sulfuric") { |
753 } else if (recipe->miscs.at(i).name == "Zwavelzuur" || recipe->miscs.at(i).name == "Sulfuric") { |
705 ui->mw_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); |
754 ui->mw_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); |
706 } |
755 } |
|
756 } else if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT && recipe->miscs.at(i).use_use == MISC_USES_SPARGE) { |
|
757 if (recipe->miscs.at(i).name == "CaCl2") { |
|
758 ui->ss_cacl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0); |
|
759 } else if (recipe->miscs.at(i).name == "CaSO4") { |
|
760 ui->ss_caso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0); |
|
761 } else if (recipe->miscs.at(i).name == "MgSO4") { |
|
762 ui->ss_mgso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0); |
|
763 } else if (recipe->miscs.at(i).name == "NaCl") { |
|
764 ui->ss_naclEdit->setValue(recipe->miscs.at(i).amount * 1000.0); |
|
765 } else if (recipe->miscs.at(i).name == "MgCl2") { |
|
766 ui->ss_mgcl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0); |
|
767 } else if (recipe->miscs.at(i).name == "Melkzuur" || recipe->miscs.at(i).name == "Lactic") { |
|
768 ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); |
|
769 } else if (recipe->miscs.at(i).name == "Zoutzuur" || recipe->miscs.at(i).name == "Hydrochloric") { |
|
770 ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); |
|
771 } else if (recipe->miscs.at(i).name == "Fosforzuur" || recipe->miscs.at(i).name == "Phosphoric") { |
|
772 ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); |
|
773 } else if (recipe->miscs.at(i).name == "Zwavelzuur" || recipe->miscs.at(i).name == "Sulfuric") { |
|
774 ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); |
|
775 } |
707 } |
776 } |
708 } |
777 } |
709 } |
778 } |
710 |
779 |
711 |
780 |