diff -r 37bac72eff61 -r d369948a3eb5 src/EditProductTab1.cpp --- a/src/EditProductTab1.cpp Fri May 20 12:47:35 2022 +0200 +++ b/src/EditProductTab1.cpp Fri May 20 14:48:03 2022 +0200 @@ -204,6 +204,14 @@ stage = PROD_STAGE_WAIT; /* from PROD_STAGE_BREW to PROD_STAGE_PRIMARY is handled in EditProductTab9.cpp */ /* from PROD_STAGE_PRIMARY to PROD_STAGE_SECONDARY is handled in EditProductTab10.cpp */ + /* from PROD_STAGE_SECONDARY to PROD_STAGE_TERIARY is handled in EditProductTab10.cpp */ + if ((stage == PROD_STAGE_TERTIARY) && product->package_date.isValid()) + stage = PROD_STAGE_PACKAGE; + if ((stage == PROD_STAGE_PACKAGE) && (! product->package_date.isValid())) + stage = PROD_STAGE_TERTIARY; + /* from PROD_STAGE_PACKAGE to PROD_STAGE_CARBONATION is handled in EditProductTab11.cpp */ + if ((stage == PROD_STAGE_CARBONATION) && (product->package_date.daysTo(QDate::currentDate()) > 14)) + stage = PROD_STAGE_MATURE; if (product->stage != stage) { qDebug() << "setStage() change state:" << prod_stages[product->stage] << "to:" << prod_stages[stage]; @@ -485,6 +493,49 @@ /* Tab 11, packaging */ ui->tabWidget->setTabEnabled(10, stage > PROD_STAGE_PLAN); + bool pack = ((stage > PROD_STAGE_PLAN) && (stage <= PROD_STAGE_PACKAGE)) ? true:false; + ui->pack_volumeEdit->setReadOnly(! pack); + ui->pack_volumeEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); + ui->pack_phEdit->setReadOnly(! pack); + ui->pack_phEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); + ui->pack_addvolEdit->setReadOnly(! pack); + ui->pack_addvolEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); + ui->pack_addabvEdit->setReadOnly(! pack); + ui->pack_addabvEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); + ui->pack_notesEdit->setReadOnly(! pack); + ui->bottle_volumeEdit->setReadOnly(! pack); + ui->bottle_volumeEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); + ui->bottle_carbEdit->setReadOnly(! pack); + ui->bottle_carbEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); + ui->bottle_sugarEdit->setDisabled(! pack); + ui->bottle_sug_waterEdit->setReadOnly(! pack); + ui->bottle_sug_waterEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); + ui->bottle_tempEdit->setReadOnly(! pack); + ui->bottle_tempEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); + ui->keg_volumeEdit->setReadOnly(! pack); + ui->keg_volumeEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); + ui->keg_carbEdit->setReadOnly(! pack); + ui->keg_carbEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); + ui->keg_sugarEdit->setDisabled(! pack); + ui->keg_sug_waterEdit->setReadOnly(! pack); + ui->keg_sug_waterEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); + ui->keg_tempEdit->setReadOnly(! pack); + ui->keg_tempEdit->setButtonSymbols((pack) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons); + ui->keg_forcedEdit->setDisabled(! pack); + ui->pack_dateEdit->setReadOnly(true); + ui->pack_dateEdit->setButtonSymbols(QAbstractSpinBox::NoButtons); + ui->pack_dateButton->hide(); + ui->pack_ackButton->hide(); + if (((stage == PROD_STAGE_TERTIARY) || (stage == PROD_STAGE_PACKAGE)) && + (product->package_volume > 1) && ((product->bottle_amount + product->keg_amount) > 1)) { + ui->pack_dateEdit->setReadOnly(false); + ui->pack_dateEdit->setButtonSymbols(QAbstractSpinBox::UpDownArrows); + ui->pack_dateEdit->setMinimumDate(product->secondary_end_date.addDays(-1)); // Allow same date as secondary end. + ui->pack_dateEdit->setMaximumDate(QDate::currentDate()); + ui->pack_dateButton->show(); + if (stage == PROD_STAGE_PACKAGE) + ui->pack_ackButton->show(); + } /* Tab 12, tasting */