--- a/src/EditRecipeTab7.cpp Wed Apr 20 14:30:06 2022 +0200 +++ b/src/EditRecipeTab7.cpp Wed Apr 20 22:48:20 2022 +0200 @@ -628,6 +628,42 @@ } +void EditRecipe::adjustWaters(double factor) +{ + int i; + double amount; + + if (recipe->mashs.size() == 0) + return; + + double mash_infuse = 0; + for (i = 0; i < recipe->mashs.size(); i++) { + if (recipe->mashs.at(i).step_type == 0) { // Infusion + amount = round(recipe->mashs.at(i).step_infuse_amount * factor * 1000000.0) / 1000000.0; + recipe->mashs[i].step_infuse_amount = amount; + mash_infuse += amount; + recipe->mashs[i].step_volume = mash_infuse; + } + } + + this->ignoreChanges = true; + if (recipe->w2_amount == 0) { + recipe->w1_amount = mash_infuse; + ui->w1_volEdit->setValue(mash_infuse); + } else { + double w1 = (recipe->w1_amount / (recipe->w1_amount + recipe->w2_amount)) * mash_infuse; + double w2 = (recipe->w2_amount / (recipe->w1_amount + recipe->w2_amount)) * mash_infuse; + recipe->w1_amount = w1; + recipe->w2_amount = w2; + ui->w1_volEdit->setValue(recipe->w1_amount); + ui->w2_volEdit->setValue(recipe->w2_amount); + } + recipe->wg_amount = mash_infuse; + ui->wg_volEdit->setValue(mash_infuse); + this->ignoreChanges = false; +} + + void EditRecipe::wb_cacl2_changed(double val) { set_brewing_salt("CaCl2", val); } void EditRecipe::wb_caso4_changed(double val) { set_brewing_salt("CaSO4", val); } void EditRecipe::wb_mgso4_changed(double val) { set_brewing_salt("MgSO4", val); }