Completed recipe save record. Recipe name and notes can be edited.

Thu, 07 Apr 2022 19:07:28 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Thu, 07 Apr 2022 19:07:28 +0200
changeset 115
9c90a00fd9dd
parent 114
b027aa2a01d4
child 116
6f415bf6340a

Completed recipe save record. Recipe name and notes can be edited.

src/EditRecipe.cpp file | annotate | diff | comparison | revisions
src/EditRecipe.h file | annotate | diff | comparison | revisions
ui/EditRecipe.ui file | annotate | diff | comparison | revisions
--- a/src/EditRecipe.cpp	Wed Apr 06 22:47:37 2022 +0200
+++ b/src/EditRecipe.cpp	Thu Apr 07 19:07:28 2022 +0200
@@ -343,11 +343,14 @@
 	recipe->st_color_min = 3; recipe->st_color_max = 100;
 	recipe->st_carb_min = 1.0; recipe->st_carb_max = 4.5;
 	recipe->st_abv_min = 1; recipe->st_abv_max = 15;
+	recipe->name = "";
+	recipe->notes = "";
 	recipe->efficiency = 75;
 	recipe->batch_size = 20;
 	recipe->boil_size = 24;
 	recipe->boil_time = 60;
 	recipe->type = 2;
+	recipe->est_og = recipe->est_fg = recipe->est_color = recipe->est_ibu = recipe->est_abv = 0;
 	recipe->sparge_temp = 80;
         recipe->sparge_ph = 5.4;
         recipe->sparge_volume = 8;
@@ -464,8 +467,8 @@
 
     // All signals from tab "Generic"
     connect(ui->lockedEdit, &QCheckBox::stateChanged, this, &EditRecipe::is_changed);
-    connect(ui->nameEdit, &QLineEdit::textChanged, this, &EditRecipe::is_changed);
-    connect(ui->notesEdit, SIGNAL(textChanged()), this, SLOT(is_changed()));
+    connect(ui->nameEdit, &QLineEdit::textChanged, this, &EditRecipe::name_changed);
+    connect(ui->notesEdit, SIGNAL(textChanged()), this, SLOT(notes_changed()));
     connect(ui->typeEdit, &QComboBox::currentTextChanged, this, &EditRecipe::is_changed);
     connect(ui->batch_sizeEdit, &QDoubleSpinBox::textChanged, this, &EditRecipe::is_changed);
     connect(ui->boil_timeEdit, &QSpinBox::textChanged, this, &EditRecipe::is_changed);
@@ -908,18 +911,50 @@
 		"st_og_min=:st_og_min, st_og_max=:st_og_max, st_fg_min=:st_fg_min, st_fg_max=:st_fg_max, "
 		"st_ibu_min=:st_ibu_min, st_ibu_max=:st_ibu_max, st_color_min=:st_color_min, st_color_max=:st_color_max, "
 		"st_carb_min=:st_carb_min, st_carb_max=:st_carb_max, st_abv_min=:st_abv_min, st_abv_max=:st_abv_max, "
-		"name=:name, notes:=notes, type=:type, batch_size=:batch_size, boil_size=:boil_size, "
-		"boil_time=:boil_time, efficiency=:efficiency, "
-		"uuid = :uuid");
+		"name=:name, notes=:notes, type=:type, batch_size=:batch_size, boil_size=:boil_size, "
+		"boil_time=:boil_time, efficiency=:efficiency, sparge_temp=:sparge_temp, sparge_ph=:sparge_ph, "
+		"sparge_volume=:sparge_volume, sparge_source=:sparge_source, sparge_acid_type=:sparge_acid_type, "
+		"sparge_acid_perc=:sparge_acid_perc, sparge_acid_amount=:sparge_acid_amount, mash_ph=:mash_ph, "
+		"mash_name=:mash_name, calc_acid=:calc_acid, "
+		"w1_name=:w1_name, w1_amount=:w1_amount, w1_calcium=:w1_calcium, w1_sulfate=:w1_sulfate, "
+		"w1_chloride=:w1_chloride, w1_sodium=:w1_sodium, w1_magnesium=:w1_magnesium, "
+		"w1_total_alkalinity=:w1_total_alkalinity, w1_ph=:w1_ph, w1_cost=:w1_cost, "
+		"w2_name=:w2_name, w2_amount=:w2_amount, w2_calcium=:w2_calcium, w2_sulfate=:w2_sulfate, "
+                "w2_chloride=:w2_chloride, w2_sodium=:w2_sodium, w2_magnesium=:w2_magnesium, "
+                "w2_total_alkalinity=:w2_total_alkalinity, w2_ph=:w2_ph, w2_cost=:w2_cost, "
+		"wg_amount=:wg_amount, wg_calcium=:wg_calcium, wg_sulfate=:wg_sulfate, "
+                "wg_chloride=:wg_chloride, wg_sodium=:wg_sodium, wg_magnesium=:wg_magnesium, "
+                "wg_total_alkalinity=:wg_total_alkalinity, wg_ph=:wg_ph, "
+		"wb_calcium=:wb_calcium, wb_sulfate=:wb_sulfate, wb_chloride=:wb_chloride, wb_sodium=:wb_sodium, "
+		"wb_magnesium=:wb_magnesium, wb_total_alkalinity=:wb_total_alkalinity, wb_ph=:wb_ph, "
+		"wa_acid_name=:wa_acid_name, wa_acid_perc=:wa_acid_perc, wa_base_name=:wa_base_name, "
+		"json_fermentables=:json_fermentables, json_hops=:json_hops, json_miscs=:json_miscs, "
+		"json_yeasts=:json_yeasts, json_mashs=:json_mashs, uuid=:uuid");
     	} else {
 	    query.prepare("UPDATE recipes SET locked=:locked, st_name=:st_name, st_letter=:st_letter, "
 		"st_guide=:st_guide, st_category=:st_category, st_category_number=:st_catnr, st_type=:st_type, "
                 "st_og_min=:st_og_min, st_og_max=:st_og_max, st_fg_min=:st_fg_min, st_fg_max=:st_fg_max, "
                 "st_ibu_min=:st_ibu_min, st_ibu_max=:st_ibu_max, st_color_min=:st_color_min, st_color_max=:st_color_max, "
                 "st_carb_min=:st_carb_min, st_carb_max=:st_carb_max, st_abv_min=:st_abv_min, st_abv_max=:st_abv_max, "
-                "name=:name, notes:=notes, type=:type, batch_size=:batch_size, boil_size=:boil_size, "
-		"boil_time=:boil_time, efficiency=:efficiency "
-                " WHERE record = :recno");
+                "name=:name, notes=:notes, type=:type, batch_size=:batch_size, boil_size=:boil_size, "
+		"boil_time=:boil_time, efficiency=:efficiency, sparge_temp=:sparge_temp, sparge_ph=:sparge_ph, "
+		"sparge_volume=:sparge_volume, sparge_source=:sparge_source, sparge_acid_type=:sparge_acid_type, "
+                "sparge_acid_perc=:sparge_acid_perc, sparge_acid_amount=:sparge_acid_amount, mash_ph=:mash_ph, "
+                "mash_name=:mash_name, calc_acid=:calc_acid, "
+                "w1_name=:w1_name, w1_amount=:w1_amount, w1_calcium=:w1_calcium, w1_sulfate=:w1_sulfate, "
+                "w1_chloride=:w1_chloride, w1_sodium=:w1_sodium, w1_magnesium=:w1_magnesium, "
+                "w1_total_alkalinity=:w1_total_alkalinity, w1_ph=:w1_ph, w1_cost=:w1_cost, "
+                "w2_name=:w2_name, w2_amount=:w2_amount, w2_calcium=:w2_calcium, w2_sulfate=:w2_sulfate, "
+                "w2_chloride=:w2_chloride, w2_sodium=:w2_sodium, w2_magnesium=:w2_magnesium, "
+                "w2_total_alkalinity=:w2_total_alkalinity, w2_ph=:w2_ph, w2_cost=:w2_cost, "
+                "wg_amount=:wg_amount, wg_calcium=:wg_calcium, wg_sulfate=:wg_sulfate, "
+                "wg_chloride=:wg_chloride, wg_sodium=:wg_sodium, wg_magnesium=:wg_magnesium, "
+                "wg_total_alkalinity=:wg_total_alkalinity, wg_ph=:wg_ph, "
+                "wb_calcium=:wb_calcium, wb_sulfate=:wb_sulfate, wb_chloride=:wb_chloride, wb_sodium=:wb_sodium, "
+                "wb_magnesium=:wb_magnesium, wb_total_alkalinity=:wb_total_alkalinity, wb_ph=:wb_ph, "
+                "wa_acid_name=:wa_acid_name, wa_acid_perc=:wa_acid_perc, wa_base_name=:wa_base_name, "
+		"json_fermentables=:json_fermentables, json_hops=:json_hops, json_miscs=:json_miscs, "
+                "json_yeasts=:json_yeasts, json_mashs=:json_mashs WHERE record = :recno");
     	}
 	query.bindValue(":locked", recipe->locked ? 1:0);
 	query.bindValue(":st_name", recipe->st_name);
@@ -955,14 +990,208 @@
 	query.bindValue(":est_ibu", round(recipe->est_ibu * 10) / 10);
 	query.bindValue(":ibu_method", recipe->ibu_method);
 	query.bindValue(":est_carb", round(recipe->est_carb * 10) / 10);
+	query.bindValue(":sparge_temp", round(recipe->sparge_temp * 10) / 10);
+	query.bindValue(":sparge_ph", round(recipe->sparge_ph * 100) / 100);
+	query.bindValue(":sparge_volume", round(recipe->sparge_volume * 10) / 10);
+	query.bindValue(":sparge_source", recipe->sparge_source);
+	query.bindValue(":sparge_acid_type", recipe->sparge_acid_type);
+	query.bindValue(":sparge_acid_perc", round(recipe->sparge_acid_perc * 10) / 10);
+	query.bindValue(":sparge_acid_amount", round(recipe->sparge_acid_amount * 100000) / 100000);
+	query.bindValue(":mash_ph", round(recipe->mash_ph * 100) / 100);
+	query.bindValue(":mash_name", recipe->mash_name);
+	query.bindValue(":calc_acid", recipe->calc_acid ?1:0);
+	query.bindValue(":w1_name", recipe->w1_name);
+	query.bindValue(":w1_amount", round(recipe->w1_amount * 10) / 10);
+	query.bindValue(":w1_calcium", round(recipe->w1_calcium * 100000) / 100000);
+	query.bindValue(":w1_sulfate", round(recipe->w1_sulfate * 100000) / 100000);
+	query.bindValue(":w1_chloride", round(recipe->w1_chloride * 100000) / 100000);
+	query.bindValue(":w1_sodium", round(recipe->w1_sodium * 100000) / 100000);
+	query.bindValue(":w1_magnesium", round(recipe->w1_magnesium * 100000) / 100000);
+	query.bindValue(":w1_total_alkalinity", round(recipe->w1_total_alkalinity * 100000) / 100000);
+	query.bindValue(":w1_ph", round(recipe->w1_ph * 100) / 100);
+	query.bindValue(":w1_cost", round(recipe->w1_cost * 100) / 100);
+	query.bindValue(":w2_name", recipe->w2_name);
+        query.bindValue(":w2_amount", round(recipe->w2_amount * 10) / 10);
+        query.bindValue(":w2_calcium", round(recipe->w2_calcium * 100000) / 100000);
+        query.bindValue(":w2_sulfate", round(recipe->w2_sulfate * 100000) / 100000);
+        query.bindValue(":w2_chloride", round(recipe->w2_chloride * 100000) / 100000);
+        query.bindValue(":w2_sodium", round(recipe->w2_sodium * 100000) / 100000);
+        query.bindValue(":w2_magnesium", round(recipe->w2_magnesium * 100000) / 100000);
+        query.bindValue(":w2_total_alkalinity", round(recipe->w2_total_alkalinity * 100000) / 100000);
+        query.bindValue(":w2_ph", round(recipe->w2_ph * 100) / 100);
+        query.bindValue(":w2_cost", round(recipe->w2_cost * 100) / 100);
+	query.bindValue(":wg_amount", round(recipe->wg_amount * 10) / 10);
+        query.bindValue(":wg_calcium", round(recipe->wg_calcium * 100000) / 100000);
+        query.bindValue(":wg_sulfate", round(recipe->wg_sulfate * 100000) / 100000);
+        query.bindValue(":wg_chloride", round(recipe->wg_chloride * 100000) / 100000);
+        query.bindValue(":wg_sodium", round(recipe->wg_sodium * 100000) / 100000);
+        query.bindValue(":wg_magnesium", round(recipe->wg_magnesium * 100000) / 100000);
+        query.bindValue(":wg_total_alkalinity", round(recipe->wg_total_alkalinity * 100000) / 100000);
+        query.bindValue(":wg_ph", round(recipe->wg_ph * 100) / 100);
+	query.bindValue(":wb_calcium", round(recipe->wb_calcium * 100000) / 100000);
+        query.bindValue(":wb_sulfate", round(recipe->wb_sulfate * 100000) / 100000);
+        query.bindValue(":wb_chloride", round(recipe->wb_chloride * 100000) / 100000);
+        query.bindValue(":wb_sodium", round(recipe->wb_sodium * 100000) / 100000);
+        query.bindValue(":wb_magnesium", round(recipe->wb_magnesium * 100000) / 100000);
+        query.bindValue(":wb_total_alkalinity", round(recipe->wb_total_alkalinity * 100000) / 100000);
+        query.bindValue(":wb_ph", round(recipe->wb_ph * 100) / 100);
+	query.bindValue(":wa_acid_name", recipe->wa_acid_name);
+	query.bindValue(":wa_acid_perc", round(recipe->wa_acid_perc * 10) / 10);
+	query.bindValue(":wa_base_name", recipe->wa_base_name);
+
+	if (recipe->fermentables.size() == 0) {
+	    query.bindValue(":json_fermentables", "[]");
+	} else {
+	    QJsonArray array;
+	    for (int i = 0; i < recipe->fermentables.size(); i++) {
+		QJsonObject obj;
+		obj.insert("f_acid_to_ph_57", round(recipe->fermentables.at(i).f_acid_to_ph_57 * 100000) / 100000);
+		obj.insert("f_add_after_boil", recipe->fermentables.at(i).f_add_after_boil);
+		obj.insert("f_added", recipe->fermentables.at(i).f_added);
+		obj.insert("f_adjust_to_total_100", recipe->fermentables.at(i).f_adjust_to_total_100);
+		obj.insert("f_amount", round(recipe->fermentables.at(i).f_added * 10000) / 10000);
+		obj.insert("f_coarse_fine_diff", round(recipe->fermentables.at(i).f_coarse_fine_diff * 10) / 10);
+		obj.insert("f_color", round(recipe->fermentables.at(i).f_color * 10) / 10);
+		obj.insert("f_cost", round(recipe->fermentables.at(i).f_cost * 1000) / 1000);
+		obj.insert("f_di_ph", round(recipe->fermentables.at(i).f_di_ph * 100000) / 100000);
+		obj.insert("f_diastatic_power", round(recipe->fermentables.at(i).f_diastatic_power * 100000) / 100000);
+		obj.insert("f_dissolved_protein", round(recipe->fermentables.at(i).f_dissolved_protein * 10) / 10);
+		obj.insert("f_graintype", recipe->fermentables.at(i).f_graintype);
+		obj.insert("f_max_in_batch", recipe->fermentables.at(i).f_max_in_batch);
+		obj.insert("f_moisture", round(recipe->fermentables.at(i).f_moisture * 10) / 10);
+		obj.insert("f_name", recipe->fermentables.at(i).f_name);
+		obj.insert("f_origin", recipe->fermentables.at(i).f_origin);
+		obj.insert("f_percentage", round(recipe->fermentables.at(i).f_percentage * 10) / 10);
+		obj.insert("f_protein", round(recipe->fermentables.at(i).f_protein * 10) / 10);
+		obj.insert("f_recommend_mash", recipe->fermentables.at(i).f_recommend_mash);
+		obj.insert("f_supplier", recipe->fermentables.at(i).f_supplier);
+		obj.insert("f_type", recipe->fermentables.at(i).f_type);
+		obj.insert("f_yield", round(recipe->fermentables.at(i).f_yield * 10) / 10);
+//		qDebug() << "fermentable_Json" << i << obj;
+		array.append(obj);      /* Append this object */
+	    }
+//	    qDebug() << array;
+	    query.bindValue(":json_fermentables", array);
+	}
+
+	if (recipe->hops.size() == 0) {
+            query.bindValue(":json_hops", "[]");
+        } else {
+            QJsonArray array;
+            for (int i = 0; i < recipe->hops.size(); i++) {
+                QJsonObject obj;
+		obj.insert("h_name", recipe->hops.at(i).h_name);
+                obj.insert("h_origin", recipe->hops.at(i).h_origin);
+		obj.insert("h_amount", round(recipe->hops.at(i).h_amount * 10000) / 10000);
+		obj.insert("h_cost", round(recipe->hops.at(i).h_cost * 100) / 100);
+		obj.insert("h_type", recipe->hops.at(i).h_type);
+		obj.insert("h_form", recipe->hops.at(i).h_form);
+		obj.insert("h_useat", recipe->hops.at(i).h_useat);
+		obj.insert("h_time", recipe->hops.at(i).h_time);
+		obj.insert("h_alpha", round(recipe->hops.at(i).h_alpha * 100) / 100);
+		obj.insert("h_beta", round(recipe->hops.at(i).h_beta * 100) / 100);
+		obj.insert("h_hsi", round(recipe->hops.at(i).h_hsi * 100) / 100);
+		obj.insert("h_humulene", round(recipe->hops.at(i).h_humulene * 100) / 100);
+		obj.insert("h_caryophyllene", round(recipe->hops.at(i).h_caryophyllene * 100) / 100);
+		obj.insert("h_cohumulone", round(recipe->hops.at(i).h_cohumulone * 100) / 100);
+		obj.insert("h_myrcene", round(recipe->hops.at(i).h_myrcene * 100) / 100);
+		obj.insert("h_total_oil", round(recipe->hops.at(i).h_total_oil * 100) / 100);
+		qDebug() << "hops_Json" << i << obj;
+                array.append(obj);      /* Append this object */
+            }
+//            qDebug() << array;
+            query.bindValue(":json_hops", array);
+        }
+
+	if (recipe->miscs.size() == 0) {
+            query.bindValue(":json_miscs", "[]");
+        } else {
+            QJsonArray array;
+            for (int i = 0; i < recipe->miscs.size(); i++) {
+                QJsonObject obj;
+		obj.insert("m_name", recipe->miscs.at(i).m_name);
+		obj.insert("m_amount", round(recipe->miscs.at(i).m_amount * 10000) / 10000);
+		obj.insert("m_type", recipe->miscs.at(i).m_type);
+		obj.insert("m_use_use", recipe->miscs.at(i).m_use_use);
+		obj.insert("m_time", recipe->miscs.at(i).m_time);
+		obj.insert("m_amount_is_weight", recipe->miscs.at(i).m_amount_is_weight);
+		obj.insert("m_cost", recipe->miscs.at(i).m_cost);
+                qDebug() << "miscs_Json" << i << obj;
+                array.append(obj);      /* Append this object */
+            }
+//            qDebug() << array;
+            query.bindValue(":json_miscs", array);
+        }
+
+	if (recipe->yeasts.size() == 0) {
+            query.bindValue(":json_yeasts", "[]");
+        } else {
+            QJsonArray array;
+            for (int i = 0; i < recipe->yeasts.size(); i++) {
+                QJsonObject obj;
+		obj.insert("y_name", recipe->yeasts.at(i).y_name);
+		obj.insert("y_laboratory", recipe->yeasts.at(i).y_laboratory);
+		obj.insert("y_product_id", recipe->yeasts.at(i).y_product_id);
+		obj.insert("y_amount", round(recipe->yeasts.at(i).y_amount * 10000) / 10000);
+		obj.insert("y_type", recipe->yeasts.at(i).y_type);
+		obj.insert("y_form", recipe->yeasts.at(i).y_form);
+		obj.insert("y_min_temperature", round(recipe->yeasts.at(i).y_min_temperature * 10) / 10);
+		obj.insert("y_max_temperature", round(recipe->yeasts.at(i).y_max_temperature * 10) / 10);
+		obj.insert("y_flocculation", recipe->yeasts.at(i).y_flocculation);
+		obj.insert("y_attenuation", round(recipe->yeasts.at(i).y_attenuation * 10) / 10);
+		obj.insert("y_cells", recipe->yeasts.at(i).y_cells);
+		obj.insert("y_tolerance", round(recipe->yeasts.at(i).y_tolerance * 10) / 10);
+		obj.insert("y_inventory", round(recipe->yeasts.at(i).y_inventory * 10000) / 10000);
+		obj.insert("y_use", recipe->yeasts.at(i).y_use);
+		obj.insert("y_sta1", recipe->yeasts.at(i).y_sta1);
+		obj.insert("y_bacteria", recipe->yeasts.at(i).y_bacteria);
+		obj.insert("y_harvest_top", recipe->yeasts.at(i).y_harvest_top);
+		obj.insert("y_harvest_time", recipe->yeasts.at(i).y_harvest_time);
+		obj.insert("y_pitch_temperature", round(recipe->yeasts.at(i).y_pitch_temperature * 10) / 10);
+		obj.insert("y_pofpos", recipe->yeasts.at(i).y_pofpos);
+		obj.insert("y_zymocide", recipe->yeasts.at(i).y_zymocide);
+		obj.insert("y_gr_hl_lo", recipe->yeasts.at(i).y_gr_hl_lo);
+		obj.insert("y_sg_lo", round(recipe->yeasts.at(i).y_sg_lo * 1000) / 1000);
+		obj.insert("y_gr_hl_hi", recipe->yeasts.at(i).y_gr_hl_hi);
+		obj.insert("y_sg_hi", round(recipe->yeasts.at(i).y_sg_hi * 1000) / 1000);
+		obj.insert("y_cost", recipe->yeasts.at(i).y_cost);
+                qDebug() << "yeasts_Json" << i << obj;
+                array.append(obj);      /* Append this object */
+            }
+//            qDebug() << array;
+            query.bindValue(":json_yeasts", array);
+        }
+
+	if (recipe->mashs.size() == 0) {
+            query.bindValue(":json_mashs", "[]");
+        } else {
+            QJsonArray array;
+            for (int i = 0; i < recipe->mashs.size(); i++) {
+                QJsonObject obj;
+		obj.insert("step_name", recipe->mashs.at(i).step_name);
+		obj.insert("step_type", recipe->mashs.at(i).step_type);
+		obj.insert("step_volume", round(recipe->mashs.at(i).step_volume * 100) / 100);
+		obj.insert("step_infuse_amount", round(recipe->mashs.at(i).step_infuse_amount * 100) / 100);
+		obj.insert("step_infuse_temp", round(recipe->mashs.at(i).step_infuse_temp * 100) / 100);
+		obj.insert("step_temp", round(recipe->mashs.at(i).step_temp * 100) / 100);
+		obj.insert("step_time", round(recipe->mashs.at(i).step_time * 100) / 100);
+		obj.insert("ramp_time", round(recipe->mashs.at(i).ramp_time * 100) / 100);
+		obj.insert("end_temp", round(recipe->mashs.at(i).end_temp * 100) / 100);
+		obj.insert("step_wg_ratio", round(recipe->mashs.at(i).step_wg_ratio * 100) / 100);
+                qDebug() << "mashs_Json" << i << obj;
+                array.append(obj);      /* Append this object */
+            }
+//            qDebug() << array;
+            query.bindValue(":json_mashs", array);
+        }
 
 	if (this->recno == -1) {
 	    query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36));
 	} else {
 	    query.bindValue(":recno", this->recno);
 	}
+	query.exec();
 	qDebug() << query.lastQuery();
-//	query.exec();
 	if (query.lastError().isValid()) {
 	    qDebug() << "EditRecipe" << query.lastError();
 	    QMessageBox::warning(this, tr("Database error"),
@@ -1013,6 +1242,21 @@
 }
 
 
+void EditRecipe::name_changed(QString name)
+{
+    recipe->name = name;
+    is_changed();
+}
+
+
+void EditRecipe::notes_changed()
+{
+    /* The text cannot be passed in a simple way :) */
+    recipe->notes = ui->notesEdit->toPlainText();
+    is_changed();
+}
+
+
 /*
  * New beerstyle is selected.
  */
--- a/src/EditRecipe.h	Wed Apr 06 22:47:37 2022 +0200
+++ b/src/EditRecipe.h	Thu Apr 07 19:07:28 2022 +0200
@@ -212,9 +212,9 @@
     double      wb_magnesium;
     double      wb_total_alkalinity;
     double      wb_ph;
-    double	wa_acid_name;
+    int		wa_acid_name;
     double	wa_acid_perc;
-    double	wa_base_name;
+    int		wa_base_name;
 
     QList<Fermentables>	fermentables;
     QList<Hops>		hops;
@@ -256,6 +256,8 @@
     void on_quitButton_clicked();
     void on_deleteButton_clicked();
     void is_changed();
+    void name_changed(QString);
+    void notes_changed();
     void style_changed();
     void colormethod_changed();
     void refreshFermentables();
--- a/ui/EditRecipe.ui	Wed Apr 06 22:47:37 2022 +0200
+++ b/ui/EditRecipe.ui	Thu Apr 07 19:07:28 2022 +0200
@@ -95,7 +95,7 @@
        <enum>QTabWidget::Rounded</enum>
       </property>
       <property name="currentIndex">
-       <number>1</number>
+       <number>0</number>
       </property>
       <property name="elideMode">
        <enum>Qt::ElideNone</enum>

mercurial