102 item = new QTableWidgetItem(QString("")); |
102 item = new QTableWidgetItem(QString("")); |
103 } |
103 } |
104 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
104 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
105 ui->hopsTable->setItem(i, 6, item); |
105 ui->hopsTable->setItem(i, 6, item); |
106 |
106 |
107 double ibu = Utils::toIBU(product->hops.at(i).useat, product->hops.at(i).form, product->preboil_sg, product->batch_size, |
107 double ibu = Utils::toIBU(product->hops.at(i).useat, product->hops.at(i).form, product->preboil_sg, product->est_og3, product->batch_size, |
108 product->hops.at(i).amount, product->hops.at(i).time, product->hops.at(i).alpha, product->ibu_method, |
108 product->hops.at(i).amount, product->hops.at(i).time, product->hops.at(i).alpha, product->ibu_method, |
109 product->brew_whirlpool9, product->brew_whirlpool7, product->brew_whirlpool6, product->boil_time, |
109 product->brew_whirlpool9, product->brew_whirlpool7, product->brew_whirlpool6, product->boil_time, |
110 product->brew_cooling_method, 0, 0); |
110 product->brew_cooling_method, 0, 0, product->hops.at(i).utilisation, product->hops.at(i).bu_factor); |
111 item = new QTableWidgetItem(QString("%1").arg(ibu, 2, 'f', 1, '0')); |
111 item = new QTableWidgetItem(QString("%1").arg(ibu, 2, 'f', 1, '0')); |
112 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
112 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
113 ui->hopsTable->setItem(i, 7, item); |
113 ui->hopsTable->setItem(i, 7, item); |
114 |
114 |
115 if (product->hops.at(i).amount < 1.0) { |
115 if (product->hops.at(i).amount < 1.0) { |
254 double hop_flavour = 0, hop_aroma = 0, ibus = 0, ferm_ibus = 0; |
254 double hop_flavour = 0, hop_aroma = 0, ibus = 0, ferm_ibus = 0; |
255 |
255 |
256 product->hops_ok = true; |
256 product->hops_ok = true; |
257 for (int i = 0; i < product->hops.size(); i++) { |
257 for (int i = 0; i < product->hops.size(); i++) { |
258 |
258 |
259 ibus += Utils::toIBU(product->hops.at(i).useat, product->hops.at(i).form, product->preboil_sg, |
259 ibus += Utils::toIBU(product->hops.at(i).useat, product->hops.at(i).form, product->preboil_sg, product->est_og3, |
260 product->batch_size, product->hops.at(i).amount, |
260 product->batch_size, product->hops.at(i).amount, |
261 product->hops.at(i).time, product->hops.at(i).alpha, product->ibu_method, |
261 product->hops.at(i).time, product->hops.at(i).alpha, product->ibu_method, |
262 product->brew_whirlpool9, product->brew_whirlpool7, product->brew_whirlpool6, product->boil_time, |
262 product->brew_whirlpool9, product->brew_whirlpool7, product->brew_whirlpool6, product->boil_time, |
263 product->brew_cooling_method, 0, 0); |
263 product->brew_cooling_method, 0, 0, product->hops.at(i).utilisation, product->hops.at(i).bu_factor); |
264 ferm_ibus += Utils::toIBU(product->hops.at(i).useat, product->hops.at(i).form, product->preboil_sg, |
264 ferm_ibus += Utils::toIBU(product->hops.at(i).useat, product->hops.at(i).form, product->preboil_sg, product->est_og3, |
265 product->brew_fermenter_volume + product->brew_fermenter_tcloss, product->hops.at(i).amount, |
265 product->brew_fermenter_volume + product->brew_fermenter_tcloss, product->hops.at(i).amount, |
266 product->hops.at(i).time, product->hops.at(i).alpha, product->ibu_method, |
266 product->hops.at(i).time, product->hops.at(i).alpha, product->ibu_method, |
267 product->brew_whirlpool9, product->brew_whirlpool7, product->brew_whirlpool6, product->boil_time, |
267 product->brew_whirlpool9, product->brew_whirlpool7, product->brew_whirlpool6, product->boil_time, |
268 product->brew_cooling_method, 0, 0); |
268 product->brew_cooling_method, 0, 0, product->hops.at(i).utilisation, product->hops.at(i).bu_factor); |
269 |
269 |
270 hop_flavour += Utils::hopFlavourContribution(product->hops.at(i).time, product->batch_size, product->hops.at(i).useat, product->hops.at(i).amount); |
270 hop_flavour += Utils::hopFlavourContribution(product->hops.at(i).time, product->batch_size, product->hops.at(i).useat, |
271 hop_aroma += Utils::hopAromaContribution(product->hops.at(i).time, product->batch_size, product->hops.at(i).useat, product->hops.at(i).amount); |
271 product->hops.at(i).amount, product->hops.at(i).form); |
|
272 hop_aroma += Utils::hopAromaContribution(product->hops.at(i).time, product->batch_size, product->hops.at(i).useat, |
|
273 product->hops.at(i).amount, product->hops.at(i).form); |
272 if ((((product->inventory_reduced <= PROD_STAGE_BREW) && (product->hops.at(i).useat <= HOP_USEAT_WHIRLPOOL)) || |
274 if ((((product->inventory_reduced <= PROD_STAGE_BREW) && (product->hops.at(i).useat <= HOP_USEAT_WHIRLPOOL)) || |
273 ((product->inventory_reduced <= PROD_STAGE_PACKAGE) && (product->hops.at(i).useat == HOP_USEAT_DRY_HOP))) && |
275 ((product->inventory_reduced <= PROD_STAGE_PACKAGE) && (product->hops.at(i).useat == HOP_USEAT_DRY_HOP))) && |
274 (product->hops.at(i).inventory < product->hops.at(i).amount)) |
276 (product->hops.at(i).inventory < product->hops.at(i).amount)) |
275 product->hops_ok = false; |
277 product->hops_ok = false; |
276 } |
278 } |
358 product->hops[product->hops_row].amount = val / 1000.0; |
360 product->hops[product->hops_row].amount = val / 1000.0; |
359 item = new QTableWidgetItem(QString("%1 gr").arg(val, 2, 'f', 1, '0')); |
361 item = new QTableWidgetItem(QString("%1 gr").arg(val, 2, 'f', 1, '0')); |
360 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
362 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
361 ui->hopsTable->setItem(product->hops_row, 8, item); |
363 ui->hopsTable->setItem(product->hops_row, 8, item); |
362 |
364 |
363 double ibu = Utils::toIBU(product->hops.at(product->hops_row).useat, product->hops.at(product->hops_row).form, product->preboil_sg, |
365 double ibu = Utils::toIBU(product->hops.at(product->hops_row).useat, product->hops.at(product->hops_row).form, product->preboil_sg, product->est_og3, |
364 product->batch_size, product->hops.at(product->hops_row).amount, product->hops.at(product->hops_row).time, |
366 product->batch_size, product->hops.at(product->hops_row).amount, product->hops.at(product->hops_row).time, |
365 product->hops.at(product->hops_row).alpha, product->ibu_method, |
367 product->hops.at(product->hops_row).alpha, product->ibu_method, |
366 product->brew_whirlpool9, product->brew_whirlpool7, product->brew_whirlpool6, product->boil_time, |
368 product->brew_whirlpool9, product->brew_whirlpool7, product->brew_whirlpool6, product->boil_time, |
367 product->brew_cooling_method, 0, 0); |
369 product->brew_cooling_method, 0, 0, |
|
370 product->hops.at(product->hops_row).utilisation, product->hops.at(product->hops_row).bu_factor); |
368 |
371 |
369 ibuEdit->setValue(ibu); |
372 ibuEdit->setValue(ibu); |
370 item = new QTableWidgetItem(QString("%1").arg(ibu, 2, 'f', 1, '0')); |
373 item = new QTableWidgetItem(QString("%1").arg(ibu, 2, 'f', 1, '0')); |
371 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
374 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
372 ui->hopsTable->setItem(product->hops_row, 7, item); |
375 ui->hopsTable->setItem(product->hops_row, 7, item); |
393 product->hops[product->hops_row].time = val; |
396 product->hops[product->hops_row].time = val; |
394 } |
397 } |
395 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
398 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
396 ui->hopsTable->setItem(product->hops_row, 6, item); |
399 ui->hopsTable->setItem(product->hops_row, 6, item); |
397 |
400 |
398 double ibu = Utils::toIBU(product->hops.at(product->hops_row).useat, product->hops.at(product->hops_row).form, product->preboil_sg, |
401 double ibu = Utils::toIBU(product->hops.at(product->hops_row).useat, product->hops.at(product->hops_row).form, product->preboil_sg, product->est_og3, |
399 product->batch_size, product->hops.at(product->hops_row).amount, product->hops.at(product->hops_row).time, |
402 product->batch_size, product->hops.at(product->hops_row).amount, product->hops.at(product->hops_row).time, |
400 product->hops.at(product->hops_row).alpha, product->ibu_method, |
403 product->hops.at(product->hops_row).alpha, product->ibu_method, |
401 product->brew_whirlpool9, product->brew_whirlpool7, product->brew_whirlpool6, product->boil_time, |
404 product->brew_whirlpool9, product->brew_whirlpool7, product->brew_whirlpool6, product->boil_time, |
402 product->brew_cooling_method, 0, 0); |
405 product->brew_cooling_method, 0, 0, |
|
406 product->hops.at(product->hops_row).utilisation, product->hops.at(product->hops_row).bu_factor); |
403 |
407 |
404 ibuEdit->setValue(ibu); |
408 ibuEdit->setValue(ibu); |
405 item = new QTableWidgetItem(QString("%1").arg(ibu, 2, 'f', 1, '0')); |
409 item = new QTableWidgetItem(QString("%1").arg(ibu, 2, 'f', 1, '0')); |
406 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
410 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); |
407 ui->hopsTable->setItem(product->hops_row, 7, item); |
411 ui->hopsTable->setItem(product->hops_row, 7, item); |
459 * Update the visible fields |
463 * Update the visible fields |
460 */ |
464 */ |
461 hnameEdit->setText(product->hops.at(product->hops_row).name); |
465 hnameEdit->setText(product->hops.at(product->hops_row).name); |
462 horiginEdit->setText(product->hops.at(product->hops_row).origin); |
466 horiginEdit->setText(product->hops.at(product->hops_row).origin); |
463 |
467 |
464 double ibu = Utils::toIBU(product->hops.at(product->hops_row).useat, product->hops.at(product->hops_row).form, product->preboil_sg, |
468 double ibu = Utils::toIBU(product->hops.at(product->hops_row).useat, product->hops.at(product->hops_row).form, product->preboil_sg, product->est_og3, |
465 product->batch_size, product->hops.at(product->hops_row).amount, product->hops.at(product->hops_row).time, |
469 product->batch_size, product->hops.at(product->hops_row).amount, product->hops.at(product->hops_row).time, |
466 product->hops.at(product->hops_row).alpha, product->ibu_method, |
470 product->hops.at(product->hops_row).alpha, product->ibu_method, |
467 product->brew_whirlpool9, product->brew_whirlpool7, product->brew_whirlpool6, product->boil_time, |
471 product->brew_whirlpool9, product->brew_whirlpool7, product->brew_whirlpool6, product->boil_time, |
468 product->brew_cooling_method, 0, 0); |
472 product->brew_cooling_method, 0, 0, |
|
473 product->hops.at(product->hops_row).utilisation, product->hops.at(product->hops_row).bu_factor); |
469 ibuEdit->setValue(ibu); |
474 ibuEdit->setValue(ibu); |
470 |
475 |
471 ui->hopsTable->setItem(product->hops_row, 0, new QTableWidgetItem(product->hops.at(product->hops_row).origin)); |
476 ui->hopsTable->setItem(product->hops_row, 0, new QTableWidgetItem(product->hops.at(product->hops_row).origin)); |
472 ui->hopsTable->setItem(product->hops_row, 1, new QTableWidgetItem(product->hops.at(product->hops_row).name)); |
477 ui->hopsTable->setItem(product->hops_row, 1, new QTableWidgetItem(product->hops.at(product->hops_row).name)); |
473 |
478 |
684 ibuEdit->setGeometry(QRect(550, 130, 121, 24)); |
689 ibuEdit->setGeometry(QRect(550, 130, 121, 24)); |
685 ibuEdit->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); |
690 ibuEdit->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); |
686 ibuEdit->setReadOnly(true); |
691 ibuEdit->setReadOnly(true); |
687 ibuEdit->setButtonSymbols(QAbstractSpinBox::NoButtons); |
692 ibuEdit->setButtonSymbols(QAbstractSpinBox::NoButtons); |
688 ibuEdit->setDecimals(1); |
693 ibuEdit->setDecimals(1); |
689 double ibu = Utils::toIBU(product->hops.at(product->hops_row).useat, product->hops.at(product->hops_row).form, product->preboil_sg, |
694 double ibu = Utils::toIBU(product->hops.at(product->hops_row).useat, product->hops.at(product->hops_row).form, product->preboil_sg, product->est_og3, |
690 product->batch_size, product->hops.at(product->hops_row).amount, product->hops.at(product->hops_row).time, |
695 product->batch_size, product->hops.at(product->hops_row).amount, product->hops.at(product->hops_row).time, |
691 product->hops.at(product->hops_row).alpha, product->ibu_method, |
696 product->hops.at(product->hops_row).alpha, product->ibu_method, |
692 product->brew_whirlpool9, product->brew_whirlpool7, product->brew_whirlpool6, product->boil_time, |
697 product->brew_whirlpool9, product->brew_whirlpool7, product->brew_whirlpool6, product->boil_time, |
693 product->brew_cooling_method, 0, 0); |
698 product->brew_cooling_method, 0, 0, |
|
699 product->hops.at(product->hops_row).utilisation, product->hops.at(product->hops_row).bu_factor); |
694 ibuEdit->setValue(ibu); |
700 ibuEdit->setValue(ibu); |
695 |
701 |
696 hop_instock_changed(true); |
702 hop_instock_changed(true); |
697 |
703 |
698 connect(hselectEdit, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &EditProduct::hop_select_changed); |
704 connect(hselectEdit, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &EditProduct::hop_select_changed); |