# HG changeset patch # User Michiel Broek # Date 1652905276 -7200 # Node ID 7792a410a277c9911e83d81c5727077770bf628a # Parent fa7cad488e271f0814c529a541abf2dc96c63c8f Added first part of the package tab. diff -r fa7cad488e27 -r 7792a410a277 src/EditProduct.cpp --- a/src/EditProduct.cpp Wed May 18 17:03:05 2022 +0200 +++ b/src/EditProduct.cpp Wed May 18 22:21:16 2022 +0200 @@ -984,10 +984,11 @@ ui->tert_abvShow->setValue(Utils::abvol(product->brew_fermenter_sg, product->fg)); // Tab packaging. - ui->pack_dateEdit->setText(product->package_date.toString("dd MMM yyyy")); + ui->pack_dateEdit->setDate(product->package_date); ui->pack_carbloShow->setValue(product->st_carb_min); ui->pack_carbhiShow->setValue(product->st_carb_max); ui->pack_volumeEdit->setValue(product->package_volume); + ui->pack_volumeEdit->setMaximum(product->brew_fermenter_volume); ui->pack_addvolEdit->setValue(product->package_infuse_amount); ui->pack_addabvEdit->setValue(product->package_infuse_abv); ui->pack_notesEdit->setText(product->package_infuse_notes); @@ -1138,6 +1139,20 @@ connect(ui->ferm_log1Button, SIGNAL(clicked()), this, SLOT(ferm_log1_button())); connect(ui->ferm_log2Button, SIGNAL(clicked()), this, SLOT(ferm_log2_button())); + /* All signals from tab Package */ + calcPack(); + connect(ui->pack_dateEdit, &QDateEdit::dateChanged, this, &EditProduct::pack_date_changed); + connect(ui->pack_dateButton, SIGNAL(clicked()), this, SLOT(pack_date_button())); + connect(ui->pack_ackButton, SIGNAL(clicked()), this, SLOT(pack_date_ack())); + connect(ui->pack_volumeEdit, QOverload::of(&QDoubleSpinBox::valueChanged), this, &EditProduct::pack_volume_changed); + connect(ui->pack_phEdit, QOverload::of(&QDoubleSpinBox::valueChanged), this, &EditProduct::pack_ph_changed); + connect(ui->pack_addvolEdit, QOverload::of(&QDoubleSpinBox::valueChanged), this, &EditProduct::pack_infusion_vol_changed); + connect(ui->pack_addabvEdit, QOverload::of(&QDoubleSpinBox::valueChanged), this, &EditProduct::pack_infusion_abv_changed); + connect(ui->pack_notesEdit, &QLineEdit::textChanged, this, &EditProduct::pack_infusion_txt_changed); + connect(ui->pack_abvShow, QOverload::of(&QDoubleSpinBox::valueChanged), this, &EditProduct::pack_abv_changed); + + /* All signals from tab Tasting */ + setStage(); ui->saveButton->setEnabled(false); @@ -1453,7 +1468,7 @@ query.bindValue(":tertiary_temp", round(product->tertiary_temp * 10) / 10); query.bindValue(":package_date", product->package_date); query.bindValue(":package_volume", round(product->package_volume * 10) / 10); - query.bindValue(":package_infuse_amount", round(product->package_infuse_amount * 10) / 10); + query.bindValue(":package_infuse_amount", round(product->package_infuse_amount * 1000) / 1000); query.bindValue(":package_infuse_abv", round(product->package_infuse_abv * 100) / 100); query.bindValue(":package_infuse_notes", product->package_infuse_notes); query.bindValue(":package_abv", round(product->package_abv * 100) / 100); diff -r fa7cad488e27 -r 7792a410a277 src/EditProduct.h --- a/src/EditProduct.h Wed May 18 17:03:05 2022 +0200 +++ b/src/EditProduct.h Wed May 18 22:21:16 2022 +0200 @@ -194,6 +194,26 @@ void tertiary_sg_button(); void ferm_log1_button(); void ferm_log2_button(); + void pack_date_changed(QDate val); + void pack_date_button(); + void pack_date_ack(); + void pack_volume_changed(double val); + void pack_ph_changed(double val); + void pack_infusion_vol_changed(double val); + void pack_infusion_abv_changed(double val); + void pack_infusion_txt_changed(QString val); + void pack_abv_changed(double val); + void bottle_volume_changed(double val); + void bottle_co2_changed(double val); + void bottle_sugar_changed(int val); + void bottle_water_changed(double val); + void bottle_temp_changed(double val); + void kegs_volume_changed(double val); + void kegs_co2_changed(double val); + void kegs_sugar_changed(int val); + void kegs_water_changed(double val); + void kegs_forced_changed(bool val); + void kegs_temp_changed(double val); /* Modified progress bars */ void ferment_perc_mash_valueChanged(int value); @@ -271,6 +291,7 @@ void calcEfficiencyAfterBoil(); void brew_volume_calc(double volume, double kettle_volume, double kettle_height, double est_volume, bool aboil); double get_fg(double gravity); + void calcPack(); }; #endif diff -r fa7cad488e27 -r 7792a410a277 src/EditProductTab11.cpp --- a/src/EditProductTab11.cpp Wed May 18 17:03:05 2022 +0200 +++ b/src/EditProductTab11.cpp Wed May 18 22:21:16 2022 +0200 @@ -18,3 +18,143 @@ */ +void EditProduct::calcPack() +{ +// qDebug() << "calcPack()" << product->package_volume << product->package_abv << "inf" << product->package_infuse_amount << product->package_infuse_abv; + + double bvol = product->package_volume - (product->package_abv * product->package_volume) / 100.0; + double balc = product->package_volume - bvol; + double mvol = product->package_infuse_amount - (product->package_infuse_abv * product->package_infuse_amount) / 100.0; + double malc = product->package_infuse_amount - mvol; + double talc = balc + malc; + double tvol = bvol + mvol; + + product->final_abv = round(talc / (tvol + talc) * 10000.0) / 100.0; + ui->pack_finalabvShow->setValue(product->final_abv); +} + + +/* + * Triggered by writing to ui->pack_abvShow + */ +void EditProduct::pack_abv_changed(double val) +{ + calcPack(); +} + + +void EditProduct::pack_date_changed(QDate val) +{ + qDebug() << "pack_date_changed" << val; +} + + +void EditProduct::pack_date_button() +{ +} + + +void EditProduct::pack_date_ack() +{ +} + + +void EditProduct::pack_volume_changed(double val) +{ + product->package_volume = val; + calcPack(); + is_changed(); +} + + +void EditProduct::pack_ph_changed(double val) +{ + if (product->package_ph == 0) { + product->package_ph = 4.0; + const QSignalBlocker blocker1(ui->pack_phEdit); + ui->pack_phEdit->setValue(4.0); + } else { + product->package_ph = val; + } + is_changed(); +} + + +void EditProduct::pack_infusion_vol_changed(double val) +{ + product->package_infuse_amount = val; + calcPack(); + is_changed(); +} + + +void EditProduct::pack_infusion_abv_changed(double val) +{ + product->package_infuse_abv = val; + calcPack(); + is_changed(); +} + + +void EditProduct::pack_infusion_txt_changed(QString val) +{ + product->package_infuse_notes = val; + is_changed(); +} + + +void EditProduct::bottle_volume_changed(double val) +{ +} + + +void EditProduct::bottle_co2_changed(double val) +{ +} + + +void EditProduct::bottle_sugar_changed(int val) +{ +} + + +void EditProduct::bottle_water_changed(double val) +{ +} + + +void EditProduct::bottle_temp_changed(double val) +{ +} + + +void EditProduct::kegs_volume_changed(double val) +{ +} + + +void EditProduct::kegs_co2_changed(double val) +{ +} + + +void EditProduct::kegs_sugar_changed(int val) +{ +} + + +void EditProduct::kegs_water_changed(double val) +{ +} + + +void EditProduct::kegs_forced_changed(bool val) +{ +} + + +void EditProduct::kegs_temp_changed(double val) +{ +} + + diff -r fa7cad488e27 -r 7792a410a277 src/global.h --- a/src/global.h Wed May 18 17:03:05 2022 +0200 +++ b/src/global.h Wed May 18 22:21:16 2022 +0200 @@ -531,6 +531,7 @@ int mashs_time; ///< Total mash time. double est_mash_sg; double preboil_sg; + double final_abv; /// ABV after dilution/infusion. }; diff -r fa7cad488e27 -r 7792a410a277 ui/EditProduct.ui --- a/ui/EditProduct.ui Wed May 18 17:03:05 2022 +0200 +++ b/ui/EditProduct.ui Wed May 18 22:21:16 2022 +0200 @@ -95,7 +95,7 @@ QTabWidget::Rounded - 9 + 10 Qt::ElideNone @@ -8040,7 +8040,7 @@ - Start temperature °C: + Start temperature: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -8056,7 +8056,7 @@ - Peak temperature °C: + Peak temperature: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -8072,7 +8072,7 @@ - End temperature °C: + End temperature: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -8147,6 +8147,9 @@ true + + °C + 1 @@ -8172,6 +8175,9 @@ true + + °C + 1 @@ -8197,6 +8203,9 @@ true + + °C + 1 @@ -8375,7 +8384,7 @@ - End temperature °C: + End temperature: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -8428,6 +8437,9 @@ true + + °C + 1 @@ -8606,7 +8618,7 @@ - Average temperature °C: + Average temperature: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -8643,6 +8655,9 @@ true + + °C + 1 @@ -8902,7 +8917,7 @@ - 30 + 10 10 161 20 @@ -8915,26 +8930,10 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - 200 - 10 - 101 - 23 - - - - End of fermentation. Optional transfer to lagertank. - - - true - - - 310 + 300 10 28 22 @@ -8954,7 +8953,7 @@ - 690 + 740 10 71 24 @@ -8991,9 +8990,9 @@ - 550 + 570 10 - 131 + 161 20 @@ -9007,7 +9006,7 @@ - 770 + 820 10 71 24 @@ -9044,9 +9043,9 @@ - 40 + 10 40 - 1041 + 1101 151 @@ -9058,7 +9057,7 @@ 10 20 - 141 + 151 20 @@ -9074,12 +9073,12 @@ 10 50 - 141 - 20 - - - - Package add volume: + 151 + 20 + + + + Extra added volume: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -9089,29 +9088,29 @@ 10 + 110 + 151 + 20 + + + + Extra remarks: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 560 80 - 141 - 20 - - - - Package remarks: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 10 - 110 - 141 - 20 - - - - Package ABV %: + 161 + 20 + + + + Final ABV %: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -9120,14 +9119,14 @@ - 500 + 560 50 - 141 - 20 - - - - Package add ABV %: + 161 + 20 + + + + Extra added ABV %: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -9136,9 +9135,9 @@ - 500 - 110 - 141 + 270 + 20 + 161 20 @@ -9152,9 +9151,9 @@ - 160 + 170 20 - 81 + 91 24 @@ -9164,6 +9163,9 @@ true + + L + 1 @@ -9171,17 +9173,20 @@ 100000.000000000000000 - 1.000000000000000 + 0.500000000000000 - 160 + 170 50 - 81 - 24 - + 91 + 24 + + + + Extra dilution or infusion added to this batch. Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -9189,6 +9194,9 @@ true + + L + 3 @@ -9199,14 +9207,17 @@ 0.010000000000000 - - - - 160 - 110 - 81 - 24 - + + + + 730 + 80 + 91 + 24 + + + + The ABV including the infusion. Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -9230,11 +9241,14 @@ - 650 + 730 50 - 81 - 24 - + 91 + 24 + + + + If there is alcohol in the infusion, give the percentage. Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -9264,9 +9278,9 @@ - 650 - 110 - 81 + 440 + 20 + 91 24 @@ -9286,20 +9300,70 @@ - 160 - 80 + 170 + 110 821 23 + + Could be the description of the infusion. + + + + + + 560 + 20 + 161 + 20 + + + + Package ABV %: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 730 + 20 + 91 + 24 + + + + The ABV including the infusion. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + true + + + QAbstractSpinBox::NoButtons + + + % + + + 2 + + + 100.000000000000000 + - 40 + 10 200 - 511 + 541 211 @@ -9311,12 +9375,12 @@ 10 20 - 141 - 20 - - - - Bottles volume: + 151 + 20 + + + + Volume: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -9325,9 +9389,9 @@ - 260 + 270 20 - 141 + 161 20 @@ -9343,7 +9407,7 @@ 10 50 - 141 + 151 20 @@ -9359,7 +9423,7 @@ 10 80 - 141 + 151 20 @@ -9373,14 +9437,14 @@ - 280 + 310 50 121 20 - Priming gr/L: + Priming: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -9389,9 +9453,9 @@ - 260 + 270 80 - 141 + 161 20 @@ -9407,12 +9471,12 @@ 10 170 - 141 - 20 - - - - Bottle fermentation °C: + 151 + 20 + + + + Bottle fermentation: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -9421,9 +9485,9 @@ - 160 + 170 20 - 81 + 91 24 @@ -9433,6 +9497,9 @@ true + + L + 1 @@ -9446,9 +9513,9 @@ - 410 + 440 20 - 81 + 91 24 @@ -9458,6 +9525,9 @@ true + + % + 2 @@ -9471,9 +9541,9 @@ - 160 + 170 50 - 101 + 131 23 @@ -9481,20 +9551,23 @@ - 160 + 170 80 - 81 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - true - - - QAbstractSpinBox::NoButtons + 91 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + true + + + QAbstractSpinBox::NoButtons + + + gr 1 @@ -9506,20 +9579,23 @@ - 410 + 440 50 - 81 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - true - - - QAbstractSpinBox::NoButtons + 91 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + true + + + QAbstractSpinBox::NoButtons + + + gr/L 1 @@ -9531,9 +9607,9 @@ - 410 + 440 80 - 81 + 91 24 @@ -9543,6 +9619,9 @@ true + + L + 3 @@ -9556,9 +9635,9 @@ - 250 + 270 140 - 151 + 161 20 @@ -9574,7 +9653,7 @@ 10 140 - 141 + 151 20 @@ -9588,9 +9667,9 @@ - 160 + 170 170 - 81 + 91 24 @@ -9600,6 +9679,9 @@ true + + °C + 1 @@ -9613,9 +9695,9 @@ - 160 + 170 140 - 81 + 91 24 @@ -9641,9 +9723,9 @@ - 410 + 440 140 - 81 + 91 24 @@ -9669,7 +9751,7 @@ 570 200 - 511 + 541 211 @@ -9681,7 +9763,7 @@ 10 140 - 141 + 151 20 @@ -9695,9 +9777,9 @@ - 250 + 270 140 - 151 + 161 20 @@ -9713,7 +9795,7 @@ 10 80 - 141 + 151 20 @@ -9727,9 +9809,9 @@ - 260 + 270 20 - 141 + 161 20 @@ -9743,9 +9825,9 @@ - 260 + 270 80 - 141 + 161 20 @@ -9759,14 +9841,14 @@ - 280 + 310 50 121 20 - Priming gr/L: + Priming: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -9777,12 +9859,12 @@ 10 170 - 141 - 20 - - - - Kegs temperature °C: + 151 + 20 + + + + Kegs temperature: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -9793,7 +9875,7 @@ 10 50 - 141 + 151 20 @@ -9807,20 +9889,23 @@ - 160 + 170 80 - 81 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - true - - - QAbstractSpinBox::NoButtons + 91 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + true + + + QAbstractSpinBox::NoButtons + + + gr 1 @@ -9832,9 +9917,9 @@ - 160 + 170 140 - 81 + 91 24 @@ -9862,12 +9947,12 @@ 10 20 - 141 - 20 - - - - Kegs volume: + 151 + 20 + + + + Volume: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -9876,9 +9961,9 @@ - 410 + 440 80 - 81 + 91 24 @@ -9888,6 +9973,9 @@ true + + L + 3 @@ -9901,20 +9989,23 @@ - 410 + 440 50 - 81 - 24 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - true - - - QAbstractSpinBox::NoButtons + 91 + 24 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + true + + + QAbstractSpinBox::NoButtons + + + gr/L 1 @@ -9926,9 +10017,9 @@ - 410 + 440 140 - 81 + 91 24 @@ -9951,9 +10042,9 @@ - 160 + 170 20 - 81 + 91 24 @@ -9963,6 +10054,9 @@ true + + L + 1 @@ -9976,9 +10070,9 @@ - 160 + 170 50 - 101 + 131 23 @@ -9986,9 +10080,9 @@ - 410 + 440 20 - 81 + 91 24 @@ -9998,6 +10092,9 @@ true + + % + 2 @@ -10011,9 +10108,9 @@ - 160 + 170 170 - 81 + 91 24 @@ -10023,6 +10120,9 @@ true + + °C + 1 @@ -10038,7 +10138,7 @@ 10 110 - 141 + 151 20 @@ -10052,7 +10152,7 @@ - 160 + 170 110 85 21 @@ -10060,6 +10160,45 @@ + + + + 180 + 10 + 111 + 24 + + + + Edit the brewdate plan or start. + + + dd-MM-yyyy + + + true + + + + + + 340 + 10 + 28 + 22 + + + + Set or clear date + + + ... + + + + :/icons/silk/accept.png:/icons/silk/accept.png + +