--- a/src/EditProductTab5.cpp Sun Jul 17 22:18:48 2022 +0200 +++ b/src/EditProductTab5.cpp Mon Jul 18 17:04:02 2022 +0200 @@ -65,6 +65,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("Stock"), tr("Delete"), tr("Edit") }); @@ -179,7 +186,7 @@ /* * Update the water agents. */ - if (product->miscs.at(i).type == MISC_TYPES_WATER_AGENT) { + if (product->miscs.at(i).type == MISC_TYPES_WATER_AGENT && product->miscs.at(i).use_use == MISC_USES_MASH) { if (product->miscs.at(i).name == "CaCl2") { ui->bs_cacl2Edit->setValue(product->miscs.at(i).amount * 1000.0); } else if (product->miscs.at(i).name == "CaSO4") { @@ -219,7 +226,43 @@ ui->mw_acidpercEdit->setValue(my_acids.at(3).AcidPrc); ui->mw_acidvolEdit->setValue(product->miscs.at(i).amount * 1000.0); } - } + } else if (product->miscs.at(i).type == MISC_TYPES_WATER_AGENT && product->miscs.at(i).use_use == MISC_USES_SPARGE) { + if (product->miscs.at(i).name == "CaCl2") { + ui->ss_cacl2Edit->setValue(product->miscs.at(i).amount * 1000.0); + } else if (product->miscs.at(i).name == "CaSO4") { + ui->ss_caso4Edit->setValue(product->miscs.at(i).amount * 1000.0); + } else if (product->miscs.at(i).name == "MgSO4") { + ui->ss_mgso4Edit->setValue(product->miscs.at(i).amount * 1000.0); + } else if (product->miscs.at(i).name == "NaCl") { + ui->ss_naclEdit->setValue(product->miscs.at(i).amount * 1000.0); + } else if (product->miscs.at(i).name == "MgCl2") { + ui->ss_mgcl2Edit->setValue(product->miscs.at(i).amount * 1000.0); + } else if (product->miscs.at(i).name == "Melkzuur" || product->miscs.at(i).name == "Lactic") { + product->sparge_acid_type = 0; + product->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(product->miscs.at(i).amount * 1000.0); + } else if (product->miscs.at(i).name == "Zoutzuur" || product->miscs.at(i).name == "Hydrochloric") { + product->sparge_acid_type = 1; + product->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(product->miscs.at(i).amount * 1000.0); + } else if (product->miscs.at(i).name == "Fosforzuur" || product->miscs.at(i).name == "Phosphoric") { + product->sparge_acid_type = 2; + product->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(product->miscs.at(i).amount * 1000.0); + } else if (product->miscs.at(i).name == "Zwavelzuur" || product->miscs.at(i).name == "Sulfuric") { + product->sparge_acid_type = 3; + product->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(product->miscs.at(i).amount * 1000.0); + } + } } } @@ -229,6 +272,7 @@ product->miscs_ok = true; for (int i = 0; i < product->miscs.size(); i++) { if ((((product->inventory_reduced <= PROD_STAGE_BREW) && (product->miscs.at(i).use_use <= MISC_USES_BOIL)) || // Starter, Mash, Boil + ((product->inventory_reduced <= PROD_STAGE_BREW) && (product->miscs.at(i).use_use == MISC_USES_SPARGE)) || ((product->inventory_reduced <= PROD_STAGE_PRIMARY) && (product->miscs.at(i).use_use == MISC_USES_PRIMARY)) || ((product->inventory_reduced <= PROD_STAGE_TERTIARY) && (product->miscs.at(i).use_use == MISC_USES_SECONDARY)) || ((product->inventory_reduced <= PROD_STAGE_PACKAGE) && (product->miscs.at(i).use_use == MISC_USES_BOTTLING))) && @@ -242,7 +286,7 @@ /* * Manipulate the memory array and update the miscs table. */ -void EditProduct::brewing_salt_sub(QString salt, double val) +void EditProduct::brewing_salt_sub(QString salt, double val, int use) { QTableWidgetItem *item; @@ -252,8 +296,8 @@ * Remove this salt if it is in the table. */ for (int i = 0; i < product->miscs.size(); i++) { - if (salt.contains(product->miscs.at(i).name)) { - qDebug() << " brewing_salt_sub delete" << salt; + if (salt.contains(product->miscs.at(i).name) && product->miscs.at(i).use_use == use) { + qDebug() << " brewing_salt_sub delete" << salt << use; product->miscs.removeAt(i); refreshMiscs(); return; @@ -268,7 +312,7 @@ * If it is, update the amount. */ for (int i = 0; i < product->miscs.size(); i++) { - if (salt.contains(product->miscs.at(i).name)) { + if (salt.contains(product->miscs.at(i).name) && product->miscs.at(i).use_use == use) { product->miscs[i].amount = val / 1000.0; if (product->miscs.at(i).amount_is_weight) item = new QTableWidgetItem(QString("%1 gr").arg(val, 3, 'f', 2, '0')); @@ -294,7 +338,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(); @@ -305,18 +349,18 @@ } } - qDebug() << "brewing_salt_sub, nothing done." << salt << val; + qDebug() << "brewing_salt_sub, nothing done." << salt << val << use; } /* * Edit brewing salt and recalculate. */ -void EditProduct::set_brewing_salt(QString salt, double val) +void EditProduct::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(); } @@ -677,6 +721,7 @@ useatEdit->addItem(tr("Primary")); useatEdit->addItem(tr("Secondary")); useatEdit->addItem(tr("Bottling")); + useatEdit->addItem(tr("Sparge")); useatEdit->setCurrentIndex(product->miscs.at(product->miscs_row).use_use); minstockEdit = new QCheckBox(dialog); @@ -737,6 +782,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 < product->miscs.size(); i++) { amount = product->miscs.at(i).amount * factor; @@ -745,7 +795,7 @@ /* * Update the water agents. */ - if (product->miscs.at(i).type == MISC_TYPES_WATER_AGENT) { + if (product->miscs.at(i).type == MISC_TYPES_WATER_AGENT && product->miscs.at(i).use_use == MISC_USES_MASH) { if (product->miscs.at(i).name == "CaCl2") { ui->bs_cacl2Edit->setValue(product->miscs.at(i).amount * 1000.0); } else if (product->miscs.at(i).name == "CaSO4") { @@ -769,6 +819,26 @@ } else if (product->miscs.at(i).name == "Zwavelzuur" || product->miscs.at(i).name == "Sulfuric") { ui->mw_acidvolEdit->setValue(product->miscs.at(i).amount * 1000.0); } + } else if (product->miscs.at(i).type == MISC_TYPES_WATER_AGENT && product->miscs.at(i).use_use == MISC_USES_SPARGE) { + if (product->miscs.at(i).name == "CaCl2") { + ui->ss_cacl2Edit->setValue(product->miscs.at(i).amount * 1000.0); + } else if (product->miscs.at(i).name == "CaSO4") { + ui->ss_caso4Edit->setValue(product->miscs.at(i).amount * 1000.0); + } else if (product->miscs.at(i).name == "MgSO4") { + ui->ss_mgso4Edit->setValue(product->miscs.at(i).amount * 1000.0); + } else if (product->miscs.at(i).name == "NaCl") { + ui->ss_naclEdit->setValue(product->miscs.at(i).amount * 1000.0); + } else if (product->miscs.at(i).name == "MgCl2") { + ui->ss_mgcl2Edit->setValue(product->miscs.at(i).amount * 1000.0); + } else if (product->miscs.at(i).name == "Melkzuur" || product->miscs.at(i).name == "Lactic") { + ui->sp_acidvolEdit->setValue(product->miscs.at(i).amount * 1000.0); + } else if (product->miscs.at(i).name == "Zoutzuur" || product->miscs.at(i).name == "Hydrochloric") { + ui->sp_acidvolEdit->setValue(product->miscs.at(i).amount * 1000.0); + } else if (product->miscs.at(i).name == "Fosforzuur" || product->miscs.at(i).name == "Phosphoric") { + ui->sp_acidvolEdit->setValue(product->miscs.at(i).amount * 1000.0); + } else if (product->miscs.at(i).name == "Zwavelzuur" || product->miscs.at(i).name == "Sulfuric") { + ui->sp_acidvolEdit->setValue(product->miscs.at(i).amount * 1000.0); + } } } }