src/EditRecipeTab4.cpp

changeset 359
dfbb012c631c
parent 301
fe6346211b5b
child 454
2dfead81c72f
--- a/src/EditRecipeTab4.cpp	Sun Jul 17 22:18:48 2022 +0200
+++ b/src/EditRecipeTab4.cpp	Mon Jul 18 17:04:02 2022 +0200
@@ -51,6 +51,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("Delete"), tr("Edit") });
 
@@ -141,7 +148,7 @@
 	/*
 	 * Update the water agents.
 	 */
-	if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT) {
+	if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT && recipe->miscs.at(i).use_use == MISC_USES_MASH) {
 	    if (recipe->miscs.at(i).name == "CaCl2") {
 		ui->bs_cacl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
 	    } else if (recipe->miscs.at(i).name == "CaSO4") {
@@ -181,6 +188,42 @@
                 ui->mw_acidpercEdit->setValue(my_acids.at(3).AcidPrc);
                 ui->mw_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
 	    }
+	} else if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT && recipe->miscs.at(i).use_use == MISC_USES_SPARGE) {
+            if (recipe->miscs.at(i).name == "CaCl2") {
+                ui->ss_cacl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
+            } else if (recipe->miscs.at(i).name == "CaSO4") {
+                ui->ss_caso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
+            } else if (recipe->miscs.at(i).name == "MgSO4") {
+                ui->ss_mgso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
+            } else if (recipe->miscs.at(i).name == "NaCl") {
+                ui->ss_naclEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
+            } else if (recipe->miscs.at(i).name == "MgCl2") {
+                ui->ss_mgcl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
+            } else if (recipe->miscs.at(i).name == "Melkzuur" || recipe->miscs.at(i).name == "Lactic") {
+                recipe->sparge_acid_type = 0;
+                recipe->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(recipe->miscs.at(i).amount * 1000.0);
+            } else if (recipe->miscs.at(i).name == "Zoutzuur" || recipe->miscs.at(i).name == "Hydrochloric") {
+                recipe->sparge_acid_type = 1;
+                recipe->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(recipe->miscs.at(i).amount * 1000.0);
+            } else if (recipe->miscs.at(i).name == "Fosforzuur" || recipe->miscs.at(i).name == "Phosphoric") {
+                recipe->sparge_acid_type = 2;
+                recipe->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(recipe->miscs.at(i).amount * 1000.0);
+            } else if (recipe->miscs.at(i).name == "Zwavelzuur" || recipe->miscs.at(i).name == "Sulfuric") {
+                recipe->sparge_acid_type = 3;
+                recipe->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(recipe->miscs.at(i).amount * 1000.0);
+            }
 	}
     }
 }
@@ -189,7 +232,7 @@
 /*
  * Manipulate the memory array and update the miscs table.
  */
-void EditRecipe::brewing_salt_sub(QString salt, double val)
+void EditRecipe::brewing_salt_sub(QString salt, double val, int use)
 {
     QTableWidgetItem *item;
 
@@ -199,8 +242,8 @@
 	 * Remove this salt if it is in the table.
 	 */
 	for (int i = 0; i < recipe->miscs.size(); i++) {
-	    if (salt.contains(recipe->miscs.at(i).name)) {
-		qDebug() << "  brewing_salt_sub delete" << salt;
+	    if (salt.contains(recipe->miscs.at(i).name) && recipe->miscs.at(i).use_use == use) {
+		qDebug() << "  brewing_salt_sub delete" << salt << use;
 		recipe->miscs.removeAt(i);
 		refreshMiscs();
 		return;
@@ -214,7 +257,7 @@
      * If it is, update the amount.
      */
     for (int i = 0; i < recipe->miscs.size(); i++) {
-	if (salt.contains(recipe->miscs.at(i).name)) {
+	if (salt.contains(recipe->miscs.at(i).name) && recipe->miscs.at(i).use_use == use) {
 	    recipe->miscs[i].amount = val / 1000.0;
 	    if (recipe->miscs.at(i).amount_is_weight)
             	item = new QTableWidgetItem(QString("%1 gr").arg(val, 3, 'f', 2, '0'));
@@ -240,7 +283,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();
@@ -250,18 +293,18 @@
 	}
     }
 
-    qDebug() << "brewing_salt_sub, nothing done." << salt << val;
+    qDebug() << "brewing_salt_sub, nothing done." << salt << val << use;
 }
 
 
 /*
  * Edit brewing salt and recalculate.
  */
-void EditRecipe::set_brewing_salt(QString salt, double val)
+void EditRecipe::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();
 }
@@ -612,6 +655,7 @@
     useatEdit->addItem(tr("Primary"));
     useatEdit->addItem(tr("Secondary"));
     useatEdit->addItem(tr("Bottling"));
+    useatEdit->addItem(tr("Sparge"));
     useatEdit->setCurrentIndex(recipe->miscs.at(recipe->miscs_row).use_use);
 
     minstockEdit = new QCheckBox(dialog);
@@ -672,6 +716,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 < recipe->miscs.size(); i++) {
 	amount = recipe->miscs.at(i).amount * factor;
@@ -680,7 +729,7 @@
 	/*
          * Update the water agents.
          */
-        if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT) {
+        if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT && recipe->miscs.at(i).use_use == MISC_USES_MASH) {
             if (recipe->miscs.at(i).name == "CaCl2") {
                 ui->bs_cacl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
             } else if (recipe->miscs.at(i).name == "CaSO4") {
@@ -704,6 +753,26 @@
             } else if (recipe->miscs.at(i).name == "Zwavelzuur" || recipe->miscs.at(i).name == "Sulfuric") {
                 ui->mw_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
             }
+	} else if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT && recipe->miscs.at(i).use_use == MISC_USES_SPARGE) {
+            if (recipe->miscs.at(i).name == "CaCl2") {
+                ui->ss_cacl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
+            } else if (recipe->miscs.at(i).name == "CaSO4") {
+                ui->ss_caso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
+            } else if (recipe->miscs.at(i).name == "MgSO4") {
+                ui->ss_mgso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
+            } else if (recipe->miscs.at(i).name == "NaCl") {
+                ui->ss_naclEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
+            } else if (recipe->miscs.at(i).name == "MgCl2") {
+                ui->ss_mgcl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
+            } else if (recipe->miscs.at(i).name == "Melkzuur" || recipe->miscs.at(i).name == "Lactic") {
+                ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
+            } else if (recipe->miscs.at(i).name == "Zoutzuur" || recipe->miscs.at(i).name == "Hydrochloric") {
+                ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
+            } else if (recipe->miscs.at(i).name == "Fosforzuur" || recipe->miscs.at(i).name == "Phosphoric") {
+                ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
+            } else if (recipe->miscs.at(i).name == "Zwavelzuur" || recipe->miscs.at(i).name == "Sulfuric") {
+                ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
+            }
         }
     }
 }

mercurial