Mon, 24 Oct 2022 15:25:50 +0200
The equipment editor uses named fields for database io. Edit field 'trub chiller loss' is now called 'trub loss', but will be renamed again. Removed editing hop_utilization, lauter_volume and lauter_height. These fields were never used in the application. Not yet removed from the database. Added chiller_type, chiller_to79, chiller_volume, chiller_lpm and chiller_loss fields so that we can tie a chiller to the equipment setup. Renamed some chiller names.
src/EditEquipment.cpp | file | annotate | diff | comparison | revisions | |
src/EditEquipment.h | file | annotate | diff | comparison | revisions | |
src/PrinterDialog.cpp | file | annotate | diff | comparison | revisions | |
src/global.cpp | file | annotate | diff | comparison | revisions | |
src/global.h | file | annotate | diff | comparison | revisions | |
ui/EditEquipment.ui | file | annotate | diff | comparison | revisions |
--- a/src/EditEquipment.cpp Fri Oct 21 17:01:20 2022 +0200 +++ b/src/EditEquipment.cpp Mon Oct 24 15:25:50 2022 +0200 @@ -14,9 +14,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#include "MainWindow.h" #include "EditEquipment.h" #include "../ui/ui_EditEquipment.h" -#include "MainWindow.h" +#include "global.h" EditEquipment::EditEquipment(int id, QWidget *parent) : QDialog(parent), ui(new Ui::EditEquipment) @@ -28,11 +29,12 @@ this->recno = id; WindowTitle(); - - ui->tun_materialEdit->addItem(tr("Stainless Steel")); - ui->tun_materialEdit->addItem(tr("Aluminium")); - ui->tun_materialEdit->addItem(tr("Plastics")); - ui->tun_materialEdit->addItem(tr("Copper")); + + for (int i = 0; i < 4; i++) + ui->tun_materialEdit->addItem(QCoreApplication::translate("TunMaterial", g_tun_materials[i])); + + for (int i = 0; i < 5; i++) + ui->chiller_typeEdit->addItem(QCoreApplication::translate("ChillerType", g_chiller_types[i])); if (id >= 0) { query.prepare("SELECT * FROM inventory_equipments WHERE record = :recno"); @@ -40,36 +42,38 @@ query.exec(); query.next(); - ui->nameEdit->setText(query.value(1).toString()); - ui->boil_sizeEdit->setValue(query.value(2).toDouble()); - ui->batch_sizeEdit->setValue(query.value(3).toDouble()); - ui->tun_volumeEdit->setValue(query.value(4).toDouble()); - ui->tun_weightEdit->setValue(query.value(5).toDouble()); - ui->tun_specific_heatEdit->setValue(query.value(6).toDouble()); - ui->tun_materialEdit->setCurrentIndex(query.value(7).toInt()); - ui->tun_heightEdit->setValue(query.value(8).toDouble() * 100.0); - ui->top_up_waterEdit->setValue(query.value(9).toDouble()); - ui->chiller_lossEdit->setValue(query.value(10).toDouble()); - ui->evap_rateEdit->setValue(query.value(11).toDouble()); - ui->boil_timeEdit->setValue(query.value(12).toDouble()); - ui->calcboilEdit->setChecked(query.value(13).toInt() ? true:false); - ui->top_up_kettleEdit->setValue(query.value(14).toDouble()); - ui->hopfactorEdit->setValue(query.value(15).toDouble()); - ui->notesEdit->setPlainText(query.value(16).toString()); - ui->lauter_volumeEdit->setValue(query.value(17).toDouble()); - ui->lauter_heightEdit->setValue(query.value(18).toDouble() * 100.0); - ui->lauter_deadspaceEdit->setValue(query.value(19).toDouble()); - ui->kettle_volumeEdit->setValue(query.value(20).toDouble()); - ui->kettle_heightEdit->setValue(query.value(21).toDouble() * 100.0); - ui->mash_volumeEdit->setValue(query.value(22).toDouble()); - ui->mash_maxEdit->setValue(query.value(23).toDouble()); - ui->efficiencyEdit->setValue(query.value(24).toDouble()); + ui->nameEdit->setText(query.value("name").toString()); + ui->boil_sizeEdit->setValue(query.value("boil_size").toDouble()); + ui->batch_sizeEdit->setValue(query.value("batch_size").toDouble()); + ui->tun_volumeEdit->setValue(query.value("tun_volume").toDouble()); + ui->tun_weightEdit->setValue(query.value("tun_weight").toDouble()); + ui->tun_specific_heatEdit->setValue(query.value("tun_specific_heat").toDouble()); + ui->tun_materialEdit->setCurrentIndex(query.value("tun_material").toInt()); + ui->tun_heightEdit->setValue(query.value("tun_height").toDouble() * 100.0); + ui->top_up_waterEdit->setValue(query.value("top_up_water").toDouble()); + ui->trub_lossEdit->setValue(query.value("trub_chiller_loss").toDouble()); + ui->evap_rateEdit->setValue(query.value("evap_rate").toDouble()); + ui->boil_timeEdit->setValue(query.value("boil_time").toDouble()); + ui->calcboilEdit->setChecked(query.value("calc_boil_volume").toInt() ? true:false); + ui->top_up_kettleEdit->setValue(query.value("top_up_kettle").toDouble()); + ui->notesEdit->setPlainText(query.value("notes").toString()); + ui->lauter_deadspaceEdit->setValue(query.value("lauter_deadspace").toDouble()); + ui->kettle_volumeEdit->setValue(query.value("kettle_volume").toDouble()); + ui->kettle_heightEdit->setValue(query.value("kettle_height").toDouble() * 100.0); + ui->mash_volumeEdit->setValue(query.value("mash_volume").toDouble()); + ui->mash_maxEdit->setValue(query.value("mash_max").toDouble()); + ui->efficiencyEdit->setValue(query.value("efficiency").toDouble()); + ui->chiller_typeEdit->setCurrentIndex(query.value("chiller_type").toInt()); + ui->chiller_to79Edit->setValue(query.value("chiller_to79").toDouble()); + ui->chiller_lossEdit->setValue(query.value("chiller_loss").toDouble()); + ui->chiller_volumeEdit->setValue(query.value("chiller_volume").toDouble()); + ui->chiller_lpmEdit->setValue(query.value("chiller_lpm").toDouble()); /* * Now we have loaded this record, check if this equipment is * being used by a product. If so, make the name field read-only. */ query2.prepare("SELECT eq_name FROM products WHERE eq_name=:name"); - query2.bindValue(":name", query.value(1).toString()); + query2.bindValue(":name", query.value("name").toString()); query2.exec(); inuse = query2.size(); ui->nameEdit->setReadOnly(inuse > 0); @@ -83,22 +87,28 @@ ui->tun_materialEdit->setCurrentIndex(0); ui->tun_heightEdit->setValue(20); ui->top_up_waterEdit->setValue(0); - ui->chiller_lossEdit->setValue(0.5); + ui->trub_lossEdit->setValue(0.5); ui->evap_rateEdit->setValue(1.8); ui->boil_timeEdit->setValue(90); ui->calcboilEdit->setChecked(true); ui->top_up_kettleEdit->setValue(0); - ui->hopfactorEdit->setValue(100); - ui->lauter_volumeEdit->setValue(20); - ui->lauter_heightEdit->setValue(20); ui->lauter_deadspaceEdit->setValue(0.5); ui->kettle_volumeEdit->setValue(20); ui->kettle_heightEdit->setValue(20); ui->mash_volumeEdit->setValue(18); ui->mash_maxEdit->setValue(6); ui->efficiencyEdit->setValue(75); + ui->chiller_typeEdit->setCurrentIndex(1); + ui->chiller_to79Edit->setValue(10); + ui->chiller_lossEdit->setValue(0); + ui->chiller_volumeEdit->setValue(0.5); + ui->chiller_lpmEdit->setValue(0); inuse = 0; } + /* Block select no chiller used */ + qobject_cast<QStandardItemModel*>(ui->chiller_typeEdit->model())->item(CHILLER_TYPE_NONE)->setEnabled(false); + chiller_setup(ui->chiller_typeEdit->currentIndex()); + connect(ui->nameEdit, &QLineEdit::textChanged, this, &EditEquipment::is_changed); connect(ui->boil_sizeEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); connect(ui->batch_sizeEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); @@ -107,21 +117,23 @@ connect(ui->tun_materialEdit, &QComboBox::currentTextChanged, this, &EditEquipment::material_changed); connect(ui->tun_heightEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); connect(ui->top_up_waterEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); - connect(ui->chiller_lossEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); + connect(ui->trub_lossEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); connect(ui->evap_rateEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); connect(ui->boil_timeEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); connect(ui->calcboilEdit, &QCheckBox::stateChanged, this, &EditEquipment::is_changed); connect(ui->top_up_kettleEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); - connect(ui->hopfactorEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); connect(ui->notesEdit, SIGNAL(textChanged()), this, SLOT(is_changed())); - connect(ui->lauter_volumeEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); - connect(ui->lauter_heightEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); connect(ui->lauter_deadspaceEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); connect(ui->kettle_volumeEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); connect(ui->kettle_heightEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); connect(ui->mash_volumeEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); connect(ui->mash_maxEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); connect(ui->efficiencyEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); + connect(ui->chiller_typeEdit, &QComboBox::currentTextChanged, this, &EditEquipment::chiller_changed); + connect(ui->chiller_to79Edit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); + connect(ui->chiller_volumeEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); + connect(ui->chiller_lpmEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); + connect(ui->chiller_lossEdit, &QDoubleSpinBox::textChanged, this, &EditEquipment::is_changed); calcBatchVolume(); ui->saveButton->setEnabled(false); @@ -159,6 +171,7 @@ void EditEquipment::on_saveButton_clicked() { QSqlQuery query; + QString sql = ""; /* If there are errors in the form, show a message and do "return;" */ if (ui->nameEdit->text().length() < 2) { @@ -167,27 +180,26 @@ } if (this->textIsChanged) { - if (this->recno == -1) { - query.prepare("INSERT INTO inventory_equipments SET name=:name, boil_size=:boil_size, " + if (this->recno == -1) { + sql = "INSERT INTO"; + } else { + sql = "UPDATE"; + } + sql.append(" inventory_equipments SET name=:name, boil_size=:boil_size, " "batch_size=:batch_size, tun_volume=:tun_volume, tun_weight=:tun_weight, " "tun_specific_heat=:tun_specific_heat, tun_material=:tun_material, tun_height=:tun_height, " - "top_up_water=:top_up_water, trub_chiller_loss=:chiller_loss, evap_rate=:evap_rate, " + "top_up_water=:top_up_water, trub_chiller_loss=:trub_loss, evap_rate=:evap_rate, " "boil_time=:boil_time, calc_boil_volume=:calcboil, top_up_kettle=:top_up_kettle, " - "hop_utilization=:hopfactor, notes=:notes, lauter_volume=:lauter_volume, " - "lauter_height=:lauter_height, lauter_deadspace=:lauter_deadspace, kettle_volume=:kettle_volume, " + "notes=:notes, lauter_deadspace=:lauter_deadspace, kettle_volume=:kettle_volume, " "kettle_height=:kettle_height, mash_volume=:mash_volume, mash_max=:mash_max, " - "efficiency=:efficiency, uuid=:uuid"); - } else { - query.prepare("UPDATE inventory_equipments SET name=:name, boil_size=:boil_size, " - "batch_size=:batch_size, tun_volume=:tun_volume, tun_weight=:tun_weight, " - "tun_specific_heat=:tun_specific_heat, tun_material=:tun_material, tun_height=:tun_height, " - "top_up_water=:top_up_water, trub_chiller_loss=:chiller_loss, evap_rate=:evap_rate, " - "boil_time=:boil_time, calc_boil_volume=:calcboil, top_up_kettle=:top_up_kettle, " - "hop_utilization=:hopfactor, notes=:notes, lauter_volume=:lauter_volume, " - "lauter_height=:lauter_height, lauter_deadspace=:lauter_deadspace, kettle_volume=:kettle_volume, " - "kettle_height=:kettle_height, mash_volume=:mash_volume, mash_max=:mash_max, " - "efficiency=:efficiency WHERE record=:recno"); - } + "efficiency=:efficiency, chiller_type=:chiller_type, chiller_to79=:chiller_to79, " + "chiller_volume=:chiller_volume, chiller_lpm=:chiller_lpm, chiller_loss=:chiller_loss"); + if (this->recno == -1) { + sql.append(", uuid=:uuid"); + } else { + sql.append(" WHERE record = :recno"); + } + query.prepare(sql); query.bindValue(":name", ui->nameEdit->text()); query.bindValue(":boil_size", QString("%1").arg(ui->boil_sizeEdit->value(), 2, 'f', 1, '0')); query.bindValue(":batch_size", QString("%1").arg(ui->batch_sizeEdit->value(), 3, 'f', 2, '0')); @@ -197,21 +209,24 @@ query.bindValue(":tun_material", ui->tun_materialEdit->currentIndex()); query.bindValue(":tun_height", QString("%1").arg(ui->tun_heightEdit->value() / 100, 4, 'f', 3, '0')); query.bindValue(":top_up_water", QString("%1").arg(ui->top_up_waterEdit->value(), 2, 'f', 1, '0')); - query.bindValue(":chiller_loss", QString("%1").arg(ui->chiller_lossEdit->value(), 2, 'f', 1, '0')); + query.bindValue(":trub_loss", QString("%1").arg(ui->trub_lossEdit->value(), 2, 'f', 1, '0')); query.bindValue(":evap_rate", QString("%1").arg(ui->evap_rateEdit->value(), 3, 'f', 2, '0')); query.bindValue(":boil_time", QString("%1").arg(ui->boil_timeEdit->value(), 1, 'f', 0, '0')); query.bindValue(":calcboil", ui->calcboilEdit->isChecked() ? 1:0); query.bindValue(":top_up_kettle", QString("%1").arg(ui->top_up_kettleEdit->value(), 2, 'f', 1, '0')); - query.bindValue(":hopfactor", QString("%1").arg(ui->hopfactorEdit->value(), 1, 'f', 0, '0')); query.bindValue(":notes", ui->notesEdit->toPlainText()); - query.bindValue(":lauter_volume", QString("%1").arg(ui->lauter_volumeEdit->value(), 2, 'f', 1, '0')); - query.bindValue(":lauter_height", QString("%1").arg(ui->lauter_heightEdit->value() / 100, 4, 'f', 3, '0')); query.bindValue(":lauter_deadspace", QString("%1").arg(ui->lauter_deadspaceEdit->value(), 2, 'f', 1, '0')); query.bindValue(":kettle_volume", QString("%1").arg(ui->kettle_volumeEdit->value(), 2, 'f', 1, '0')); query.bindValue(":kettle_height", QString("%1").arg(ui->kettle_heightEdit->value() / 100, 4, 'f', 3, '0')); query.bindValue(":mash_volume", QString("%1").arg(ui->mash_volumeEdit->value(), 2, 'f', 1, '0')); query.bindValue(":mash_max", QString("%1").arg(ui->mash_maxEdit->value(), 2, 'f', 1, '0')); query.bindValue(":efficiency", QString("%1").arg(ui->efficiencyEdit->value(), 2, 'f', 1, '0')); + query.bindValue(":chiller_type", ui->chiller_typeEdit->currentIndex()); + query.bindValue(":chiller_to79", QString("%1").arg(ui->chiller_to79Edit->value(), 1, 'f', 0, '0')); + query.bindValue(":chiller_volume", QString("%1").arg(ui->chiller_volumeEdit->value(), 3, 'f', 2, '0')); + query.bindValue(":chiller_lpm", QString("%1").arg(ui->chiller_lpmEdit->value(), 3, 'f', 2, '0')); + query.bindValue(":chiller_loss", QString("%1").arg(ui->chiller_lossEdit->value(), 3, 'f', 2, '0')); + if (this->recno == -1) { query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36)); } else { @@ -243,12 +258,12 @@ query.prepare("INSERT INTO inventory_equipments SET name=:name, boil_size=:boil_size, " "batch_size=:batch_size, tun_volume=:tun_volume, tun_weight=:tun_weight, " "tun_specific_heat=:tun_specific_heat, tun_material=:tun_material, tun_height=:tun_height, " - "top_up_water=:top_up_water, trub_chiller_loss=:chiller_loss, evap_rate=:evap_rate, " + "top_up_water=:top_up_water, trub_chiller_loss=:trub_loss, evap_rate=:evap_rate, " "boil_time=:boil_time, calc_boil_volume=:calcboil, top_up_kettle=:top_up_kettle, " - "hop_utilization=:hopfactor, notes=:notes, lauter_volume=:lauter_volume, " - "lauter_height=:lauter_height, lauter_deadspace=:lauter_deadspace, kettle_volume=:kettle_volume, " + "notes=:notes, lauter_deadspace=:lauter_deadspace, kettle_volume=:kettle_volume, " "kettle_height=:kettle_height, mash_volume=:mash_volume, mash_max=:mash_max, " - "efficiency=:efficiency, uuid=:uuid"); + "efficiency=:efficiency, chiller_type=:chiller_type, chiller_to79=:chiller_to79, " + "chiller_volume=:chiller_volume, chiller_lpm=:chiller_lpm, chiller_loss=:chiller_loss, uuid=:uuid"); query.bindValue(":name", ui->nameEdit->text() + " [copy]"); query.bindValue(":boil_size", QString("%1").arg(ui->boil_sizeEdit->value(), 2, 'f', 1, '0')); @@ -259,15 +274,12 @@ query.bindValue(":tun_material", ui->tun_materialEdit->currentIndex()); query.bindValue(":tun_height", QString("%1").arg(ui->tun_heightEdit->value() / 100, 4, 'f', 3, '0')); query.bindValue(":top_up_water", QString("%1").arg(ui->top_up_waterEdit->value(), 2, 'f', 1, '0')); - query.bindValue(":chiller_loss", QString("%1").arg(ui->chiller_lossEdit->value(), 2, 'f', 1, '0')); + query.bindValue(":trub_loss", QString("%1").arg(ui->trub_lossEdit->value(), 2, 'f', 1, '0')); query.bindValue(":evap_rate", QString("%1").arg(ui->evap_rateEdit->value(), 3, 'f', 2, '0')); query.bindValue(":boil_time", QString("%1").arg(ui->boil_timeEdit->value(), 1, 'f', 0, '0')); query.bindValue(":calcboil", ui->calcboilEdit->isChecked() ? 1:0); query.bindValue(":top_up_kettle", QString("%1").arg(ui->top_up_kettleEdit->value(), 2, 'f', 1, '0')); - query.bindValue(":hopfactor", QString("%1").arg(ui->hopfactorEdit->value(), 1, 'f', 0, '0')); query.bindValue(":notes", ui->notesEdit->toPlainText()); - query.bindValue(":lauter_volume", QString("%1").arg(ui->lauter_volumeEdit->value(), 2, 'f', 1, '0')); - query.bindValue(":lauter_height", QString("%1").arg(ui->lauter_heightEdit->value() / 100, 4, 'f', 3, '0')); query.bindValue(":lauter_deadspace", QString("%1").arg(ui->lauter_deadspaceEdit->value(), 2, 'f', 1, '0')); query.bindValue(":kettle_volume", QString("%1").arg(ui->kettle_volumeEdit->value(), 2, 'f', 1, '0')); query.bindValue(":kettle_height", QString("%1").arg(ui->kettle_heightEdit->value() / 100, 4, 'f', 3, '0')); @@ -275,6 +287,11 @@ query.bindValue(":mash_max", QString("%1").arg(ui->mash_maxEdit->value(), 2, 'f', 1, '0')); query.bindValue(":efficiency", QString("%1").arg(ui->efficiencyEdit->value(), 2, 'f', 1, '0')); query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36)); + query.bindValue(":chiller_type", ui->chiller_typeEdit->currentIndex()); + query.bindValue(":chiller_to79", QString("%1").arg(ui->chiller_to79Edit->value(), 1, 'f', 0, '0')); + query.bindValue(":chiller_volume", QString("%1").arg(ui->chiller_volumeEdit->value(), 3, 'f', 2, '0')); + query.bindValue(":chiller_lpm", QString("%1").arg(ui->chiller_lpmEdit->value(), 3, 'f', 2, '0')); + query.bindValue(":chiller_loss", QString("%1").arg(ui->chiller_lossEdit->value(), 3, 'f', 2, '0')); query.exec(); if (query.lastError().isValid()) { qWarning() << "EditEquipment" << query.lastError(); @@ -320,8 +337,10 @@ void EditEquipment::calcBatchVolume() { double batch = ui->boil_sizeEdit->value() - (ui->evap_rateEdit->value() * ui->boil_timeEdit->value() / 60) + ui->top_up_kettleEdit->value(); - double fermenter = round(((batch / 1.04) + ui->top_up_waterEdit->value() - ui->chiller_lossEdit->value()) * 100) / 100.0; + double fermenter = round(((batch / 1.04) + ui->top_up_waterEdit->value() - ui->trub_lossEdit->value() - ui->chiller_lossEdit->value()) * 100) / 100.0; batch = round(batch * 100) / 100.0; + if (ui->batch_sizeEdit->value() != batch) + qDebug() << "Batch volue updated to" << batch; ui->batch_sizeEdit->setValue(batch); ui->vol_fermenterEdit->setValue(fermenter); } @@ -349,6 +368,76 @@ } +void EditEquipment::chiller_setup(int val) +{ + if (val == CHILLER_TYPE_IMMERSION) { + ui->chiller_volumeEdit->setReadOnly(false); + ui->chiller_volumeEdit->setButtonSymbols(QAbstractSpinBox::UpDownArrows); + ui->chiller_volumeEdit->setFixedSize(101, 24); + if (ui->chiller_volumeEdit->value() == 0) + ui->chiller_volumeEdit->setValue(0.5); + } else { + ui->chiller_volumeEdit->setReadOnly(true); + ui->chiller_volumeEdit->setButtonSymbols(QAbstractSpinBox::NoButtons); + ui->chiller_volumeEdit->setFixedSize(86, 24); + ui->chiller_volumeEdit->setValue(0); + } + + if (val == CHILLER_TYPE_COUNTERFLOW) { + ui->chiller_to79Edit->setReadOnly(true); + ui->chiller_to79Edit->setButtonSymbols(QAbstractSpinBox::NoButtons); + ui->chiller_to79Edit->setFixedSize(86, 24); + ui->chiller_to79Edit->setValue(0); + + ui->chiller_lpmEdit->setReadOnly(false); + ui->chiller_lpmEdit->setButtonSymbols(QAbstractSpinBox::UpDownArrows); + ui->chiller_lpmEdit->setFixedSize(101, 24); + if (ui->chiller_lpmEdit->value() == 0) + ui->chiller_lpmEdit->setValue(2.5); + + ui->chiller_lossEdit->setReadOnly(false); + ui->chiller_lossEdit->setButtonSymbols(QAbstractSpinBox::UpDownArrows); + ui->chiller_lossEdit->setFixedSize(101, 24); + if (ui->chiller_lossEdit->value() == 0) + ui->chiller_lossEdit->setValue(3); + + } else { + ui->chiller_to79Edit->setReadOnly(false); + ui->chiller_to79Edit->setButtonSymbols(QAbstractSpinBox::UpDownArrows); + ui->chiller_to79Edit->setFixedSize(101, 24); + int time = 5; + if (val == CHILLER_TYPE_AUBAINMARIE) + time = 20; + if (val == CHILLER_TYPE_NOCHILL) + time = 240; + if (ui->chiller_to79Edit->value() == 0) + ui->chiller_to79Edit->setValue(time); + + ui->chiller_lpmEdit->setReadOnly(true); + ui->chiller_lpmEdit->setButtonSymbols(QAbstractSpinBox::NoButtons); + ui->chiller_lpmEdit->setFixedSize(86, 24); + ui->chiller_lpmEdit->setValue(0); + + ui->chiller_lossEdit->setReadOnly(true); + ui->chiller_lossEdit->setButtonSymbols(QAbstractSpinBox::NoButtons); + ui->chiller_lossEdit->setFixedSize(86, 24); + ui->chiller_lossEdit->setValue(0); + } +} + + +void EditEquipment::chiller_changed() +{ + const QSignalBlocker blocker1(ui->chiller_to79Edit); + const QSignalBlocker blocker2(ui->chiller_volumeEdit); + const QSignalBlocker blocker3(ui->chiller_lpmEdit); + const QSignalBlocker blocker4(ui->chiller_lossEdit); + + chiller_setup(ui->chiller_typeEdit->currentIndex()); + is_changed(); +} + + void EditEquipment::on_quitButton_clicked() { if (this->textIsChanged) {
--- a/src/EditEquipment.h Fri Oct 21 17:01:20 2022 +0200 +++ b/src/EditEquipment.h Mon Oct 24 15:25:50 2022 +0200 @@ -26,6 +26,8 @@ void on_deleteButton_clicked(); void is_changed(); void material_changed(); + void chiller_setup(int val); + void chiller_changed(); private: Ui::EditEquipment *ui;
--- a/src/PrinterDialog.cpp Fri Oct 21 17:01:20 2022 +0200 +++ b/src/PrinterDialog.cpp Mon Oct 24 15:25:50 2022 +0200 @@ -1798,7 +1798,7 @@ lines = 3; } else { lines = 5; - if (product->brew_cooling_method == CHILLER_TYPE_EMERSION) + if (product->brew_cooling_method == CHILLER_TYPE_IMMERSION) lines++; for (int i = 0; i < product->fermentables.size(); i++) { if (product->fermentables.at(i).added == FERMENTABLE_ADDED_BOIL) @@ -1832,8 +1832,8 @@ .arg(product->fermentables.at(j).amount * factor, 1, 'f', 3) .arg(product->fermentables.at(j).name)); } - if (product->brew_cooling_method == CHILLER_TYPE_EMERSION) - checkLine(&painter, &y, QString(tr("Place emersion chiller at 10 minutes before end of boil"))); + if (product->brew_cooling_method == CHILLER_TYPE_IMMERSION) + checkLine(&painter, &y, QString(tr("Place immersion chiller at 10 minutes before end of boil"))); } for (int j = 0; j < product->hops.size(); j++) { if ((product->hops.at(j).useat == HOP_USEAT_BOIL || product->hops.at(j).useat == HOP_USEAT_AROMA) && product->hops.at(j).time == i) {
--- a/src/global.cpp Fri Oct 21 17:01:20 2022 +0200 +++ b/src/global.cpp Mon Oct 24 15:25:50 2022 +0200 @@ -75,10 +75,10 @@ const char * const g_chiller_types[5] = { QT_TRANSLATE_NOOP("ChillerType", "-"), - QT_TRANSLATE_NOOP("ChillerType", "Emersion chiller"), - QT_TRANSLATE_NOOP("ChillerType", "Counterflow chiller"), + QT_TRANSLATE_NOOP("ChillerType", "Immersion"), + QT_TRANSLATE_NOOP("ChillerType", "Counterflow"), QT_TRANSLATE_NOOP("ChillerType", "Au bain marie"), - QT_TRANSLATE_NOOP("ChillerType", "Natural") + QT_TRANSLATE_NOOP("ChillerType", "No-chill") }; const char * const g_fermentable_types[5] = {
--- a/src/global.h Fri Oct 21 17:01:20 2022 +0200 +++ b/src/global.h Mon Oct 24 15:25:50 2022 +0200 @@ -721,10 +721,10 @@ enum ChillerTypes { CHILLER_TYPE_NONE, - CHILLER_TYPE_EMERSION, + CHILLER_TYPE_IMMERSION, CHILLER_TYPE_COUNTERFLOW, CHILLER_TYPE_AUBAINMARIE, - CHILLER_TYPE_NATURAL + CHILLER_TYPE_NOCHILL }; extern const char * g_ibu_method[3];
--- a/ui/EditEquipment.ui Fri Oct 21 17:01:20 2022 +0200 +++ b/ui/EditEquipment.ui Mon Oct 24 15:25:50 2022 +0200 @@ -172,10 +172,10 @@ <widget class="QGroupBox" name="mashGroup"> <property name="geometry"> <rect> - <x>70</x> + <x>10</x> <y>110</y> - <width>401</width> - <height>251</height> + <width>321</width> + <height>241</height> </rect> </property> <property name="title"> @@ -190,9 +190,9 @@ <widget class="QDoubleSpinBox" name="tun_volumeEdit"> <property name="geometry"> <rect> - <x>200</x> - <y>30</y> - <width>121</width> + <x>190</x> + <y>20</y> + <width>101</width> <height>24</height> </rect> </property> @@ -219,8 +219,8 @@ <property name="geometry"> <rect> <x>10</x> - <y>30</y> - <width>181</width> + <y>20</y> + <width>171</width> <height>20</height> </rect> </property> @@ -235,8 +235,8 @@ <property name="geometry"> <rect> <x>10</x> - <y>60</y> - <width>181</width> + <y>50</y> + <width>171</width> <height>20</height> </rect> </property> @@ -251,8 +251,8 @@ <property name="geometry"> <rect> <x>10</x> - <y>90</y> - <width>181</width> + <y>80</y> + <width>171</width> <height>20</height> </rect> </property> @@ -267,8 +267,8 @@ <property name="geometry"> <rect> <x>10</x> - <y>120</y> - <width>181</width> + <y>110</y> + <width>171</width> <height>20</height> </rect> </property> @@ -283,8 +283,8 @@ <property name="geometry"> <rect> <x>10</x> - <y>150</y> - <width>181</width> + <y>140</y> + <width>171</width> <height>20</height> </rect> </property> @@ -299,8 +299,8 @@ <property name="geometry"> <rect> <x>10</x> - <y>180</y> - <width>181</width> + <y>170</y> + <width>171</width> <height>20</height> </rect> </property> @@ -315,8 +315,8 @@ <property name="geometry"> <rect> <x>10</x> - <y>210</y> - <width>181</width> + <y>200</y> + <width>171</width> <height>20</height> </rect> </property> @@ -330,9 +330,9 @@ <widget class="QDoubleSpinBox" name="tun_heightEdit"> <property name="geometry"> <rect> - <x>200</x> - <y>60</y> - <width>121</width> + <x>190</x> + <y>50</y> + <width>101</width> <height>24</height> </rect> </property> @@ -358,9 +358,9 @@ <widget class="QDoubleSpinBox" name="tun_weightEdit"> <property name="geometry"> <rect> - <x>200</x> - <y>90</y> - <width>121</width> + <x>190</x> + <y>80</y> + <width>101</width> <height>24</height> </rect> </property> @@ -386,8 +386,8 @@ <widget class="QDoubleSpinBox" name="tun_specific_heatEdit"> <property name="geometry"> <rect> - <x>200</x> - <y>150</y> + <x>190</x> + <y>140</y> <width>71</width> <height>24</height> </rect> @@ -423,9 +423,9 @@ <widget class="QDoubleSpinBox" name="mash_volumeEdit"> <property name="geometry"> <rect> - <x>200</x> - <y>180</y> - <width>121</width> + <x>190</x> + <y>170</y> + <width>101</width> <height>24</height> </rect> </property> @@ -451,9 +451,9 @@ <widget class="QDoubleSpinBox" name="mash_maxEdit"> <property name="geometry"> <rect> - <x>200</x> - <y>210</y> - <width>121</width> + <x>190</x> + <y>200</y> + <width>101</width> <height>24</height> </rect> </property> @@ -479,8 +479,8 @@ <widget class="QComboBox" name="tun_materialEdit"> <property name="geometry"> <rect> - <x>200</x> - <y>120</y> + <x>190</x> + <y>110</y> <width>121</width> <height>23</height> </rect> @@ -490,10 +490,10 @@ <widget class="QGroupBox" name="lauterGroup"> <property name="geometry"> <rect> - <x>70</x> - <y>370</y> - <width>401</width> - <height>161</height> + <x>10</x> + <y>380</y> + <width>321</width> + <height>91</height> </rect> </property> <property name="title"> @@ -502,44 +502,12 @@ <property name="alignment"> <set>Qt::AlignCenter</set> </property> - <widget class="QLabel" name="lauter_volumeLabel"> - <property name="geometry"> - <rect> - <x>10</x> - <y>30</y> - <width>181</width> - <height>20</height> - </rect> - </property> - <property name="text"> - <string>Lauter volume L:</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> - <widget class="QLabel" name="lauter_heightLabel"> - <property name="geometry"> - <rect> - <x>10</x> - <y>60</y> - <width>181</width> - <height>20</height> - </rect> - </property> - <property name="text"> - <string>Lauter height cm:</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> <widget class="QLabel" name="lauter_deadspaceLabel"> <property name="geometry"> <rect> <x>10</x> - <y>90</y> - <width>181</width> + <y>20</y> + <width>171</width> <height>20</height> </rect> </property> @@ -554,8 +522,8 @@ <property name="geometry"> <rect> <x>10</x> - <y>120</y> - <width>181</width> + <y>50</y> + <width>171</width> <height>20</height> </rect> </property> @@ -566,68 +534,12 @@ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> </widget> - <widget class="QDoubleSpinBox" name="lauter_volumeEdit"> - <property name="geometry"> - <rect> - <x>200</x> - <y>30</y> - <width>121</width> - <height>24</height> - </rect> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - <property name="accelerated"> - <bool>true</bool> - </property> - <property name="decimals"> - <number>1</number> - </property> - <property name="maximum"> - <double>100000.000000000000000</double> - </property> - <property name="singleStep"> - <double>0.500000000000000</double> - </property> - <property name="stepType"> - <enum>QAbstractSpinBox::DefaultStepType</enum> - </property> - </widget> - <widget class="QDoubleSpinBox" name="lauter_heightEdit"> - <property name="geometry"> - <rect> - <x>200</x> - <y>60</y> - <width>121</width> - <height>24</height> - </rect> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - <property name="accelerated"> - <bool>true</bool> - </property> - <property name="decimals"> - <number>1</number> - </property> - <property name="maximum"> - <double>100000.000000000000000</double> - </property> - <property name="singleStep"> - <double>0.500000000000000</double> - </property> - <property name="stepType"> - <enum>QAbstractSpinBox::DefaultStepType</enum> - </property> - </widget> <widget class="QDoubleSpinBox" name="lauter_deadspaceEdit"> <property name="geometry"> <rect> - <x>200</x> - <y>90</y> - <width>121</width> + <x>190</x> + <y>20</y> + <width>101</width> <height>24</height> </rect> </property> @@ -653,9 +565,9 @@ <widget class="QDoubleSpinBox" name="efficiencyEdit"> <property name="geometry"> <rect> - <x>200</x> - <y>120</y> - <width>121</width> + <x>190</x> + <y>50</y> + <width>101</width> <height>24</height> </rect> </property> @@ -682,10 +594,10 @@ <widget class="QGroupBox" name="boilGroup"> <property name="geometry"> <rect> - <x>530</x> + <x>340</x> <y>110</y> - <width>401</width> - <height>281</height> + <width>321</width> + <height>271</height> </rect> </property> <property name="title"> @@ -695,8 +607,8 @@ <property name="geometry"> <rect> <x>10</x> - <y>30</y> - <width>181</width> + <y>20</y> + <width>171</width> <height>20</height> </rect> </property> @@ -710,9 +622,9 @@ <widget class="QDoubleSpinBox" name="kettle_volumeEdit"> <property name="geometry"> <rect> - <x>200</x> - <y>30</y> - <width>121</width> + <x>190</x> + <y>20</y> + <width>101</width> <height>24</height> </rect> </property> @@ -739,13 +651,13 @@ <property name="geometry"> <rect> <x>10</x> - <y>60</y> - <width>181</width> + <y>50</y> + <width>171</width> <height>20</height> </rect> </property> <property name="text"> - <string>Kettle heigh cmt:</string> + <string>Kettle height cm:</string> </property> <property name="alignment"> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> @@ -754,9 +666,9 @@ <widget class="QDoubleSpinBox" name="kettle_heightEdit"> <property name="geometry"> <rect> - <x>200</x> - <y>60</y> - <width>121</width> + <x>190</x> + <y>50</y> + <width>101</width> <height>24</height> </rect> </property> @@ -783,8 +695,8 @@ <property name="geometry"> <rect> <x>10</x> - <y>90</y> - <width>181</width> + <y>110</y> + <width>171</width> <height>20</height> </rect> </property> @@ -798,9 +710,9 @@ <widget class="QDoubleSpinBox" name="boil_sizeEdit"> <property name="geometry"> <rect> - <x>200</x> - <y>90</y> - <width>121</width> + <x>190</x> + <y>110</y> + <width>101</width> <height>24</height> </rect> </property> @@ -827,8 +739,8 @@ <property name="geometry"> <rect> <x>10</x> - <y>120</y> - <width>181</width> + <y>140</y> + <width>171</width> <height>20</height> </rect> </property> @@ -843,8 +755,8 @@ <property name="geometry"> <rect> <x>10</x> - <y>150</y> - <width>181</width> + <y>170</y> + <width>171</width> <height>20</height> </rect> </property> @@ -859,8 +771,8 @@ <property name="geometry"> <rect> <x>10</x> - <y>180</y> - <width>181</width> + <y>200</y> + <width>171</width> <height>20</height> </rect> </property> @@ -871,28 +783,12 @@ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> </widget> - <widget class="QLabel" name="hopfactorLabel"> - <property name="geometry"> - <rect> - <x>10</x> - <y>210</y> - <width>181</width> - <height>20</height> - </rect> - </property> - <property name="text"> - <string>Hop utilization %:</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> <widget class="QLabel" name="batch_sizeLabel"> <property name="geometry"> <rect> <x>10</x> - <y>240</y> - <width>181</width> + <y>230</y> + <width>171</width> <height>20</height> </rect> </property> @@ -906,9 +802,9 @@ <widget class="QDoubleSpinBox" name="evap_rateEdit"> <property name="geometry"> <rect> - <x>200</x> - <y>120</y> - <width>121</width> + <x>190</x> + <y>140</y> + <width>101</width> <height>24</height> </rect> </property> @@ -934,9 +830,9 @@ <widget class="QDoubleSpinBox" name="boil_timeEdit"> <property name="geometry"> <rect> - <x>200</x> - <y>150</y> - <width>121</width> + <x>190</x> + <y>170</y> + <width>101</width> <height>24</height> </rect> </property> @@ -962,9 +858,9 @@ <widget class="QDoubleSpinBox" name="top_up_kettleEdit"> <property name="geometry"> <rect> - <x>200</x> - <y>180</y> - <width>121</width> + <x>190</x> + <y>200</y> + <width>101</width> <height>24</height> </rect> </property> @@ -987,43 +883,12 @@ <enum>QAbstractSpinBox::DefaultStepType</enum> </property> </widget> - <widget class="QDoubleSpinBox" name="hopfactorEdit"> - <property name="geometry"> - <rect> - <x>200</x> - <y>210</y> - <width>121</width> - <height>24</height> - </rect> - </property> - <property name="toolTip"> - <string>100% for small breweries, higher for large breweries.</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - <property name="accelerated"> - <bool>true</bool> - </property> - <property name="decimals"> - <number>0</number> - </property> - <property name="maximum"> - <double>200.000000000000000</double> - </property> - <property name="singleStep"> - <double>1.000000000000000</double> - </property> - <property name="stepType"> - <enum>QAbstractSpinBox::DefaultStepType</enum> - </property> - </widget> <widget class="QDoubleSpinBox" name="batch_sizeEdit"> <property name="geometry"> <rect> - <x>200</x> - <y>240</y> - <width>107</width> + <x>190</x> + <y>230</y> + <width>86</width> <height>24</height> </rect> </property> @@ -1052,44 +917,28 @@ <enum>QAbstractSpinBox::DefaultStepType</enum> </property> </widget> - </widget> - <widget class="QGroupBox" name="chillGroup"> - <property name="geometry"> - <rect> - <x>530</x> - <y>400</y> - <width>401</width> - <height>131</height> - </rect> - </property> - <property name="title"> - <string>Chilling</string> - </property> - <property name="alignment"> - <set>Qt::AlignCenter</set> - </property> - <widget class="QLabel" name="chiller_lossLabel"> + <widget class="QLabel" name="trub_lossLabel"> <property name="geometry"> <rect> <x>10</x> - <y>30</y> - <width>181</width> + <y>80</y> + <width>171</width> <height>20</height> </rect> </property> <property name="text"> - <string>Trub chiller loss L:</string> + <string>Kettle trub loss L:</string> </property> <property name="alignment"> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> </widget> - <widget class="QDoubleSpinBox" name="chiller_lossEdit"> + <widget class="QDoubleSpinBox" name="trub_lossEdit"> <property name="geometry"> <rect> - <x>200</x> - <y>30</y> - <width>121</width> + <x>190</x> + <y>80</y> + <width>101</width> <height>24</height> </rect> </property> @@ -1112,12 +961,28 @@ <enum>QAbstractSpinBox::DefaultStepType</enum> </property> </widget> + </widget> + <widget class="QGroupBox" name="transferGroup"> + <property name="geometry"> + <rect> + <x>670</x> + <y>380</y> + <width>321</width> + <height>91</height> + </rect> + </property> + <property name="title"> + <string>Transfer</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> <widget class="QLabel" name="top_up_waterLabel"> <property name="geometry"> <rect> <x>10</x> - <y>60</y> - <width>181</width> + <y>20</y> + <width>171</width> <height>20</height> </rect> </property> @@ -1132,8 +997,8 @@ <property name="geometry"> <rect> <x>10</x> - <y>90</y> - <width>181</width> + <y>50</y> + <width>171</width> <height>20</height> </rect> </property> @@ -1147,9 +1012,9 @@ <widget class="QDoubleSpinBox" name="top_up_waterEdit"> <property name="geometry"> <rect> - <x>200</x> - <y>60</y> - <width>121</width> + <x>190</x> + <y>20</y> + <width>101</width> <height>24</height> </rect> </property> @@ -1175,9 +1040,9 @@ <widget class="QDoubleSpinBox" name="vol_fermenterEdit"> <property name="geometry"> <rect> - <x>200</x> - <y>90</y> - <width>107</width> + <x>190</x> + <y>50</y> + <width>86</width> <height>24</height> </rect> </property> @@ -1224,6 +1089,244 @@ <normaloff>:/icons/silk/disk_multiple.png</normaloff>:/icons/silk/disk_multiple.png</iconset> </property> </widget> + <widget class="QGroupBox" name="chillerGroup"> + <property name="geometry"> + <rect> + <x>670</x> + <y>110</y> + <width>321</width> + <height>181</height> + </rect> + </property> + <property name="title"> + <string>Chilling</string> + </property> + <widget class="QLabel" name="chiller_typeLabel"> + <property name="geometry"> + <rect> + <x>10</x> + <y>20</y> + <width>171</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Wort chiller type:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + <widget class="QComboBox" name="chiller_typeEdit"> + <property name="geometry"> + <rect> + <x>190</x> + <y>20</y> + <width>121</width> + <height>23</height> + </rect> + </property> + </widget> + <widget class="QDoubleSpinBox" name="chiller_to79Edit"> + <property name="geometry"> + <rect> + <x>190</x> + <y>50</y> + <width>101</width> + <height>24</height> + </rect> + </property> + <property name="toolTip"> + <string>Minutes elapsed to cool to 79 °C</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="accelerated"> + <bool>true</bool> + </property> + <property name="decimals"> + <number>0</number> + </property> + <property name="maximum"> + <double>100000.000000000000000</double> + </property> + <property name="singleStep"> + <double>1.000000000000000</double> + </property> + <property name="stepType"> + <enum>QAbstractSpinBox::DefaultStepType</enum> + </property> + </widget> + <widget class="QLabel" name="chiller_to79Label"> + <property name="geometry"> + <rect> + <x>10</x> + <y>50</y> + <width>171</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Minutes to cool to 79 °C:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + <widget class="QDoubleSpinBox" name="chiller_lossEdit"> + <property name="geometry"> + <rect> + <x>190</x> + <y>110</y> + <width>101</width> + <height>24</height> + </rect> + </property> + <property name="toolTip"> + <string>Volume lost in hoses, pump ...</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="accelerated"> + <bool>true</bool> + </property> + <property name="decimals"> + <number>2</number> + </property> + <property name="maximum"> + <double>100.000000000000000</double> + </property> + <property name="singleStep"> + <double>0.050000000000000</double> + </property> + <property name="stepType"> + <enum>QAbstractSpinBox::DefaultStepType</enum> + </property> + </widget> + <widget class="QLabel" name="chiller_lossLabel"> + <property name="geometry"> + <rect> + <x>10</x> + <y>110</y> + <width>171</width> + <height>20</height> + </rect> + </property> + <property name="font"> + <font> + <weight>50</weight> + <bold>false</bold> + <underline>false</underline> + <strikeout>false</strikeout> + <kerning>true</kerning> + </font> + </property> + <property name="text"> + <string>Transfer loss L:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + <widget class="QLabel" name="chiller_volumeLabel"> + <property name="geometry"> + <rect> + <x>10</x> + <y>80</y> + <width>171</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Immersion chiller L:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + <widget class="QDoubleSpinBox" name="chiller_volumeEdit"> + <property name="geometry"> + <rect> + <x>190</x> + <y>80</y> + <width>101</width> + <height>24</height> + </rect> + </property> + <property name="toolTip"> + <string>Temporary extra volume of the immersion chiller in the kettle. +Used to correct the after boil volume.</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="accelerated"> + <bool>true</bool> + </property> + <property name="decimals"> + <number>2</number> + </property> + <property name="maximum"> + <double>100.000000000000000</double> + </property> + <property name="singleStep"> + <double>0.050000000000000</double> + </property> + <property name="stepType"> + <enum>QAbstractSpinBox::DefaultStepType</enum> + </property> + </widget> + <widget class="QDoubleSpinBox" name="chiller_lpmEdit"> + <property name="geometry"> + <rect> + <x>190</x> + <y>140</y> + <width>101</width> + <height>24</height> + </rect> + </property> + <property name="toolTip"> + <string>Liters per minute to pump trough the chiller. +Used to calculate the time needed to transfer the wort.</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="accelerated"> + <bool>true</bool> + </property> + <property name="decimals"> + <number>2</number> + </property> + <property name="maximum"> + <double>100.000000000000000</double> + </property> + <property name="singleStep"> + <double>0.050000000000000</double> + </property> + <property name="stepType"> + <enum>QAbstractSpinBox::DefaultStepType</enum> + </property> + </widget> + <widget class="QLabel" name="chiller_lpmLabel"> + <property name="geometry"> + <rect> + <x>10</x> + <y>140</y> + <width>171</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Transfer liters/minute:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + </widget> </widget> </item> </layout>