src/EditRecipeTab7.cpp

changeset 137
ffe8b2e9517b
parent 136
17030224d919
child 138
1189d072f346
--- a/src/EditRecipeTab7.cpp	Sat Apr 16 13:05:47 2022 +0200
+++ b/src/EditRecipeTab7.cpp	Sat Apr 16 14:44:50 2022 +0200
@@ -319,6 +319,45 @@
 	chloride = wg_chloride + RA;
     }
 
+    double BUGU = GetBUGU();
+    ui->buguEdit->setValue(BUGU);
+    if (BUGU < 0.32)
+	ui->buguResult->setText(tr("Very malty and sweet"));
+    else if (BUGU < 0.43)
+	ui->buguResult->setText(tr("Malty, sweet"));
+    else if (BUGU < 0.52)
+	ui->buguResult->setText(tr("Balanced"));
+    else if (BUGU < 0.63)
+	ui->buguResult->setText(tr("Hoppy, bitter"));
+    else
+	ui->buguResult->setText(tr("Very hoppy, very bitter"));
+
+    double OptSO4Clratio = GetOptSO4Clratio();
+    ui->so4clEdit->setValue(OptSO4Clratio);
+    ui->cur_so4clResult->setRange(0.7 * OptSO4Clratio, 1.3 * OptSO4Clratio);
+    if (OptSO4Clratio < 0.4)
+	ui->so4clResult->setText(tr("Too malty"));
+    else if (OptSO4Clratio < 0.6)
+	ui->so4clResult->setText(tr("Very malty"));
+    else if (OptSO4Clratio < 0.8)
+	ui->so4clResult->setText(tr("Malty"));
+    else if (OptSO4Clratio < 1.5)
+	ui->so4clResult->setText(tr("Balanced"));
+    else if (OptSO4Clratio < 2.0)
+	ui->so4clResult->setText(tr("Little bitter"));
+    else if (OptSO4Clratio < 4.0)
+	ui->so4clResult->setText(tr("Bitter"));
+    else if (OptSO4Clratio < 9.0)
+	ui->so4clResult->setText(tr("Very bitter"));
+    else
+	ui->so4clResult->setText(tr("Too bitter"));
+    if (chloride > 0)
+	RA = sulfate / chloride;
+    else
+	RA = 10;
+    ui->cur_so4clEdit->setValue(RA);
+    ui->cur_so4clResult->setValue(RA);
+
     ui->wb_caEdit->setValue(calcium);
     ui->wb_mgEdit->setValue(magnesium);
     ui->wb_hco3Edit->setValue(bicarbonate);
@@ -351,6 +390,26 @@
 }
 
 
+double EditRecipe::GetBUGU()
+{
+    double gu = (recipe->est_og - 1) * 1000;
+    if (gu > 0)
+	return recipe->est_ibu / gu;
+    return 0.5;
+}
+
+
+double EditRecipe::GetOptSO4Clratio()
+{
+    if (ui->wt_so4Edit->value() > 0 && ui->wt_clEdit->value()) {
+	/* If target water is selected .. */
+	return (ui->wt_so4Edit->value() / ui->wt_clEdit->value());
+    }
+    double BUGU = GetBUGU();
+    return (-1.2 * BUGU + 1.4);
+}
+
+
 void EditRecipe::on_calc_acid_clicked()
 {
     recipe->calc_acid = ! recipe->calc_acid;

mercurial