Added default load yeastpacks. Added yeast_package_changed signal.

Thu, 02 Feb 2023 15:23:18 +0100

author
Michiel Broek <mbroek@mbse.eu>
date
Thu, 02 Feb 2023 15:23:18 +0100
changeset 483
eb0a5f132ea9
parent 482
e13763ec829f
child 484
ebf7ef31da35

Added default load yeastpacks. Added yeast_package_changed signal.

src/EditProduct.h file | annotate | diff | comparison | revisions
src/EditProductTab6.cpp file | annotate | diff | comparison | revisions
translations/bmsapp_en.ts file | annotate | diff | comparison | revisions
translations/bmsapp_nl.ts file | annotate | diff | comparison | revisions
--- a/src/EditProduct.h	Tue Jan 31 16:24:11 2023 +0100
+++ b/src/EditProduct.h	Thu Feb 02 15:23:18 2023 +0100
@@ -103,6 +103,7 @@
     void yeast_pitchrate_button_clicked();
     void yeast_retry_button_clicked();
     void yeast_amount_changed(double val);
+    void yeast_package_changed(int val);
     void yeast_select_changed(int val);
     void yeast_instock_changed(bool val);
     void yeast_useat_changed(int val);
@@ -340,6 +341,7 @@
     void calcViability();
     void calcYeast();
     void adjustYeasts(double factor);
+    void yeast_load_packages(QString laboratory, int form);
     double infusionVol(double step_infused, double step_mashkg, double infuse_temp, double step_temp, double last_temp);
     double decoctionVol(double step_volume, double step_temp, double prev_temp);
     void calcMash();
--- a/src/EditProductTab6.cpp	Tue Jan 31 16:24:11 2023 +0100
+++ b/src/EditProductTab6.cpp	Thu Feb 02 15:23:18 2023 +0100
@@ -590,7 +590,12 @@
 
     for (int i = 0; i < product->yeasts.size(); i++) {
 	if (product->yeasts.at(i).use == YEAST_USE_PRIMARY) {
-	    if (product->yeasts.at(i).form == YEAST_FORMS_LIQUID) {
+	    qDebug() << "calcViability()" << i << product->yeasts.at(i).yp_uuid << product->yeasts.at(i).yp_package;
+	    if (! product->yeasts.at(i).yp_uuid.isNull() && (product->yeasts.at(i).yp_uuid.length() == 36)) {
+		qDebug() << "  valid package vpm:" << product->yeasts.at(i).yp_viability << product->yeasts.at(i).yp_max;
+		vpm = product->yeasts.at(i).yp_viability;
+		max = product->yeasts.at(i).yp_max;
+	    } else if (product->yeasts.at(i).form == YEAST_FORMS_LIQUID) {	// Fallback to hardcoded values.
 		vpm = 0.80;
 		max = 97;
 		if (product->yeasts.at(i).laboratory == "White Labs") {	// PurePitch
@@ -954,9 +959,79 @@
 }
 
 
+void EditProduct::yeast_load_packages(QString laboratory, int form)
+{
+    QSqlQuery query;
+
+    /*
+     * Clear package and rebuild package select table.
+     */
+    this->ypackageEdit->setCurrentIndex(-1);
+    this->ypackageEdit->clear();
+    this->ypackageEdit->addItem("");    // Start with empty value
+    query.prepare("SELECT * FROM inventory_yeastpack WHERE laboratory=:laboratory AND form=:form AND valid='1' ORDER BY laboratory,package");
+    query.bindValue(":laboratory", laboratory);
+    query.bindValue(":form", form);
+    qDebug() << "  search" << laboratory << form;
+    query.exec();
+    while (query.next()) {
+        this->ypackageEdit->addItem(query.value("laboratory").toString()+" - "+query.value("package").toString());
+        qDebug() << "  add package" << query.value("laboratory").toString() << query.value("package").toString();
+    }
+}
+
+
+void EditProduct::yeast_package_changed(int val)
+{
+    QSqlQuery query;
+    int index = 0;
+
+#ifdef DEBUG_YEAST
+    qDebug() << "yeast_package_changed()" << product->yeasts_row << val;
+#endif
+
+    /*
+     * Scan the packages for result number 'val'
+     */
+    query.prepare("SELECT * FROM inventory_yeastpack WHERE laboratory=:laboratory AND form=:form AND valid='1' ORDER BY laboratory,package");
+    query.bindValue(":laboratory", product->yeasts.at(product->yeasts_row).laboratory);
+    query.bindValue(":form", product->yeasts.at(product->yeasts_row).form);
+    qDebug() << "  search" << product->yeasts.at(product->yeasts_row).laboratory << product->yeasts.at(product->yeasts_row).form;
+    query.exec();
+    while (query.next()) {
+	index++;
+	if (index == val) {
+	    qDebug() << "  result" << index << query.value("package").toString();
+	    product->yeasts[product->yeasts_row].yp_uuid = query.value("uuid").toString();
+	    product->yeasts[product->yeasts_row].yp_package = query.value("package").toString();
+	    product->yeasts[product->yeasts_row].yp_cells = query.value("cells").toDouble();
+	    product->yeasts[product->yeasts_row].yp_viability = query.value("viability").toDouble();
+	    product->yeasts[product->yeasts_row].yp_max = query.value("max").toInt();
+	    product->yeasts[product->yeasts_row].yp_size = query.value("size").toDouble();
+	    is_changed();
+	    return;
+	}
+    }
+    if (! product->yeasts[product->yeasts_row].yp_uuid.isNull()) {
+	/*
+	 * Clear package
+	 */
+	product->yeasts[product->yeasts_row].yp_uuid = QString();
+	product->yeasts[product->yeasts_row].yp_package = QString();
+	product->yeasts[product->yeasts_row].yp_cells = product->yeasts[product->yeasts_row].cells;
+	product->yeasts[product->yeasts_row].yp_viability = 0.99;
+	product->yeasts[product->yeasts_row].yp_max = 100;
+	product->yeasts[product->yeasts_row].yp_size = 0.01;
+	is_changed();
+	qDebug() << "  cleared old yp_xxx data";
+    }
+    qDebug() << "  result not found";
+}
+
+
 void EditProduct::yeast_select_changed(int val)
 {
-    QSqlQuery query, query1;
+    QSqlQuery query;
     bool instock = yinstockEdit->isChecked();
     QString w;
     QTableWidgetItem *item;
@@ -1052,18 +1127,7 @@
     /*
      * Clear package and rebuild package select table.
      */
-    this->ypackageEdit->setCurrentIndex(-1);
-    this->ypackageEdit->clear();
-    this->ypackageEdit->addItem("");	// Start with empty value
-    query1.prepare("SELECT * FROM inventory_yeastpack WHERE laboratory=:laboratory AND form=:form AND valid='1' ORDER BY laboratory,package");
-    query1.bindValue(":laboratory", query.value("laboratory").toString());
-    query1.bindValue(":form", query.value("form").toInt());
-    qDebug() << "  search" << query.value("laboratory").toString() << query.value("form").toInt();
-    query1.exec();
-    while (query1.next()) {
-	this->ypackageEdit->addItem(query1.value("laboratory").toString()+" - "+query1.value("package").toString());
-	qDebug() << "  add package" << query1.value("laboratory").toString() << query1.value("package").toString();
-    }
+    yeast_load_packages(query.value("laboratory").toString(), query.value("form").toInt());
 
     ui->yeastsTable->setItem(product->yeasts_row, 0, new QTableWidgetItem(product->yeasts.at(product->yeasts_row).name));
     ui->yeastsTable->setItem(product->yeasts_row, 1, new QTableWidgetItem(product->yeasts.at(product->yeasts_row).laboratory));
@@ -1298,8 +1362,25 @@
     useatEdit->setCurrentIndex(product->yeasts.at(product->yeasts_row).use);
 
     yeast_instock_changed(true);
+    yeast_load_packages(product->yeasts.at(product->yeasts_row).laboratory, product->yeasts.at(product->yeasts_row).form);
+
+    int index = -1;
+    if (! product->yeasts.at(product->yeasts_row).yp_uuid.isNull() && (product->yeasts.at(product->yeasts_row).yp_uuid.length() == 36)) {
+	query.prepare("SELECT * FROM inventory_yeastpack WHERE laboratory=:laboratory AND form=:form AND valid='1' ORDER BY laboratory,package");
+	query.bindValue(":laboratory", product->yeasts.at(product->yeasts_row).laboratory);
+	query.bindValue(":form", product->yeasts.at(product->yeasts_row).form);
+	qDebug() << "  search" << product->yeasts.at(product->yeasts_row).laboratory << product->yeasts.at(product->yeasts_row).form;
+	query.exec();
+	while (query.next()) {
+	    index++;
+	    if (query.value("uuid").toString() == product->yeasts.at(product->yeasts_row).yp_uuid)
+		break;
+	}
+	qDebug() << "  result" << index << (query.value("uuid").toString() == product->yeasts.at(product->yeasts_row).yp_uuid);
+    }
 
     connect(yselectEdit, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &EditProduct::yeast_select_changed);
+    connect(ypackageEdit, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &EditProduct::yeast_package_changed);
     connect(yamountEdit, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this, &EditProduct::yeast_amount_changed);
     connect(useatEdit, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &EditProduct::yeast_useat_changed);
     connect(yinstockEdit, &QCheckBox::stateChanged, this, &EditProduct::yeast_instock_changed);
@@ -1318,6 +1399,7 @@
     }
 
     disconnect(yselectEdit, nullptr, nullptr, nullptr);
+    disconnect(ypackageEdit, nullptr, nullptr, nullptr);
     disconnect(yamountEdit, nullptr, nullptr, nullptr);
     disconnect(useatEdit, nullptr, nullptr, nullptr);
     disconnect(yinstockEdit, nullptr, nullptr, nullptr);
--- a/translations/bmsapp_en.ts	Tue Jan 31 16:24:11 2023 +0100
+++ b/translations/bmsapp_en.ts	Thu Feb 02 15:23:18 2023 +0100
@@ -4330,7 +4330,7 @@
         <location filename="../src/EditProductTab3.cpp" line="730"/>
         <location filename="../src/EditProductTab4.cpp" line="361"/>
         <location filename="../src/EditProductTab5.cpp" line="399"/>
-        <location filename="../src/EditProductTab6.cpp" line="907"/>
+        <location filename="../src/EditProductTab6.cpp" line="912"/>
         <location filename="../src/EditProductTab7.cpp" line="306"/>
         <location filename="../src/EditProductTab13.cpp" line="279"/>
         <location filename="../src/EditProduct.cpp" line="910"/>
@@ -4366,7 +4366,7 @@
     <message>
         <location filename="../src/EditProductTab3.cpp" line="1073"/>
         <location filename="../src/EditProductTab4.cpp" line="633"/>
-        <location filename="../src/EditProductTab6.cpp" line="1227"/>
+        <location filename="../src/EditProductTab6.cpp" line="1267"/>
         <source>Use at:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4380,7 +4380,7 @@
         <location filename="../src/EditProductTab3.cpp" line="1083"/>
         <location filename="../src/EditProductTab4.cpp" line="643"/>
         <location filename="../src/EditProductTab5.cpp" line="674"/>
-        <location filename="../src/EditProductTab6.cpp" line="1205"/>
+        <location filename="../src/EditProductTab6.cpp" line="1247"/>
         <source>In stock:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4522,8 +4522,8 @@
         <location filename="../src/EditProductTab4.cpp" line="619"/>
         <location filename="../src/EditProductTab5.cpp" line="525"/>
         <location filename="../src/EditProductTab5.cpp" line="650"/>
-        <location filename="../src/EditProductTab6.cpp" line="1040"/>
-        <location filename="../src/EditProductTab6.cpp" line="1220"/>
+        <location filename="../src/EditProductTab6.cpp" line="1077"/>
+        <location filename="../src/EditProductTab6.cpp" line="1260"/>
         <source>Amount in gr:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4562,8 +4562,8 @@
     <message>
         <location filename="../src/EditProductTab5.cpp" line="528"/>
         <location filename="../src/EditProductTab5.cpp" line="652"/>
-        <location filename="../src/EditProductTab6.cpp" line="1047"/>
-        <location filename="../src/EditProductTab6.cpp" line="1222"/>
+        <location filename="../src/EditProductTab6.cpp" line="1084"/>
+        <location filename="../src/EditProductTab6.cpp" line="1262"/>
         <source>Amount in ml:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4574,13 +4574,13 @@
     </message>
     <message>
         <location filename="../src/EditProductTab5.cpp" line="720"/>
-        <location filename="../src/EditProductTab6.cpp" line="1281"/>
+        <location filename="../src/EditProductTab6.cpp" line="1319"/>
         <source>Primary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/EditProductTab5.cpp" line="721"/>
-        <location filename="../src/EditProductTab6.cpp" line="1282"/>
+        <location filename="../src/EditProductTab6.cpp" line="1320"/>
         <source>Secondary</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4666,114 +4666,114 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="719"/>
+        <location filename="../src/EditProductTab6.cpp" line="724"/>
         <source>BMSapp - Pitchrate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="731"/>
+        <location filename="../src/EditProductTab6.cpp" line="736"/>
         <source>Beer pitch type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="739"/>
+        <location filename="../src/EditProductTab6.cpp" line="744"/>
         <source>0.075 Real Kveik</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="740"/>
+        <location filename="../src/EditProductTab6.cpp" line="745"/>
         <source>0.75  Ale, upto 1.060</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="741"/>
+        <location filename="../src/EditProductTab6.cpp" line="746"/>
         <source>1.0   Ale, above 1.060</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="742"/>
+        <location filename="../src/EditProductTab6.cpp" line="747"/>
         <source>1.5   Lager, upto 1.060</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="743"/>
+        <location filename="../src/EditProductTab6.cpp" line="748"/>
         <source>2.0   Lager, above 1.060</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="774"/>
+        <location filename="../src/EditProductTab6.cpp" line="779"/>
         <source>Retry starter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="774"/>
+        <location filename="../src/EditProductTab6.cpp" line="779"/>
         <source>Retry to automatic create starter steps</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="808"/>
-        <source>Start step type:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/EditProductTab6.cpp" line="813"/>
+        <source>Start step type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/EditProductTab6.cpp" line="818"/>
         <source>Starter step volume:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="820"/>
+        <location filename="../src/EditProductTab6.cpp" line="825"/>
         <source>Stirred</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="821"/>
+        <location filename="../src/EditProductTab6.cpp" line="826"/>
         <source>Shaken</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="822"/>
+        <location filename="../src/EditProductTab6.cpp" line="827"/>
         <source>Simple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="907"/>
+        <location filename="../src/EditProductTab6.cpp" line="912"/>
         <source>Delete yeast</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="1032"/>
-        <location filename="../src/EditProductTab6.cpp" line="1218"/>
+        <location filename="../src/EditProductTab6.cpp" line="1069"/>
+        <location filename="../src/EditProductTab6.cpp" line="1258"/>
         <source>Total packs:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="1185"/>
+        <location filename="../src/EditProductTab6.cpp" line="1227"/>
         <source>Yeast name:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="1190"/>
-        <location filename="../src/EditProductTab6.cpp" line="1195"/>
+        <location filename="../src/EditProductTab6.cpp" line="1232"/>
+        <location filename="../src/EditProductTab6.cpp" line="1237"/>
         <source>Laboratory:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="1200"/>
+        <location filename="../src/EditProductTab6.cpp" line="1242"/>
         <source>Select yeast:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="1211"/>
+        <location filename="../src/EditProductTab6.cpp" line="1252"/>
         <source>Select package:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="1283"/>
+        <location filename="../src/EditProductTab6.cpp" line="1321"/>
         <source>Tertiary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="1284"/>
+        <location filename="../src/EditProductTab6.cpp" line="1322"/>
         <source>Bottle</source>
         <translation type="unfinished"></translation>
     </message>
--- a/translations/bmsapp_nl.ts	Tue Jan 31 16:24:11 2023 +0100
+++ b/translations/bmsapp_nl.ts	Thu Feb 02 15:23:18 2023 +0100
@@ -4846,7 +4846,7 @@
         <location filename="../src/EditProductTab3.cpp" line="730"/>
         <location filename="../src/EditProductTab4.cpp" line="361"/>
         <location filename="../src/EditProductTab5.cpp" line="399"/>
-        <location filename="../src/EditProductTab6.cpp" line="907"/>
+        <location filename="../src/EditProductTab6.cpp" line="912"/>
         <location filename="../src/EditProductTab7.cpp" line="306"/>
         <location filename="../src/EditProductTab13.cpp" line="279"/>
         <location filename="../src/EditProduct.cpp" line="910"/>
@@ -4882,7 +4882,7 @@
     <message>
         <location filename="../src/EditProductTab3.cpp" line="1073"/>
         <location filename="../src/EditProductTab4.cpp" line="633"/>
-        <location filename="../src/EditProductTab6.cpp" line="1227"/>
+        <location filename="../src/EditProductTab6.cpp" line="1267"/>
         <source>Use at:</source>
         <translation>Toevoegen bij:</translation>
     </message>
@@ -4896,7 +4896,7 @@
         <location filename="../src/EditProductTab3.cpp" line="1083"/>
         <location filename="../src/EditProductTab4.cpp" line="643"/>
         <location filename="../src/EditProductTab5.cpp" line="674"/>
-        <location filename="../src/EditProductTab6.cpp" line="1205"/>
+        <location filename="../src/EditProductTab6.cpp" line="1247"/>
         <source>In stock:</source>
         <translation>In voorraad:</translation>
     </message>
@@ -5038,8 +5038,8 @@
         <location filename="../src/EditProductTab4.cpp" line="619"/>
         <location filename="../src/EditProductTab5.cpp" line="525"/>
         <location filename="../src/EditProductTab5.cpp" line="650"/>
-        <location filename="../src/EditProductTab6.cpp" line="1040"/>
-        <location filename="../src/EditProductTab6.cpp" line="1220"/>
+        <location filename="../src/EditProductTab6.cpp" line="1077"/>
+        <location filename="../src/EditProductTab6.cpp" line="1260"/>
         <source>Amount in gr:</source>
         <translation>Gewicht in gr:</translation>
     </message>
@@ -5097,8 +5097,8 @@
     <message>
         <location filename="../src/EditProductTab5.cpp" line="528"/>
         <location filename="../src/EditProductTab5.cpp" line="652"/>
-        <location filename="../src/EditProductTab6.cpp" line="1047"/>
-        <location filename="../src/EditProductTab6.cpp" line="1222"/>
+        <location filename="../src/EditProductTab6.cpp" line="1084"/>
+        <location filename="../src/EditProductTab6.cpp" line="1262"/>
         <source>Amount in ml:</source>
         <translation>Hoeveelheid in ml:</translation>
     </message>
@@ -5109,13 +5109,13 @@
     </message>
     <message>
         <location filename="../src/EditProductTab5.cpp" line="720"/>
-        <location filename="../src/EditProductTab6.cpp" line="1281"/>
+        <location filename="../src/EditProductTab6.cpp" line="1319"/>
         <source>Primary</source>
         <translation>Hoofdgisting</translation>
     </message>
     <message>
         <location filename="../src/EditProductTab5.cpp" line="721"/>
-        <location filename="../src/EditProductTab6.cpp" line="1282"/>
+        <location filename="../src/EditProductTab6.cpp" line="1320"/>
         <source>Secondary</source>
         <translation>Nagisting/lagering</translation>
     </message>
@@ -5201,114 +5201,114 @@
         <translation>Groeifactor</translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="719"/>
+        <location filename="../src/EditProductTab6.cpp" line="724"/>
         <source>BMSapp - Pitchrate</source>
         <translation>BMSapp - Gist enten</translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="731"/>
+        <location filename="../src/EditProductTab6.cpp" line="736"/>
         <source>Beer pitch type:</source>
         <translation>Biergist nodig:</translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="739"/>
+        <location filename="../src/EditProductTab6.cpp" line="744"/>
         <source>0.075 Real Kveik</source>
         <translation>0,075 Echte Kveik</translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="740"/>
+        <location filename="../src/EditProductTab6.cpp" line="745"/>
         <source>0.75  Ale, upto 1.060</source>
         <translation>0,75  Bovengist tot 1.060</translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="741"/>
+        <location filename="../src/EditProductTab6.cpp" line="746"/>
         <source>1.0   Ale, above 1.060</source>
         <translation>1,0   Bovengist hoger 1.060</translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="742"/>
+        <location filename="../src/EditProductTab6.cpp" line="747"/>
         <source>1.5   Lager, upto 1.060</source>
         <translation>1,5   Ondergist tot 1.060</translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="743"/>
+        <location filename="../src/EditProductTab6.cpp" line="748"/>
         <source>2.0   Lager, above 1.060</source>
         <translation>2,0   Ondergist hoger 1.060</translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="774"/>
+        <location filename="../src/EditProductTab6.cpp" line="779"/>
         <source>Retry starter</source>
         <translation>Ververs starter</translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="774"/>
+        <location filename="../src/EditProductTab6.cpp" line="779"/>
         <source>Retry to automatic create starter steps</source>
         <translation>Ververs de starter stappen automatisch</translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="808"/>
-        <source>Start step type:</source>
-        <translation>Starter stap type:</translation>
-    </message>
-    <message>
         <location filename="../src/EditProductTab6.cpp" line="813"/>
+        <source>Start step type:</source>
+        <translation>Starter stap type:</translation>
+    </message>
+    <message>
+        <location filename="../src/EditProductTab6.cpp" line="818"/>
         <source>Starter step volume:</source>
         <translation>Starter stap volume:</translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="820"/>
+        <location filename="../src/EditProductTab6.cpp" line="825"/>
         <source>Stirred</source>
         <translation>Geroerd</translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="821"/>
+        <location filename="../src/EditProductTab6.cpp" line="826"/>
         <source>Shaken</source>
         <translation>Geschud</translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="822"/>
+        <location filename="../src/EditProductTab6.cpp" line="827"/>
         <source>Simple</source>
         <translation>Simpel</translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="907"/>
+        <location filename="../src/EditProductTab6.cpp" line="912"/>
         <source>Delete yeast</source>
         <translation>Verwijder gist</translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="1032"/>
-        <location filename="../src/EditProductTab6.cpp" line="1218"/>
+        <location filename="../src/EditProductTab6.cpp" line="1069"/>
+        <location filename="../src/EditProductTab6.cpp" line="1258"/>
         <source>Total packs:</source>
         <translation>Aantal pakken:</translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="1185"/>
+        <location filename="../src/EditProductTab6.cpp" line="1227"/>
         <source>Yeast name:</source>
         <translation>Gist naam:</translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="1190"/>
-        <location filename="../src/EditProductTab6.cpp" line="1195"/>
+        <location filename="../src/EditProductTab6.cpp" line="1232"/>
+        <location filename="../src/EditProductTab6.cpp" line="1237"/>
         <source>Laboratory:</source>
         <translation>Laboratorium:</translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="1200"/>
+        <location filename="../src/EditProductTab6.cpp" line="1242"/>
         <source>Select yeast:</source>
         <translation>Kies gist:</translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="1211"/>
+        <location filename="../src/EditProductTab6.cpp" line="1252"/>
         <source>Select package:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="1283"/>
+        <location filename="../src/EditProductTab6.cpp" line="1321"/>
         <source>Tertiary</source>
         <translation>Lageren</translation>
     </message>
     <message>
-        <location filename="../src/EditProductTab6.cpp" line="1284"/>
+        <location filename="../src/EditProductTab6.cpp" line="1322"/>
         <source>Bottle</source>
         <translation>Bottelen</translation>
     </message>

mercurial