diff -r bce87b8b604b -r da148d6b4c95 src/EditProductTab1.cpp --- a/src/EditProductTab1.cpp Sun May 01 11:38:53 2022 +0200 +++ b/src/EditProductTab1.cpp Sun May 01 16:27:00 2022 +0200 @@ -132,7 +132,9 @@ double new_evap = (0.1 * product->batch_size) * val / 60.0; product->boil_size = product->batch_size + new_evap; product->boil_time = val; + ui->brew_boilBox->setTitle(tr("Boiling %1 minutes").arg(product->boil_time)); ui->boil_sizeEdit->setValue(product->boil_size); + ui->brew_preboilvolShow->setValue(product->boil_size * 1.04); calcFermentables(); calcIBUs(); is_changed(); @@ -147,8 +149,10 @@ product->boil_size = val + evap; double factor = val / product->batch_size; ui->boil_sizeEdit->setValue(product->boil_size); + ui->brew_preboilvolShow->setValue(product->boil_size * 1.04); product->sparge_volume *= factor; ui->sp_volEdit->setValue(product->sparge_volume); + ui->brew_spargevolShow->setValue(product->sparge_volume); product->batch_size = val; calcFermentablesFromOG(product->est_og); // Keep the OG adjustWaters(factor); @@ -176,81 +180,91 @@ { qDebug() << "locked_changed" << val; + if (product->stage < PROD_STAGE_READY) + return; + product->locked = val; - setLocked(val); + product->stage = val ? PROD_STAGE_CLOSED : PROD_STAGE_READY; + setStage(); is_changed(); } -void EditProduct::setLocked(bool val) +void EditProduct::setStage() { + int stage = product->stage; + bool locked = product->locked; + + ui->stageEdit->setText(prod_stages[stage]); + /* Tab 1, generic */ - ui->typeEdit->setDisabled(val); - ui->color_methodEdit->setDisabled(val); - ui->ibu_methodEdit->setDisabled(val); - ui->beerstyleEdit->setDisabled(val); - ui->nameEdit->setReadOnly(val); - ui->notesEdit->setReadOnly(val); - ui->batch_sizeEdit->setReadOnly(val); - ui->batch_sizeEdit->setButtonSymbols(val ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); - ui->boil_sizeEdit->setReadOnly(val); - ui->boil_sizeEdit->setButtonSymbols(val ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); - ui->boil_timeEdit->setReadOnly(val); - ui->boil_timeEdit->setButtonSymbols(val ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); - ui->efficiencyEdit->setReadOnly(val); - ui->efficiencyEdit->setButtonSymbols(val ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); - ui->est_ogEdit->setReadOnly(val); - ui->est_ogEdit->setButtonSymbols(val ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); + ui->typeEdit->setDisabled(stage > PROD_STAGE_WAIT); + ui->color_methodEdit->setDisabled(locked); + ui->ibu_methodEdit->setDisabled(locked); + ui->beerstyleEdit->setDisabled(stage > PROD_STAGE_WAIT); + ui->nameEdit->setReadOnly(stage > PROD_STAGE_WAIT); + ui->codeEdit->setReadOnly(stage > PROD_STAGE_WAIT); + ui->notesEdit->setReadOnly(locked); + ui->batch_sizeEdit->setReadOnly(stage > PROD_STAGE_WAIT); + ui->batch_sizeEdit->setButtonSymbols((stage > PROD_STAGE_WAIT) ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); + ui->boil_sizeEdit->setReadOnly(stage > PROD_STAGE_WAIT); + ui->boil_sizeEdit->setButtonSymbols((stage > PROD_STAGE_WAIT) ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); + ui->boil_timeEdit->setReadOnly(stage > PROD_STAGE_WAIT); + ui->boil_timeEdit->setButtonSymbols((stage > PROD_STAGE_WAIT) ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); + ui->efficiencyEdit->setReadOnly(stage > PROD_STAGE_WAIT); + ui->efficiencyEdit->setButtonSymbols((stage > PROD_STAGE_WAIT) ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); + ui->est_ogEdit->setReadOnly(stage > PROD_STAGE_WAIT); + ui->est_ogEdit->setButtonSymbols((stage > PROD_STAGE_WAIT) ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); /* Tab 2, fermentables */ - ui->est_og2Edit->setReadOnly(val); - ui->est_og2Edit->setButtonSymbols(val ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); - ui->addFermentable->setEnabled(! val); + ui->est_og2Edit->setReadOnly(stage > PROD_STAGE_WAIT); + ui->est_og2Edit->setButtonSymbols((stage > PROD_STAGE_WAIT) ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); + ui->addFermentable->setEnabled(stage <= PROD_STAGE_PACKAGE); /* Tab 3, hops */ - ui->addHop->setEnabled(! val); + ui->addHop->setEnabled(stage <= PROD_STAGE_PACKAGE); /* Tab 4, miscs */ - ui->addMisc->setEnabled(! val); + ui->addMisc->setEnabled(stage <= PROD_STAGE_PACKAGE); /* Tab 5, yeasts */ - ui->addYeast->setEnabled(! val); + ui->addYeast->setEnabled(stage <= PROD_STAGE_PACKAGE); /* Tab 6, mash */ - ui->addMash->setEnabled(! val); - ui->mash_nameEdit->setReadOnly(val); - ui->mash_pickEdit->setDisabled(val); + ui->addMash->setEnabled(stage <= PROD_STAGE_BREW); + ui->mash_nameEdit->setReadOnly(stage > PROD_STAGE_BREW); + ui->mash_pickEdit->setDisabled(stage > PROD_STAGE_BREW); /* Tab 7, water */ - ui->sp_sourceEdit->setDisabled(val); - ui->wt_sourceEdit->setDisabled(val); - ui->w1_nameEdit->setDisabled(val); - ui->w2_nameEdit->setDisabled(val); - ui->mw_acidPick->setDisabled(val); - ui->sp_acidtypeEdit->setDisabled(val); - ui->w2_volEdit->setReadOnly(val); - ui->w2_volEdit->setButtonSymbols(val ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); - ui->sp_phEdit->setReadOnly(val); - ui->sp_phEdit->setButtonSymbols(val ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); - ui->sp_tempEdit->setReadOnly(val); - ui->sp_tempEdit->setButtonSymbols(val ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); - ui->sp_volEdit->setReadOnly(val); - ui->sp_volEdit->setButtonSymbols(val ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); - ui->bs_cacl2Edit->setReadOnly(val); - ui->bs_cacl2Edit->setButtonSymbols(val ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); - ui->bs_caso4Edit->setReadOnly(val); - ui->bs_caso4Edit->setButtonSymbols(val ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); - ui->bs_mgso4Edit->setReadOnly(val); - ui->bs_mgso4Edit->setButtonSymbols(val ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); - ui->bs_naclEdit->setReadOnly(val); - ui->bs_naclEdit->setButtonSymbols(val ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); - ui->bs_mgcl2Edit->setReadOnly(val); - ui->bs_mgcl2Edit->setButtonSymbols(val ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); - ui->bs_nahco3Edit->setReadOnly(val); - ui->bs_nahco3Edit->setButtonSymbols(val ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); - ui->bs_caco3Edit->setReadOnly(val); - ui->bs_caco3Edit->setButtonSymbols(val ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); - if (val) { + ui->sp_sourceEdit->setDisabled(stage > PROD_STAGE_BREW); + ui->wt_sourceEdit->setDisabled(stage > PROD_STAGE_BREW); + ui->w1_nameEdit->setDisabled(stage > PROD_STAGE_BREW); + ui->w2_nameEdit->setDisabled(stage > PROD_STAGE_BREW); + ui->mw_acidPick->setDisabled(stage > PROD_STAGE_BREW); + ui->sp_acidtypeEdit->setDisabled(stage > PROD_STAGE_BREW); + ui->w2_volEdit->setReadOnly(stage > PROD_STAGE_BREW); + ui->w2_volEdit->setButtonSymbols((stage > PROD_STAGE_BREW) ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); + ui->sp_phEdit->setReadOnly(stage > PROD_STAGE_BREW); + ui->sp_phEdit->setButtonSymbols((stage > PROD_STAGE_BREW) ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); + ui->sp_tempEdit->setReadOnly(stage > PROD_STAGE_BREW); + ui->sp_tempEdit->setButtonSymbols((stage > PROD_STAGE_BREW) ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); + ui->sp_volEdit->setReadOnly(stage > PROD_STAGE_BREW); + ui->sp_volEdit->setButtonSymbols((stage > PROD_STAGE_BREW) ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); + ui->bs_cacl2Edit->setReadOnly(stage > PROD_STAGE_BREW); + ui->bs_cacl2Edit->setButtonSymbols((stage > PROD_STAGE_BREW) ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); + ui->bs_caso4Edit->setReadOnly(stage > PROD_STAGE_BREW); + ui->bs_caso4Edit->setButtonSymbols((stage > PROD_STAGE_BREW) ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); + ui->bs_mgso4Edit->setReadOnly(stage > PROD_STAGE_BREW); + ui->bs_mgso4Edit->setButtonSymbols((stage > PROD_STAGE_BREW) ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); + ui->bs_naclEdit->setReadOnly(stage > PROD_STAGE_BREW); + ui->bs_naclEdit->setButtonSymbols((stage > PROD_STAGE_BREW) ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); + ui->bs_mgcl2Edit->setReadOnly(stage > PROD_STAGE_BREW); + ui->bs_mgcl2Edit->setButtonSymbols((stage > PROD_STAGE_BREW) ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); + ui->bs_nahco3Edit->setReadOnly(stage > PROD_STAGE_BREW); + ui->bs_nahco3Edit->setButtonSymbols((stage > PROD_STAGE_BREW) ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); + ui->bs_caco3Edit->setReadOnly(stage > PROD_STAGE_BREW); + ui->bs_caco3Edit->setButtonSymbols((stage > PROD_STAGE_BREW) ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); + if (stage > PROD_STAGE_BREW) { ui->mw_phEdit->setReadOnly(true); ui->mw_phEdit->setButtonSymbols(QAbstractSpinBox::NoButtons); ui->mw_acidvolEdit->setReadOnly(true); @@ -261,7 +275,7 @@ ui->mw_acidvolEdit->setReadOnly(product->calc_acid); ui->mw_acidvolEdit->setButtonSymbols(product->calc_acid ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); } - ui->mw_autoEdit->setDisabled(val); + ui->mw_autoEdit->setDisabled(stage > PROD_STAGE_BREW); }