317 RA = ui->bs_cacl2Edit->value() * MMCl / MMCaCl2 + ui->bs_naclEdit->value() * MMCl / MMNaCl + Acidmg / 1000 * MMCl / (MMCl + 1); |
317 RA = ui->bs_cacl2Edit->value() * MMCl / MMCaCl2 + ui->bs_naclEdit->value() * MMCl / MMNaCl + Acidmg / 1000 * MMCl / (MMCl + 1); |
318 RA = 1000 * RA / liters; |
318 RA = 1000 * RA / liters; |
319 chloride = wg_chloride + RA; |
319 chloride = wg_chloride + RA; |
320 } |
320 } |
321 |
321 |
|
322 double BUGU = GetBUGU(); |
|
323 ui->buguEdit->setValue(BUGU); |
|
324 if (BUGU < 0.32) |
|
325 ui->buguResult->setText(tr("Very malty and sweet")); |
|
326 else if (BUGU < 0.43) |
|
327 ui->buguResult->setText(tr("Malty, sweet")); |
|
328 else if (BUGU < 0.52) |
|
329 ui->buguResult->setText(tr("Balanced")); |
|
330 else if (BUGU < 0.63) |
|
331 ui->buguResult->setText(tr("Hoppy, bitter")); |
|
332 else |
|
333 ui->buguResult->setText(tr("Very hoppy, very bitter")); |
|
334 |
|
335 double OptSO4Clratio = GetOptSO4Clratio(); |
|
336 ui->so4clEdit->setValue(OptSO4Clratio); |
|
337 ui->cur_so4clResult->setRange(0.7 * OptSO4Clratio, 1.3 * OptSO4Clratio); |
|
338 if (OptSO4Clratio < 0.4) |
|
339 ui->so4clResult->setText(tr("Too malty")); |
|
340 else if (OptSO4Clratio < 0.6) |
|
341 ui->so4clResult->setText(tr("Very malty")); |
|
342 else if (OptSO4Clratio < 0.8) |
|
343 ui->so4clResult->setText(tr("Malty")); |
|
344 else if (OptSO4Clratio < 1.5) |
|
345 ui->so4clResult->setText(tr("Balanced")); |
|
346 else if (OptSO4Clratio < 2.0) |
|
347 ui->so4clResult->setText(tr("Little bitter")); |
|
348 else if (OptSO4Clratio < 4.0) |
|
349 ui->so4clResult->setText(tr("Bitter")); |
|
350 else if (OptSO4Clratio < 9.0) |
|
351 ui->so4clResult->setText(tr("Very bitter")); |
|
352 else |
|
353 ui->so4clResult->setText(tr("Too bitter")); |
|
354 if (chloride > 0) |
|
355 RA = sulfate / chloride; |
|
356 else |
|
357 RA = 10; |
|
358 ui->cur_so4clEdit->setValue(RA); |
|
359 ui->cur_so4clResult->setValue(RA); |
|
360 |
322 ui->wb_caEdit->setValue(calcium); |
361 ui->wb_caEdit->setValue(calcium); |
323 ui->wb_mgEdit->setValue(magnesium); |
362 ui->wb_mgEdit->setValue(magnesium); |
324 ui->wb_hco3Edit->setValue(bicarbonate); |
363 ui->wb_hco3Edit->setValue(bicarbonate); |
325 ui->wb_caco3Edit->setValue(total_alkalinity); |
364 ui->wb_caco3Edit->setValue(total_alkalinity); |
326 ui->wb_naEdit->setValue(sodium); |
365 ui->wb_naEdit->setValue(sodium); |
346 ui->wb_phEdit->setStyleSheet((ph < 5.2 || ph > 5.6) ? "background-color: red":"background-color: green"); |
385 ui->wb_phEdit->setStyleSheet((ph < 5.2 || ph > 5.6) ? "background-color: red":"background-color: green"); |
347 ui->wb_hco3Edit->setStyleSheet((bicarbonate > 250) ? "background-color: red":"background-color: green"); |
386 ui->wb_hco3Edit->setStyleSheet((bicarbonate > 250) ? "background-color: red":"background-color: green"); |
348 ui->wb_caco3Edit->setStyleSheet((bicarbonate > 250) ? "background-color: red":"background-color: green"); |
387 ui->wb_caco3Edit->setStyleSheet((bicarbonate > 250) ? "background-color: red":"background-color: green"); |
349 |
388 |
350 // calcSparge(); |
389 // calcSparge(); |
|
390 } |
|
391 |
|
392 |
|
393 double EditRecipe::GetBUGU() |
|
394 { |
|
395 double gu = (recipe->est_og - 1) * 1000; |
|
396 if (gu > 0) |
|
397 return recipe->est_ibu / gu; |
|
398 return 0.5; |
|
399 } |
|
400 |
|
401 |
|
402 double EditRecipe::GetOptSO4Clratio() |
|
403 { |
|
404 if (ui->wt_so4Edit->value() > 0 && ui->wt_clEdit->value()) { |
|
405 /* If target water is selected .. */ |
|
406 return (ui->wt_so4Edit->value() / ui->wt_clEdit->value()); |
|
407 } |
|
408 double BUGU = GetBUGU(); |
|
409 return (-1.2 * BUGU + 1.4); |
351 } |
410 } |
352 |
411 |
353 |
412 |
354 void EditRecipe::on_calc_acid_clicked() |
413 void EditRecipe::on_calc_acid_clicked() |
355 { |
414 { |