src/EditProductTab1.cpp

changeset 184
da148d6b4c95
parent 175
f1ed3a2a94e9
child 189
722a4eed545d
--- 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);
 }
 
 

mercurial