src/EditProductTab11.cpp

changeset 447
9b5acb1f5776
parent 443
3c195eb4e7a1
child 448
9e0da3824cf9
equal deleted inserted replaced
446:f12becbdd042 447:9b5acb1f5776
58 ui->pack_finalabvShow->setValue(0); 58 ui->pack_finalabvShow->setValue(0);
59 59
60 return; 60 return;
61 } 61 }
62 62
63 if (product->stage > PROD_STAGE_TERTIARY) {
64 ui->pack_abvLabel->setText(tr("Package ABV %:"));
65 ui->pack_finalabvLabel->setText(tr("Final ABV %:"));
66 ui->pack_finalcolorLabel->setText(tr("Final EBC:"));
67 ui->pack_finalibuLabel->setText(tr("Final IBU:"));
68 } else {
69 product->package_abv = product->est_abv;
70 }
71
63 double bvol = product->package_volume - (product->package_abv * product->package_volume) / 100.0; 72 double bvol = product->package_volume - (product->package_abv * product->package_volume) / 100.0;
64 double balc = product->package_volume - bvol; 73 double balc = product->package_volume - bvol;
65 double mvol = product->package_infuse_amount - (product->package_infuse_abv * product->package_infuse_amount) / 100.0; 74 double mvol = product->package_infuse_amount - (product->package_infuse_abv * product->package_infuse_amount) / 100.0;
66 double malc = product->package_infuse_amount - mvol; 75 double malc = product->package_infuse_amount - mvol;
67 double talc = balc + malc; 76 double talc = balc + malc;
68 double tvol = bvol + mvol; 77 double tvol = bvol + mvol;
69 78
70 product->final_abv = round(talc / (tvol + talc) * 10000.0) / 100.0; 79 product->final_abv = round(talc / (tvol + talc) * 10000.0) / 100.0;
80 ui->pack_abvShow->setValue(product->package_abv);
71 ui->pack_finalabvShow->setValue(product->final_abv); 81 ui->pack_finalabvShow->setValue(product->final_abv);
82
83 double pack_color = product->brew_fermenter_color * (product->package_volume / (product->package_volume + product->package_infuse_amount));
84 double pack_ibu = product->brew_fermenter_ibu * (product->package_volume / (product->package_volume + product->package_infuse_amount));
85
86 ui->pack_finalcolorShow->setValue(pack_color);
87 ui->pack_finalcolorShow->setStyleSheet(Utils::ebc_to_style(pack_color));
88 ui->pack_finalibuShow->setValue(pack_ibu);
72 89
73 TSec = product->secondary_temp; 90 TSec = product->secondary_temp;
74 if (TSec < 1) 91 if (TSec < 1)
75 TSec = product->primary_end_temp; 92 TSec = product->primary_end_temp;
76 if (TSec < 1) 93 if (TSec < 1)
344 * Check if kegs volume plus this new volume fits in the package volume. 361 * Check if kegs volume plus this new volume fits in the package volume.
345 */ 362 */
346 const QSignalBlocker blocker1(ui->keg_volumeEdit); 363 const QSignalBlocker blocker1(ui->keg_volumeEdit);
347 if (product->keg_amount < 0) 364 if (product->keg_amount < 0)
348 product->keg_amount = 0; /* Failsafe - bugfix */ 365 product->keg_amount = 0; /* Failsafe - bugfix */
349 if (val > product->package_volume) { 366 if (val > (product->package_volume + product->package_infuse_amount)) {
350 val = product->package_volume; 367 val = product->package_volume + product->package_infuse_amount;
351 const QSignalBlocker blocker2(ui->bottle_volumeEdit); 368 const QSignalBlocker blocker2(ui->bottle_volumeEdit);
352 ui->bottle_volumeEdit->setValue(val); 369 ui->bottle_volumeEdit->setValue(val);
353 } 370 }
354 371
355 if ((val + product->keg_amount) > product->package_volume) { 372 if ((val + product->keg_amount) > (product->package_volume + product->package_infuse_amount)) {
356 double kegs = product->package_volume - val; 373 double kegs = product->package_volume + product->package_infuse_amount - val;
357 product->keg_amount = kegs; 374 product->keg_amount = kegs;
358 ui->keg_volumeEdit->setValue(kegs); 375 ui->keg_volumeEdit->setValue(kegs);
359 } 376 }
360 product->bottle_amount = val; 377 product->bottle_amount = val;
361 calcPack(); 378 calcPack();
452 * Check if bottle volume plus this new volume fits in the package volume. 469 * Check if bottle volume plus this new volume fits in the package volume.
453 */ 470 */
454 const QSignalBlocker blocker1(ui->bottle_volumeEdit); 471 const QSignalBlocker blocker1(ui->bottle_volumeEdit);
455 if (product->bottle_amount < 0) 472 if (product->bottle_amount < 0)
456 product->bottle_amount = 0; /* Failsafe - bugfix */ 473 product->bottle_amount = 0; /* Failsafe - bugfix */
457 if (val > product->package_volume) { 474 if (val > (product->package_volume + product->package_infuse_amount)) {
458 val = product->package_volume; 475 val = product->package_volume + product->package_infuse_amount;
459 const QSignalBlocker blocker2(ui->keg_volumeEdit); 476 const QSignalBlocker blocker2(ui->keg_volumeEdit);
460 ui->keg_volumeEdit->setValue(val); 477 ui->keg_volumeEdit->setValue(val);
461 } 478 }
462 479
463 if ((val + product->bottle_amount) > product->package_volume) { 480 if ((val + product->bottle_amount) > (product->package_volume + product->package_infuse_amount)) {
464 double bottle = product->package_volume - val; 481 double bottle = product->package_volume + product->package_infuse_amount - val;
465 product->bottle_amount = bottle; 482 product->bottle_amount = bottle;
466 ui->bottle_volumeEdit->setValue(bottle); 483 ui->bottle_volumeEdit->setValue(bottle);
467 } 484 }
468 product->keg_amount = val; 485 product->keg_amount = val;
469 calcPack(); 486 calcPack();

mercurial