--- 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; }