--- a/src/EditRecipeTab4.cpp Sun Jul 17 22:18:48 2022 +0200 +++ b/src/EditRecipeTab4.cpp Mon Jul 18 17:04:02 2022 +0200 @@ -51,6 +51,13 @@ const QSignalBlocker blocker7(ui->bs_caco3Edit); const QSignalBlocker blocker8(ui->mw_acidPick); const QSignalBlocker blocker9(ui->mw_acidvolEdit); + const QSignalBlocker blocker10(ui->ss_cacl2Edit); + const QSignalBlocker blocker11(ui->ss_caso4Edit); + const QSignalBlocker blocker12(ui->ss_mgso4Edit); + const QSignalBlocker blocker13(ui->ss_naclEdit); + const QSignalBlocker blocker14(ui->ss_mgcl2Edit); + const QSignalBlocker blocker15(ui->sp_acidtypeEdit); + const QSignalBlocker blocker16(ui->sp_acidvolEdit); const QStringList labels({tr("Ingredient"), tr("Type"), tr("Use at"), tr("Time"), tr("Amount"), tr("Delete"), tr("Edit") }); @@ -141,7 +148,7 @@ /* * Update the water agents. */ - if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT) { + if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT && recipe->miscs.at(i).use_use == MISC_USES_MASH) { if (recipe->miscs.at(i).name == "CaCl2") { ui->bs_cacl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0); } else if (recipe->miscs.at(i).name == "CaSO4") { @@ -181,6 +188,42 @@ ui->mw_acidpercEdit->setValue(my_acids.at(3).AcidPrc); ui->mw_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); } + } else if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT && recipe->miscs.at(i).use_use == MISC_USES_SPARGE) { + if (recipe->miscs.at(i).name == "CaCl2") { + ui->ss_cacl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0); + } else if (recipe->miscs.at(i).name == "CaSO4") { + ui->ss_caso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0); + } else if (recipe->miscs.at(i).name == "MgSO4") { + ui->ss_mgso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0); + } else if (recipe->miscs.at(i).name == "NaCl") { + ui->ss_naclEdit->setValue(recipe->miscs.at(i).amount * 1000.0); + } else if (recipe->miscs.at(i).name == "MgCl2") { + ui->ss_mgcl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0); + } else if (recipe->miscs.at(i).name == "Melkzuur" || recipe->miscs.at(i).name == "Lactic") { + recipe->sparge_acid_type = 0; + recipe->sparge_acid_perc = my_acids.at(0).AcidPrc; + ui->sp_acidtypeEdit->setCurrentIndex(0); + ui->sp_acidpercEdit->setValue(my_acids.at(0).AcidPrc); + ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); + } else if (recipe->miscs.at(i).name == "Zoutzuur" || recipe->miscs.at(i).name == "Hydrochloric") { + recipe->sparge_acid_type = 1; + recipe->sparge_acid_perc = my_acids.at(1).AcidPrc; + ui->sp_acidtypeEdit->setCurrentIndex(1); + ui->sp_acidpercEdit->setValue(my_acids.at(1).AcidPrc); + ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); + } else if (recipe->miscs.at(i).name == "Fosforzuur" || recipe->miscs.at(i).name == "Phosphoric") { + recipe->sparge_acid_type = 2; + recipe->sparge_acid_perc = my_acids.at(2).AcidPrc; + ui->sp_acidtypeEdit->setCurrentIndex(2); + ui->sp_acidpercEdit->setValue(my_acids.at(2).AcidPrc); + ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); + } else if (recipe->miscs.at(i).name == "Zwavelzuur" || recipe->miscs.at(i).name == "Sulfuric") { + recipe->sparge_acid_type = 3; + recipe->sparge_acid_perc = my_acids.at(3).AcidPrc; + ui->sp_acidtypeEdit->setCurrentIndex(3); + ui->sp_acidpercEdit->setValue(my_acids.at(3).AcidPrc); + ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); + } } } } @@ -189,7 +232,7 @@ /* * Manipulate the memory array and update the miscs table. */ -void EditRecipe::brewing_salt_sub(QString salt, double val) +void EditRecipe::brewing_salt_sub(QString salt, double val, int use) { QTableWidgetItem *item; @@ -199,8 +242,8 @@ * Remove this salt if it is in the table. */ for (int i = 0; i < recipe->miscs.size(); i++) { - if (salt.contains(recipe->miscs.at(i).name)) { - qDebug() << " brewing_salt_sub delete" << salt; + if (salt.contains(recipe->miscs.at(i).name) && recipe->miscs.at(i).use_use == use) { + qDebug() << " brewing_salt_sub delete" << salt << use; recipe->miscs.removeAt(i); refreshMiscs(); return; @@ -214,7 +257,7 @@ * If it is, update the amount. */ for (int i = 0; i < recipe->miscs.size(); i++) { - if (salt.contains(recipe->miscs.at(i).name)) { + if (salt.contains(recipe->miscs.at(i).name) && recipe->miscs.at(i).use_use == use) { recipe->miscs[i].amount = val / 1000.0; if (recipe->miscs.at(i).amount_is_weight) item = new QTableWidgetItem(QString("%1 gr").arg(val, 3, 'f', 2, '0')); @@ -240,7 +283,7 @@ m.name = query.value(1).toString(); m.amount = val / 1000.0; m.type = query.value(2).toInt(); - m.use_use = query.value(3).toInt(); + m.use_use = use; m.time = query.value(4).toDouble(); m.amount_is_weight = query.value(5).toInt() ? true:false; m.cost = query.value(10).toDouble(); @@ -250,18 +293,18 @@ } } - qDebug() << "brewing_salt_sub, nothing done." << salt << val; + qDebug() << "brewing_salt_sub, nothing done." << salt << val << use; } /* * Edit brewing salt and recalculate. */ -void EditRecipe::set_brewing_salt(QString salt, double val) +void EditRecipe::set_brewing_salt(QString salt, double val, int use) { val = round(val * 100.0) / 100.0; - qDebug() << "set_brewing_salt" << salt << val; - brewing_salt_sub(salt, val); + qDebug() << "set_brewing_salt" << salt << val << use; + brewing_salt_sub(salt, val, use); calcWater(); is_changed(); } @@ -612,6 +655,7 @@ useatEdit->addItem(tr("Primary")); useatEdit->addItem(tr("Secondary")); useatEdit->addItem(tr("Bottling")); + useatEdit->addItem(tr("Sparge")); useatEdit->setCurrentIndex(recipe->miscs.at(recipe->miscs_row).use_use); minstockEdit = new QCheckBox(dialog); @@ -672,6 +716,11 @@ const QSignalBlocker blocker6(ui->bs_nahco3Edit); const QSignalBlocker blocker7(ui->bs_caco3Edit); const QSignalBlocker blocker9(ui->mw_acidvolEdit); + const QSignalBlocker blocker10(ui->ss_cacl2Edit); + const QSignalBlocker blocker11(ui->ss_caso4Edit); + const QSignalBlocker blocker12(ui->ss_mgso4Edit); + const QSignalBlocker blocker13(ui->ss_naclEdit); + const QSignalBlocker blocker14(ui->ss_mgcl2Edit); for (int i = 0; i < recipe->miscs.size(); i++) { amount = recipe->miscs.at(i).amount * factor; @@ -680,7 +729,7 @@ /* * Update the water agents. */ - if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT) { + if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT && recipe->miscs.at(i).use_use == MISC_USES_MASH) { if (recipe->miscs.at(i).name == "CaCl2") { ui->bs_cacl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0); } else if (recipe->miscs.at(i).name == "CaSO4") { @@ -704,6 +753,26 @@ } else if (recipe->miscs.at(i).name == "Zwavelzuur" || recipe->miscs.at(i).name == "Sulfuric") { ui->mw_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); } + } else if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT && recipe->miscs.at(i).use_use == MISC_USES_SPARGE) { + if (recipe->miscs.at(i).name == "CaCl2") { + ui->ss_cacl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0); + } else if (recipe->miscs.at(i).name == "CaSO4") { + ui->ss_caso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0); + } else if (recipe->miscs.at(i).name == "MgSO4") { + ui->ss_mgso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0); + } else if (recipe->miscs.at(i).name == "NaCl") { + ui->ss_naclEdit->setValue(recipe->miscs.at(i).amount * 1000.0); + } else if (recipe->miscs.at(i).name == "MgCl2") { + ui->ss_mgcl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0); + } else if (recipe->miscs.at(i).name == "Melkzuur" || recipe->miscs.at(i).name == "Lactic") { + ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); + } else if (recipe->miscs.at(i).name == "Zoutzuur" || recipe->miscs.at(i).name == "Hydrochloric") { + ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); + } else if (recipe->miscs.at(i).name == "Fosforzuur" || recipe->miscs.at(i).name == "Phosphoric") { + ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); + } else if (recipe->miscs.at(i).name == "Zwavelzuur" || recipe->miscs.at(i).name == "Sulfuric") { + ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); + } } } }