src/EditRecipeTab4.cpp

changeset 152
58e4ce7dd217
parent 150
fd568cc1dd0e
child 154
1af9f7b7f317
--- a/src/EditRecipeTab4.cpp	Thu Apr 21 17:22:01 2022 +0200
+++ b/src/EditRecipeTab4.cpp	Fri Apr 22 13:46:59 2022 +0200
@@ -42,11 +42,15 @@
     qDebug() << "refreshMiscs" << recipe->miscs.size();
     std::sort(recipe->miscs.begin(), recipe->miscs.end(), misc_sort_test);
 
-    /*
-     * During filling the table turn off the cellChanged signal because every cell that is filled
-     * triggers the cellChanged signal. The QTableWidget has no better signal to use.
-     */
-    this->ignoreChanges = true;
+    const QSignalBlocker blocker1(ui->bs_cacl2Edit);
+    const QSignalBlocker blocker2(ui->bs_caso4Edit);
+    const QSignalBlocker blocker3(ui->bs_mgso4Edit);
+    const QSignalBlocker blocker4(ui->bs_naclEdit);
+    const QSignalBlocker blocker5(ui->bs_mgcl2Edit);
+    const QSignalBlocker blocker6(ui->bs_nahco3Edit);
+    const QSignalBlocker blocker7(ui->bs_caco3Edit);
+    const QSignalBlocker blocker8(ui->mw_acidPick);
+    const QSignalBlocker blocker9(ui->mw_acidvolEdit);
 
     const QStringList labels({tr("Ingredient"), tr("Type"), tr("Use at"), tr("Time"), tr("Amount"), tr("Delete"), tr("Edit") });
 
@@ -167,7 +171,6 @@
 	    }
 	}
     }
-    this->ignoreChanges = false;
 }
 
 
@@ -245,9 +248,6 @@
  */
 void EditRecipe::set_brewing_salt(QString salt, double val)
 {
-    if (this->ignoreChanges)
-	return;
-
     val = round(val * 100.0) / 100.0;
     qDebug() << "set_brewing_salt" << salt << val;
     brewing_salt_sub(salt, val);
@@ -292,9 +292,7 @@
     if (rc == QMessageBox::No)
         return;
 
-    this->ignoreChanges = true;
     recipe->miscs.removeAt(row);
-    this->ignoreChanges = false;
     is_changed();
     emit refreshAll();
 }
@@ -305,7 +303,6 @@
     QTableWidgetItem *item;
 
     qDebug() << "misc_amount_changed()" << recipe->miscs_row << val;
-    this->ignoreChanges = true;
 
     recipe->miscs[recipe->miscs_row].m_amount = val / 1000.0;
     if (recipe->miscs.at(recipe->miscs_row).m_amount_is_weight) {
@@ -316,7 +313,6 @@
     item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter);
     ui->miscsTable->setItem(recipe->miscs_row, 4, item);
 
-    this->ignoreChanges = false;
     is_changed();
 }
 
@@ -327,7 +323,6 @@
 
     qDebug() << "misc_time_changed()" << recipe->miscs_row << val;
 
-    this->ignoreChanges = true;
     if (recipe->miscs.at(recipe->miscs_row).m_use_use == 2) {       // Boil
 	recipe->miscs[recipe->miscs_row].m_time = val;
 	item = new QTableWidgetItem(QString("%1 min.").arg(val, 1, 'f', 0, '0'));
@@ -340,7 +335,6 @@
     item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter);
     ui->miscsTable->setItem(recipe->miscs_row, 3, item);
 
-    this->ignoreChanges = false;
     is_changed();
 }
 
@@ -376,7 +370,6 @@
     /*
      * Replace the misc record contents
      */
-    this->ignoreChanges = true;
     recipe->miscs[recipe->miscs_row].m_name = query.value(0).toString();
     recipe->miscs[recipe->miscs_row].m_type = query.value(1).toInt();
     recipe->miscs[recipe->miscs_row].m_use_use = query.value(2).toInt();
@@ -427,7 +420,6 @@
     item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter);
     ui->miscsTable->setItem(recipe->miscs_row, 4, item);
 
-    this->ignoreChanges = false;
     is_changed();
     emit refreshAll();
 }
@@ -462,7 +454,6 @@
     QTableWidgetItem *item;
 
     qDebug() << "misc_useat_changed" << val;
-    this->ignoreChanges = true;
     recipe->miscs[recipe->miscs_row].m_use_use = val;
     item = new QTableWidgetItem(m_uses[val]);
     item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter);
@@ -488,7 +479,6 @@
     item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter);
     ui->miscsTable->setItem(recipe->miscs_row, 3, item);
 
-    this->ignoreChanges = false;
     is_changed();
 }
 
@@ -646,7 +636,15 @@
     if (recipe->miscs.size() == 0)
 	return;
 
-    this->ignoreChanges = true;
+    const QSignalBlocker blocker1(ui->bs_cacl2Edit);
+    const QSignalBlocker blocker2(ui->bs_caso4Edit);
+    const QSignalBlocker blocker3(ui->bs_mgso4Edit);
+    const QSignalBlocker blocker4(ui->bs_naclEdit);
+    const QSignalBlocker blocker5(ui->bs_mgcl2Edit);
+    const QSignalBlocker blocker6(ui->bs_nahco3Edit);
+    const QSignalBlocker blocker7(ui->bs_caco3Edit);
+    const QSignalBlocker blocker9(ui->mw_acidvolEdit);
+
     for (int i = 0; i < recipe->miscs.size(); i++) {
 	amount = recipe->miscs.at(i).m_amount * factor;
 	recipe->miscs[i].m_amount = amount;
@@ -680,7 +678,6 @@
             }
         }
     }
-    this->ignoreChanges = false;
 }
 
 

mercurial