202 stage = PROD_STAGE_BREW; |
202 stage = PROD_STAGE_BREW; |
203 if ((stage == PROD_STAGE_BREW) && (! product->brew_date_start.date().isValid())) |
203 if ((stage == PROD_STAGE_BREW) && (! product->brew_date_start.date().isValid())) |
204 stage = PROD_STAGE_WAIT; |
204 stage = PROD_STAGE_WAIT; |
205 /* from PROD_STAGE_BREW to PROD_STAGE_PRIMARY is handled in EditProductTab9.cpp */ |
205 /* from PROD_STAGE_BREW to PROD_STAGE_PRIMARY is handled in EditProductTab9.cpp */ |
206 /* from PROD_STAGE_PRIMARY to PROD_STAGE_SECONDARY is handled in EditProductTab10.cpp */ |
206 /* from PROD_STAGE_PRIMARY to PROD_STAGE_SECONDARY is handled in EditProductTab10.cpp */ |
|
207 /* from PROD_STAGE_SECONDARY to PROD_STAGE_TERIARY is handled in EditProductTab10.cpp */ |
|
208 if ((stage == PROD_STAGE_TERTIARY) && product->package_date.isValid()) |
|
209 stage = PROD_STAGE_PACKAGE; |
|
210 if ((stage == PROD_STAGE_PACKAGE) && (! product->package_date.isValid())) |
|
211 stage = PROD_STAGE_TERTIARY; |
|
212 /* from PROD_STAGE_PACKAGE to PROD_STAGE_CARBONATION is handled in EditProductTab11.cpp */ |
|
213 if ((stage == PROD_STAGE_CARBONATION) && (product->package_date.daysTo(QDate::currentDate()) > 14)) |
|
214 stage = PROD_STAGE_MATURE; |
207 |
215 |
208 if (product->stage != stage) { |
216 if (product->stage != stage) { |
209 qDebug() << "setStage() change state:" << prod_stages[product->stage] << "to:" << prod_stages[stage]; |
217 qDebug() << "setStage() change state:" << prod_stages[product->stage] << "to:" << prod_stages[stage]; |
210 product->stage = stage; |
218 product->stage = stage; |
211 is_changed(); |
219 is_changed(); |
483 else |
491 else |
484 ui->tert_sgButton->hide(); |
492 ui->tert_sgButton->hide(); |
485 |
493 |
486 /* Tab 11, packaging */ |
494 /* Tab 11, packaging */ |
487 ui->tabWidget->setTabEnabled(10, stage > PROD_STAGE_PLAN); |
495 ui->tabWidget->setTabEnabled(10, stage > PROD_STAGE_PLAN); |
|
496 bool pack = ((stage > PROD_STAGE_PLAN) && (stage <= PROD_STAGE_PACKAGE)) ? true:false; |
|
497 ui->pack_volumeEdit->setReadOnly(! pack); |
|
498 ui->pack_volumeEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); |
|
499 ui->pack_phEdit->setReadOnly(! pack); |
|
500 ui->pack_phEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); |
|
501 ui->pack_addvolEdit->setReadOnly(! pack); |
|
502 ui->pack_addvolEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); |
|
503 ui->pack_addabvEdit->setReadOnly(! pack); |
|
504 ui->pack_addabvEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); |
|
505 ui->pack_notesEdit->setReadOnly(! pack); |
|
506 ui->bottle_volumeEdit->setReadOnly(! pack); |
|
507 ui->bottle_volumeEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); |
|
508 ui->bottle_carbEdit->setReadOnly(! pack); |
|
509 ui->bottle_carbEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); |
|
510 ui->bottle_sugarEdit->setDisabled(! pack); |
|
511 ui->bottle_sug_waterEdit->setReadOnly(! pack); |
|
512 ui->bottle_sug_waterEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); |
|
513 ui->bottle_tempEdit->setReadOnly(! pack); |
|
514 ui->bottle_tempEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); |
|
515 ui->keg_volumeEdit->setReadOnly(! pack); |
|
516 ui->keg_volumeEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); |
|
517 ui->keg_carbEdit->setReadOnly(! pack); |
|
518 ui->keg_carbEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); |
|
519 ui->keg_sugarEdit->setDisabled(! pack); |
|
520 ui->keg_sug_waterEdit->setReadOnly(! pack); |
|
521 ui->keg_sug_waterEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); |
|
522 ui->keg_tempEdit->setReadOnly(! pack); |
|
523 ui->keg_tempEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); |
|
524 ui->keg_forcedEdit->setDisabled(! pack); |
|
525 ui->pack_dateEdit->setReadOnly(true); |
|
526 ui->pack_dateEdit->setButtonSymbols(QAbstractSpinBox::NoButtons); |
|
527 ui->pack_dateButton->hide(); |
|
528 ui->pack_ackButton->hide(); |
|
529 if (((stage == PROD_STAGE_TERTIARY) || (stage == PROD_STAGE_PACKAGE)) && |
|
530 (product->package_volume > 1) && ((product->bottle_amount + product->keg_amount) > 1)) { |
|
531 ui->pack_dateEdit->setReadOnly(false); |
|
532 ui->pack_dateEdit->setButtonSymbols(QAbstractSpinBox::UpDownArrows); |
|
533 ui->pack_dateEdit->setMinimumDate(product->secondary_end_date.addDays(-1)); // Allow same date as secondary end. |
|
534 ui->pack_dateEdit->setMaximumDate(QDate::currentDate()); |
|
535 ui->pack_dateButton->show(); |
|
536 if (stage == PROD_STAGE_PACKAGE) |
|
537 ui->pack_ackButton->show(); |
|
538 } |
488 |
539 |
489 |
540 |
490 /* Tab 12, tasting */ |
541 /* Tab 12, tasting */ |
491 ui->tabWidget->setTabEnabled(11, stage > PROD_STAGE_PACKAGE); |
542 ui->tabWidget->setTabEnabled(11, stage > PROD_STAGE_PACKAGE); |
492 |
543 |