src/EditProductTab5.cpp

changeset 359
dfbb012c631c
parent 305
35ce719998e1
child 435
6f84ab6125ad
--- a/src/EditProductTab5.cpp	Sun Jul 17 22:18:48 2022 +0200
+++ b/src/EditProductTab5.cpp	Mon Jul 18 17:04:02 2022 +0200
@@ -65,6 +65,13 @@
     const QSignalBlocker blocker7(ui->bs_caco3Edit);
     const QSignalBlocker blocker8(ui->mw_acidPick);
     const QSignalBlocker blocker9(ui->mw_acidvolEdit);
+    const QSignalBlocker blocker10(ui->ss_cacl2Edit);
+    const QSignalBlocker blocker11(ui->ss_caso4Edit);
+    const QSignalBlocker blocker12(ui->ss_mgso4Edit);
+    const QSignalBlocker blocker13(ui->ss_naclEdit);
+    const QSignalBlocker blocker14(ui->ss_mgcl2Edit);
+    const QSignalBlocker blocker15(ui->sp_acidtypeEdit);
+    const QSignalBlocker blocker16(ui->sp_acidvolEdit);
 
     const QStringList labels({tr("Ingredient"), tr("Type"), tr("Use at"), tr("Time"), tr("Amount"), tr("Stock"), tr("Delete"), tr("Edit") });
 
@@ -179,7 +186,7 @@
 	/*
 	 * Update the water agents.
 	 */
-	if (product->miscs.at(i).type == MISC_TYPES_WATER_AGENT) {
+	if (product->miscs.at(i).type == MISC_TYPES_WATER_AGENT && product->miscs.at(i).use_use == MISC_USES_MASH) {
 	    if (product->miscs.at(i).name == "CaCl2") {
 		ui->bs_cacl2Edit->setValue(product->miscs.at(i).amount * 1000.0);
 	    } else if (product->miscs.at(i).name == "CaSO4") {
@@ -219,7 +226,43 @@
                 ui->mw_acidpercEdit->setValue(my_acids.at(3).AcidPrc);
                 ui->mw_acidvolEdit->setValue(product->miscs.at(i).amount * 1000.0);
 	    }
-	}
+	} else if (product->miscs.at(i).type == MISC_TYPES_WATER_AGENT && product->miscs.at(i).use_use == MISC_USES_SPARGE) {
+            if (product->miscs.at(i).name == "CaCl2") {
+                ui->ss_cacl2Edit->setValue(product->miscs.at(i).amount * 1000.0);
+            } else if (product->miscs.at(i).name == "CaSO4") {
+                ui->ss_caso4Edit->setValue(product->miscs.at(i).amount * 1000.0);
+            } else if (product->miscs.at(i).name == "MgSO4") {
+                ui->ss_mgso4Edit->setValue(product->miscs.at(i).amount * 1000.0);
+            } else if (product->miscs.at(i).name == "NaCl") {
+                ui->ss_naclEdit->setValue(product->miscs.at(i).amount * 1000.0);
+            } else if (product->miscs.at(i).name == "MgCl2") {
+                ui->ss_mgcl2Edit->setValue(product->miscs.at(i).amount * 1000.0);
+            } else if (product->miscs.at(i).name == "Melkzuur" || product->miscs.at(i).name == "Lactic") {
+                product->sparge_acid_type = 0;
+                product->sparge_acid_perc = my_acids.at(0).AcidPrc;
+                ui->sp_acidtypeEdit->setCurrentIndex(0);
+                ui->sp_acidpercEdit->setValue(my_acids.at(0).AcidPrc);
+                ui->sp_acidvolEdit->setValue(product->miscs.at(i).amount * 1000.0);
+            } else if (product->miscs.at(i).name == "Zoutzuur" || product->miscs.at(i).name == "Hydrochloric") {
+                product->sparge_acid_type = 1;
+                product->sparge_acid_perc = my_acids.at(1).AcidPrc;
+                ui->sp_acidtypeEdit->setCurrentIndex(1);
+                ui->sp_acidpercEdit->setValue(my_acids.at(1).AcidPrc);
+                ui->sp_acidvolEdit->setValue(product->miscs.at(i).amount * 1000.0);
+            } else if (product->miscs.at(i).name == "Fosforzuur" || product->miscs.at(i).name == "Phosphoric") {
+                product->sparge_acid_type = 2;
+                product->sparge_acid_perc = my_acids.at(2).AcidPrc;
+                ui->sp_acidtypeEdit->setCurrentIndex(2);
+                ui->sp_acidpercEdit->setValue(my_acids.at(2).AcidPrc);
+                ui->sp_acidvolEdit->setValue(product->miscs.at(i).amount * 1000.0);
+            } else if (product->miscs.at(i).name == "Zwavelzuur" || product->miscs.at(i).name == "Sulfuric") {
+                product->sparge_acid_type = 3;
+                product->sparge_acid_perc = my_acids.at(3).AcidPrc;
+                ui->sp_acidtypeEdit->setCurrentIndex(3);
+                ui->sp_acidpercEdit->setValue(my_acids.at(3).AcidPrc);
+                ui->sp_acidvolEdit->setValue(product->miscs.at(i).amount * 1000.0);
+            }
+        }
     }
 }
 
@@ -229,6 +272,7 @@
     product->miscs_ok = true;
     for (int i = 0; i < product->miscs.size(); i++) {
 	if ((((product->inventory_reduced <= PROD_STAGE_BREW)     && (product->miscs.at(i).use_use <= MISC_USES_BOIL)) ||  // Starter, Mash, Boil
+	     ((product->inventory_reduced <= PROD_STAGE_BREW)     && (product->miscs.at(i).use_use == MISC_USES_SPARGE)) ||
              ((product->inventory_reduced <= PROD_STAGE_PRIMARY)  && (product->miscs.at(i).use_use == MISC_USES_PRIMARY)) ||
              ((product->inventory_reduced <= PROD_STAGE_TERTIARY) && (product->miscs.at(i).use_use == MISC_USES_SECONDARY)) ||
              ((product->inventory_reduced <= PROD_STAGE_PACKAGE)  && (product->miscs.at(i).use_use == MISC_USES_BOTTLING))) &&
@@ -242,7 +286,7 @@
 /*
  * Manipulate the memory array and update the miscs table.
  */
-void EditProduct::brewing_salt_sub(QString salt, double val)
+void EditProduct::brewing_salt_sub(QString salt, double val, int use)
 {
     QTableWidgetItem *item;
 
@@ -252,8 +296,8 @@
 	 * Remove this salt if it is in the table.
 	 */
 	for (int i = 0; i < product->miscs.size(); i++) {
-	    if (salt.contains(product->miscs.at(i).name)) {
-		qDebug() << "  brewing_salt_sub delete" << salt;
+	    if (salt.contains(product->miscs.at(i).name) && product->miscs.at(i).use_use == use) {
+		qDebug() << "  brewing_salt_sub delete" << salt << use;
 		product->miscs.removeAt(i);
 		refreshMiscs();
 		return;
@@ -268,7 +312,7 @@
      * If it is, update the amount.
      */
     for (int i = 0; i < product->miscs.size(); i++) {
-	if (salt.contains(product->miscs.at(i).name)) {
+	if (salt.contains(product->miscs.at(i).name) && product->miscs.at(i).use_use == use) {
 	    product->miscs[i].amount = val / 1000.0;
 	    if (product->miscs.at(i).amount_is_weight)
             	item = new QTableWidgetItem(QString("%1 gr").arg(val, 3, 'f', 2, '0'));
@@ -294,7 +338,7 @@
 	    m.name = query.value(1).toString();
             m.amount = val / 1000.0;
             m.type = query.value(2).toInt();
-            m.use_use = query.value(3).toInt();
+            m.use_use = use;
             m.time = query.value(4).toDouble();
             m.amount_is_weight = query.value(5).toInt() ? true:false;
             m.cost = query.value(10).toDouble();
@@ -305,18 +349,18 @@
 	}
     }
 
-    qDebug() << "brewing_salt_sub, nothing done." << salt << val;
+    qDebug() << "brewing_salt_sub, nothing done." << salt << val << use;
 }
 
 
 /*
  * Edit brewing salt and recalculate.
  */
-void EditProduct::set_brewing_salt(QString salt, double val)
+void EditProduct::set_brewing_salt(QString salt, double val, int use)
 {
     val = round(val * 100.0) / 100.0;
-    qDebug() << "set_brewing_salt" << salt << val;
-    brewing_salt_sub(salt, val);
+    qDebug() << "set_brewing_salt" << salt << val << use;
+    brewing_salt_sub(salt, val, use);
     calcWater();
     is_changed();
 }
@@ -677,6 +721,7 @@
     useatEdit->addItem(tr("Primary"));
     useatEdit->addItem(tr("Secondary"));
     useatEdit->addItem(tr("Bottling"));
+    useatEdit->addItem(tr("Sparge"));
     useatEdit->setCurrentIndex(product->miscs.at(product->miscs_row).use_use);
 
     minstockEdit = new QCheckBox(dialog);
@@ -737,6 +782,11 @@
     const QSignalBlocker blocker6(ui->bs_nahco3Edit);
     const QSignalBlocker blocker7(ui->bs_caco3Edit);
     const QSignalBlocker blocker9(ui->mw_acidvolEdit);
+    const QSignalBlocker blocker10(ui->ss_cacl2Edit);
+    const QSignalBlocker blocker11(ui->ss_caso4Edit);
+    const QSignalBlocker blocker12(ui->ss_mgso4Edit);
+    const QSignalBlocker blocker13(ui->ss_naclEdit);
+    const QSignalBlocker blocker14(ui->ss_mgcl2Edit);
 
     for (int i = 0; i < product->miscs.size(); i++) {
 	amount = product->miscs.at(i).amount * factor;
@@ -745,7 +795,7 @@
 	/*
          * Update the water agents.
          */
-        if (product->miscs.at(i).type == MISC_TYPES_WATER_AGENT) {
+        if (product->miscs.at(i).type == MISC_TYPES_WATER_AGENT && product->miscs.at(i).use_use == MISC_USES_MASH) {
             if (product->miscs.at(i).name == "CaCl2") {
                 ui->bs_cacl2Edit->setValue(product->miscs.at(i).amount * 1000.0);
             } else if (product->miscs.at(i).name == "CaSO4") {
@@ -769,6 +819,26 @@
             } else if (product->miscs.at(i).name == "Zwavelzuur" || product->miscs.at(i).name == "Sulfuric") {
                 ui->mw_acidvolEdit->setValue(product->miscs.at(i).amount * 1000.0);
             }
+        } else if (product->miscs.at(i).type == MISC_TYPES_WATER_AGENT && product->miscs.at(i).use_use == MISC_USES_SPARGE) {
+            if (product->miscs.at(i).name == "CaCl2") {
+                ui->ss_cacl2Edit->setValue(product->miscs.at(i).amount * 1000.0);
+            } else if (product->miscs.at(i).name == "CaSO4") {
+                ui->ss_caso4Edit->setValue(product->miscs.at(i).amount * 1000.0);
+            } else if (product->miscs.at(i).name == "MgSO4") {
+                ui->ss_mgso4Edit->setValue(product->miscs.at(i).amount * 1000.0);
+            } else if (product->miscs.at(i).name == "NaCl") {
+                ui->ss_naclEdit->setValue(product->miscs.at(i).amount * 1000.0);
+            } else if (product->miscs.at(i).name == "MgCl2") {
+                ui->ss_mgcl2Edit->setValue(product->miscs.at(i).amount * 1000.0);
+            } else if (product->miscs.at(i).name == "Melkzuur" || product->miscs.at(i).name == "Lactic") {
+                ui->sp_acidvolEdit->setValue(product->miscs.at(i).amount * 1000.0);
+            } else if (product->miscs.at(i).name == "Zoutzuur" || product->miscs.at(i).name == "Hydrochloric") {
+                ui->sp_acidvolEdit->setValue(product->miscs.at(i).amount * 1000.0);
+            } else if (product->miscs.at(i).name == "Fosforzuur" || product->miscs.at(i).name == "Phosphoric") {
+                ui->sp_acidvolEdit->setValue(product->miscs.at(i).amount * 1000.0);
+            } else if (product->miscs.at(i).name == "Zwavelzuur" || product->miscs.at(i).name == "Sulfuric") {
+                ui->sp_acidvolEdit->setValue(product->miscs.at(i).amount * 1000.0);
+            }
         }
     }
 }

mercurial