src/EditProductTab1.cpp

changeset 224
d369948a3eb5
parent 219
fa7cad488e27
child 225
448e4187cada
--- 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 */

mercurial