src/EditProductTab3.cpp

changeset 432
f189af715073
parent 431
bfac9a7008a3
child 448
9e0da3824cf9
equal deleted inserted replaced
431:bfac9a7008a3 432:f189af715073
222 mashtemp += timem * product->mashs.at(i).step_temp; 222 mashtemp += timem * product->mashs.at(i).step_temp;
223 } 223 }
224 } 224 }
225 mashtemp = mashtemp / mashtime; 225 mashtemp = mashtemp / mashtime;
226 mvol = mashinfuse; 226 mvol = mashinfuse;
227 qDebug() << " mash time" << mashtime << "temp" << mashtemp << "infuse" << mashinfuse;
228 } else {
229 qDebug() << " no mash schedule";
230 } 227 }
231 228
232 /* 229 /*
233 * Pellets 2.67 ml/gram (plugs, cryo). 230 * Pellets 2.67 ml/gram (plugs, cryo).
234 * Leaf 6.01 ml/gram 231 * Leaf 6.01 ml/gram
346 ((product->inventory_reduced <= PROD_STAGE_PACKAGE) && (product->fermentables.at(i).added == FERMENTABLE_ADDED_KEGS))) && 343 ((product->inventory_reduced <= PROD_STAGE_PACKAGE) && (product->fermentables.at(i).added == FERMENTABLE_ADDED_KEGS))) &&
347 product->fermentables.at(i).inventory < product->fermentables.at(i).amount) { 344 product->fermentables.at(i).inventory < product->fermentables.at(i).amount) {
348 product->fermentables_ok = false; 345 product->fermentables_ok = false;
349 } 346 }
350 } 347 }
351 qDebug() << " adjust to 100" << product->fermentables_use100; 348 // qDebug() << " adjust to 100" << product->fermentables_use100;
352 qDebug() << " supplies" << product->fermentables_ok; 349 // qDebug() << " supplies" << product->fermentables_ok;
353 qDebug() << " colort" << colort << "colorh" << colorh << "colorn" << colorn; 350 // qDebug() << " colort" << colort << "colorh" << colorh << "colorn" << colorn;
354 qDebug() << " psugar" << psugar << "pcara" << pcara << "mvol" << mvol; 351 // qDebug() << " psugar" << psugar << "pcara" << pcara << "mvol" << mvol;
355 qDebug() << " sugarsf" << sugarsf << "sugarsm" << sugarsm; 352 // qDebug() << " sugarsf" << sugarsf << "sugarsm" << sugarsm;
356 353
357 double v = s / sugardensity + mvol; 354 double v = s / sugardensity + mvol;
358 s = 1000 * s / (v * 10); //deg. Plato 355 s = 1000 * s / (v * 10); //deg. Plato
359 product->est_mash_sg = Utils::plato_to_sg(s); 356 product->est_mash_sg = Utils::plato_to_sg(s);
360 ui->brew_mashsgShow->setValue(product->est_mash_sg); 357 ui->brew_mashsgShow->setValue(product->est_mash_sg);
361 358
362 /* Estimate total recipe OG */ 359 /* Estimate total recipe OG */
363 product->est_og = Utils::estimate_sg(sugarsf + addedS, product->batch_size); 360 product->est_og = Utils::estimate_sg(sugarsf + addedS, product->batch_size);
364 qDebug() << " OG" << ui->est_ogEdit->value() << product->est_og; 361 // qDebug() << " OG" << ui->est_ogEdit->value() << product->est_og;
365 if (product->stage > PROD_STAGE_BREW) { 362 if (product->stage > PROD_STAGE_BREW) {
366 ui->est_ogLabel->setText(tr("Final OG:")); 363 ui->est_ogLabel->setText(tr("Final OG:"));
367 ui->est_ogEdit->setValue(product->og); 364 ui->est_ogEdit->setValue(product->og);
368 ui->est_ogShow->setValue(product->og); 365 ui->est_ogShow->setValue(product->og);
369 } else { 366 } else {
378 ui->brew_aboilsgShow->setValue(product->est_og3); 375 ui->brew_aboilsgShow->setValue(product->est_og3);
379 376
380 /* Estimate SG in kettle before boil */ 377 /* Estimate SG in kettle before boil */
381 product->preboil_sg = Utils::estimate_sg(sugarsm, product->boil_size); 378 product->preboil_sg = Utils::estimate_sg(sugarsm, product->boil_size);
382 ui->brew_preboilsgShow->setValue(product->preboil_sg); 379 ui->brew_preboilsgShow->setValue(product->preboil_sg);
383 qDebug() << " preboil SG" << product->preboil_sg; 380 // qDebug() << " preboil SG" << product->preboil_sg;
384 381
385 /* 382 /*
386 * Recalculate volumes 383 * Recalculate volumes
387 */ 384 */
388 double aboil_volume = product->batch_size; 385 double aboil_volume = product->batch_size;
456 } else { 453 } else {
457 cw = colort / product->batch_size * 8.34436; 454 cw = colort / product->batch_size * 8.34436;
458 color = Utils::kw_to_ebc(product->color_method, cw); 455 color = Utils::kw_to_ebc(product->color_method, cw);
459 //qDebug() << " oud EBC" << color << "new EBC" << Utils::kw_to_newebc(product->color_method, cw) << "SRM" << Utils::kw_to_srm(product->color_method, cw); 456 //qDebug() << " oud EBC" << color << "new EBC" << Utils::kw_to_newebc(product->color_method, cw) << "SRM" << Utils::kw_to_srm(product->color_method, cw);
460 } 457 }
461 qDebug() << " color" << ui->est_colorEdit->value() << color << product->est_color; 458 //qDebug() << " color" << ui->est_colorEdit->value() << color << product->est_color;
462 product->est_color = color; 459 product->est_color = color;
463 ui->est_color2Edit->setValue(color); 460 ui->est_color2Edit->setValue(color);
464 ui->est_color2Edit->setStyleSheet(Utils::ebc_to_style(color)); 461 ui->est_color2Edit->setStyleSheet(Utils::ebc_to_style(color));
465 if (product->stage > PROD_STAGE_BREW) { 462 if (product->stage > PROD_STAGE_BREW) {
466 ui->est_colorLabel->setText(tr("Final EBC:")); 463 ui->est_colorLabel->setText(tr("Final EBC:"));
479 ui->perc_mashShow->setValue(round(product->mashs_kg / product->eq_mash_max * 100)); 476 ui->perc_mashShow->setValue(round(product->mashs_kg / product->eq_mash_max * 100));
480 ui->mash_kgEdit->setValue(product->mashs_kg); 477 ui->mash_kgEdit->setValue(product->mashs_kg);
481 ui->perc_sugarsShow->setValue(round(psugar)); 478 ui->perc_sugarsShow->setValue(round(psugar));
482 ui->perc_caraShow->setValue(round(pcara)); 479 ui->perc_caraShow->setValue(round(pcara));
483 if (product->mashs_kg > 0) { 480 if (product->mashs_kg > 0) {
484 qDebug() << " lintner" << lintner << " mashkg" << product->mashs_kg << "final" << round(lintner / product->mashs_kg); 481 // qDebug() << " lintner" << lintner << " mashkg" << product->mashs_kg << "final" << round(lintner / product->mashs_kg);
485 ui->lintnerShow->setValue(round(lintner / product->mashs_kg)); 482 ui->lintnerShow->setValue(round(lintner / product->mashs_kg));
486 } else { 483 } else {
487 qDebug() << " lintner N/A"; 484 // qDebug() << " lintner N/A";
488 ui->lintnerShow->setValue(0); 485 ui->lintnerShow->setValue(0);
489 } 486 }
490 487
491 /* 488 /*
492 * Calculate the apparant attenuation. 489 * Calculate the apparant attenuation.
511 ((product->inventory_reduced <= PROD_STAGE_PACKAGE) && (product->yeasts.at(i).use == 3))) && // Bottle 508 ((product->inventory_reduced <= PROD_STAGE_PACKAGE) && (product->yeasts.at(i).use == 3))) && // Bottle
512 (product->yeasts.at(i).inventory < product->yeasts.at(i).amount)) { 509 (product->yeasts.at(i).inventory < product->yeasts.at(i).amount)) {
513 product->yeasts_ok = false; 510 product->yeasts_ok = false;
514 } 511 }
515 } 512 }
516 qDebug() << " est SVG" << svg; 513 // qDebug() << " est SVG" << svg;
517 } 514 }
518 if (svg == 0) 515 if (svg == 0)
519 svg = 77.0; 516 svg = 77.0;
520 ui->est_svgEdit->setValue(svg); 517 ui->est_svgEdit->setValue(svg);
521 518
522 if (product->mashs_kg > 0 && mashinfuse > 0 && mashtime > 0 && mashtemp > 0) 519 if (product->mashs_kg > 0 && mashinfuse > 0 && mashtime > 0 && mashtemp > 0)
523 product->est_fg = Utils::estimate_fg(psugar, pcara, mashinfuse / product->mashs_kg, mashtime, mashtemp, svg, product->est_og); 520 product->est_fg = Utils::estimate_fg(psugar, pcara, mashinfuse / product->mashs_kg, mashtime, mashtemp, svg, product->est_og);
524 else 521 else
525 product->est_fg = Utils::estimate_fg(psugar, pcara, 0, 0, 0, svg, product->est_og); 522 product->est_fg = Utils::estimate_fg(psugar, pcara, 0, 0, 0, svg, product->est_og);
526 qDebug() << " est FG" << ui->est_fgEdit->value() << product->est_fg; 523 // qDebug() << " est FG" << ui->est_fgEdit->value() << product->est_fg;
527 product->est_abv = Utils::abvol(product->est_og, product->est_fg); 524 product->est_abv = Utils::abvol(product->est_og, product->est_fg);
528 qDebug() << " est ABV" << ui->est_abvEdit->value() << product->est_abv; 525 // qDebug() << " est ABV" << ui->est_abvEdit->value() << product->est_abv;
529 526
530 if (product->stage > PROD_STAGE_TERTIARY) { 527 if (product->stage > PROD_STAGE_TERTIARY) {
531 ui->est_fgLabel->setText(tr("Final FG:")); 528 ui->est_fgLabel->setText(tr("Final FG:"));
532 ui->est_fgEdit->setValue(product->fg); 529 ui->est_fgEdit->setValue(product->fg);
533 ui->est_fgShow->setValue(product->fg); 530 ui->est_fgShow->setValue(product->fg);
703 if (product->locked) 700 if (product->locked)
704 return; 701 return;
705 702
706 QPushButton *pb = qobject_cast<QPushButton *>(QObject::sender()); 703 QPushButton *pb = qobject_cast<QPushButton *>(QObject::sender());
707 int row = pb->objectName().toInt(); 704 int row = pb->objectName().toInt();
708 qDebug() << "Delete fermentable row" << row << product->fermentables.size();
709 705
710 if (product->fermentables.size() < 1) 706 if (product->fermentables.size() < 1)
711 return; 707 return;
712 708
713 int rc = QMessageBox::warning(this, tr("Delete fermentable"), tr("Delete %1").arg(product->fermentables.at(row).name), 709 int rc = QMessageBox::warning(this, tr("Delete fermentable"), tr("Delete %1").arg(product->fermentables.at(row).name),
853 for (int i = 0; i < product->fermentables.size(); i++) { 849 for (int i = 0; i < product->fermentables.size(); i++) {
854 product->fermentables[i].adjust_to_total_100 = false; 850 product->fermentables[i].adjust_to_total_100 = false;
855 } 851 }
856 product->fermentables[product->fermentables_row].adjust_to_total_100 = true; 852 product->fermentables[product->fermentables_row].adjust_to_total_100 = true;
857 } else { 853 } else {
858 qDebug() << "bug"; 854 qWarning() << "ferment_to100_changed(" << val << ") bug triggered";
859 return; 855 return;
860 } 856 }
861 857
862 for (int i = 0; i < product->fermentables.size(); i++) { 858 for (int i = 0; i < product->fermentables.size(); i++) {
863 to100Fermentables(i); 859 to100Fermentables(i);

mercurial