src/EditRecipeTab7.cpp

changeset 152
58e4ce7dd217
parent 150
fd568cc1dd0e
child 161
b36d249512cc
--- a/src/EditRecipeTab7.cpp	Thu Apr 21 17:22:01 2022 +0200
+++ b/src/EditRecipeTab7.cpp	Fri Apr 22 13:46:59 2022 +0200
@@ -226,13 +226,17 @@
 	bicarbonate += (ui->bs_nahco3Edit->value() * MMHCO3 / MMNaHCO3 * 1000 + ui->bs_caco3Edit->value() / 3 * MMHCO3 / MMCaCO3 * 1000) / liters;
     }
 
+    const QSignalBlocker blocker1(ui->mw_acidPick);
+    const QSignalBlocker blocker2(ui->mw_acidpercEdit);
+    const QSignalBlocker blocker3(ui->mw_acidvolEdit);
+    const QSignalBlocker blocker4(ui->wb_phEdit);
+    const QSignalBlocker blocker5(ui->mw_phEdit);
+
     if (recipe->wa_acid_name < 0 || recipe->wa_acid_name >= my_acids.size()) {
 	recipe->wa_acid_name = 0;
 	recipe->wa_acid_perc = my_acids.at(0).AcidPrc;
-	this->ignoreChanges = true;
 	ui->mw_acidPick->setCurrentIndex(0);
 	ui->mw_acidpercEdit->setValue(my_acids.at(0).AcidPrc);
-	this->ignoreChanges = false;
     }
     AT = recipe->wa_acid_name;
 
@@ -258,17 +262,13 @@
 
 	    QString w = my_acids[AT].name_en + ' ' + my_acids[AT].name_nl;
 	    brewing_salt_sub(w, Acid);
-	    this->ignoreChanges = true;
 	    ui->mw_acidvolEdit->setValue(Acid);
-	    this->ignoreChanges = false;
 
 	    bicarbonate = bicarbonate - protonDeficit * frac / liters;
 	    total_alkalinity = bicarbonate * 50 / 61;
 	}
 	ph = TpH;
-	this->ignoreChanges = true;
 	ui->wb_phEdit->setValue(ph);
-	this->ignoreChanges = false;
 	recipe->mash_ph = ph;
     } else { // Manual
 	/*
@@ -306,10 +306,8 @@
 	bicarbonate = wg_bicarbonate - protonDeficit * frac / liters;
 	total_alkalinity = bicarbonate * 50 / 61;
 	ph = pHa;
-	this->ignoreChanges = true;
 	ui->wb_phEdit->setValue(ph);
 	ui->mw_phEdit->setValue(ph);
-	this->ignoreChanges = false;
         recipe->mash_ph = ph;
     }
 
@@ -507,14 +505,13 @@
     QSqlQuery query;
 
     qDebug() << "w1_name_changed" << val;
+    const QSignalBlocker blocker1(ui->w1_nameEdit);
     if (val == 0) {
 	/*
 	 * If no water is selected, take the default water.
 	 */
-	this->ignoreChanges = true;
 	val = my_default_water;
 	ui->w1_nameEdit->setCurrentIndex(val);
-	this->ignoreChanges = false;
     }
 
     query.prepare("SELECT * FROM inventory_waters ORDER BY record");
@@ -525,6 +522,7 @@
     }
     qDebug() << "set water" << query.value(1).toString();
 
+    recipe->w1_name = query.value(1).toString();
     recipe->w1_calcium = query.value(3).toDouble();
     recipe->w1_magnesium = query.value(8).toDouble();
     recipe->w1_total_alkalinity = query.value(11).toDouble();
@@ -554,6 +552,7 @@
     qDebug() << "w2_name_changed" << val;
 
     if (val == 0) {	// Clear water 2.
+	recipe->w2_name = "";
 	recipe->w2_calcium = 0;
 	recipe->w2_magnesium = 0;
 	recipe->w2_total_alkalinity = 0;
@@ -572,6 +571,7 @@
         }
 	qDebug() << "set water" << query.value(1).toString();
 
+	recipe->w2_name = query.value(1).toString();
 	recipe->w2_calcium = query.value(3).toDouble();
         recipe->w2_magnesium = query.value(8).toDouble();
         recipe->w2_total_alkalinity = query.value(11).toDouble();
@@ -646,7 +646,9 @@
   	}
     }
 
-    this->ignoreChanges = true;
+    const QSignalBlocker blocker1(ui->w1_volEdit);
+    const QSignalBlocker blocker2(ui->w2_volEdit);
+
     if (recipe->w2_amount == 0) {
 	recipe->w1_amount = mash_infuse;
 	ui->w1_volEdit->setValue(mash_infuse);
@@ -660,7 +662,6 @@
     }
     recipe->wg_amount = mash_infuse;
     ui->wg_volEdit->setValue(mash_infuse);
-    this->ignoreChanges = false;
 }
 
 

mercurial