src/EditRecipeTab7.cpp

changeset 150
fd568cc1dd0e
parent 149
d73719fa2ebb
child 152
58e4ce7dd217
--- 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);  }

mercurial