Fri, 20 May 2022 14:48:03 +0200
Added stage changing from tertiary fermentation upto carbonation. Show, hide, readonly etc for the package tab. Make sure current sugar amounts are displayed. Added package date and buttons.
--- a/src/EditProduct.cpp Fri May 20 12:47:35 2022 +0200 +++ b/src/EditProduct.cpp Fri May 20 14:48:03 2022 +0200 @@ -1007,7 +1007,6 @@ ui->keg_sug_waterEdit->setValue(product->keg_priming_water); ui->keg_tempEdit->setValue(product->keg_carbonation_temp); ui->keg_forcedEdit->setChecked(product->keg_forced_carb); - ui->keg_barShow->setValue(product->keg_pressure); // Tab taste. ui->taste_dateEdit->setText(product->taste_date.toString("dd MMM yyyy"));
--- 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 */
--- a/src/EditProductTab11.cpp Fri May 20 12:47:35 2022 +0200 +++ b/src/EditProductTab11.cpp Fri May 20 14:48:03 2022 +0200 @@ -150,9 +150,9 @@ qDebug() << " update priming sugar" << total; product->fermentables[i].f_amount = total; refreshFermentables(); - ui->bottle_sug_weightShow->setValue(total * 1000); is_changed(); } + ui->bottle_sug_weightShow->setValue(total * 1000); double pabv = product->final_abv + (product->bottle_priming_amount * (1 / SFactor) * 0.47) / 7.907; double pvol = product->bottle_amount - (pabv * product->bottle_amount) / 100; @@ -227,9 +227,9 @@ qDebug() << " update priming sugar" << total; product->fermentables[i].f_amount = total; refreshFermentables(); - ui->keg_sug_weightShow->setValue(total * 1000); is_changed(); } + ui->keg_sug_weightShow->setValue(total * 1000); double pabv = product->final_abv + (product->keg_priming_amount * (1 / SFactor) * 0.47) / 7.907; double pvol = product->keg_amount - (pabv * product->keg_amount) / 100; @@ -269,16 +269,29 @@ void EditProduct::pack_date_changed(QDate val) { qDebug() << "pack_date_changed" << val; + product->package_date = ui->pack_dateEdit->nullDate(); + is_changed(); + setStage(); } void EditProduct::pack_date_button() { + ui->pack_dateEdit->setDate(QDate::currentDate()); } void EditProduct::pack_date_ack() { + int rc = QMessageBox::warning(this, tr("Confirm package"), tr("Confirm that the beer is packaged and all data is correct"), + QMessageBox::Yes | QMessageBox::No, QMessageBox::No); + + if (rc == QMessageBox::No) + return; + + product->stage = PROD_STAGE_CARBONATION; + setStage(); + is_changed(); }
--- a/src/EditProductTab3.cpp Fri May 20 12:47:35 2022 +0200 +++ b/src/EditProductTab3.cpp Fri May 20 14:48:03 2022 +0200 @@ -275,13 +275,6 @@ colorh += product->fermentables.at(i).f_amount * product->fermentables.at(i).f_color * Utils::get_kt(product->fermentables.at(i).f_color); colorn += (product->fermentables.at(i).f_percentage / 100) * product->fermentables.at(i).f_color; // For 8.6 Pt wort. } - if (product->fermentables.at(i).f_added == FERMENTABLE_ADDED_BOTTLE) { // Bottle priming - ui->bottle_sug_weightShow->setValue(product->fermentables.at(i).f_amount * 1000); - // product->fermentables.at(i).f_name select in dropdown - } - if (product->fermentables.at(i).f_added == FERMENTABLE_ADDED_KEGS) { // Keg priming - - } /* Check supplies */ if ((((product->inventory_reduced <= PROD_STAGE_BREW) && (product->fermentables.at(i).f_added <= FERMENTABLE_ADDED_BOIL)) || ((product->inventory_reduced <= PROD_STAGE_PRIMARY) && (product->fermentables.at(i).f_added == FERMENTABLE_ADDED_FERMENTATION)) ||
--- a/ui/EditProduct.ui Fri May 20 12:47:35 2022 +0200 +++ b/ui/EditProduct.ui Fri May 20 14:48:03 2022 +0200 @@ -95,7 +95,7 @@ <enum>QTabWidget::Rounded</enum> </property> <property name="currentIndex"> - <number>10</number> + <number>0</number> </property> <property name="elideMode"> <enum>Qt::ElideNone</enum>