src/EditProduct.cpp

changeset 176
69a033e099a2
parent 175
f1ed3a2a94e9
child 177
62b8d701cd88
--- a/src/EditProduct.cpp	Thu Apr 28 22:49:13 2022 +0200
+++ b/src/EditProduct.cpp	Fri Apr 29 17:07:35 2022 +0200
@@ -61,13 +61,11 @@
 
     query.prepare("SELECT name FROM inventory_waters ORDER BY record");
     query.exec();
-    query.first();
     ui->w1_nameEdit->addItem("");
     ui->w2_nameEdit->addItem("");
-    for (int i = 0; i < query.size(); i++) {
+    while (query.next()) {
 	ui->w1_nameEdit->addItem(query.value(0).toString());
 	ui->w2_nameEdit->addItem(query.value(0).toString());
-	query.next();
     }
 
     query.prepare("SELECT name FROM profile_water ORDER BY name");
@@ -84,13 +82,11 @@
 	ui->mash_pickEdit->addItem(query.value(0).toString());
     }
 
-    ui->beerstyleEdit->addItem("");	// First add a dummy
+    ui->beerstyleEdit->addItem(product->st_name);	// First add a dummy, the current style
     query.prepare("SELECT style_guide,style_letter,name FROM profile_styles ORDER BY style_guide,style_letter,name");
     query.exec();
-    query.first();
-    for (int i = 0; i < query.size(); i++) {
+    while (query.next()) {
 	ui->beerstyleEdit->addItem(query.value(0).toString()+" "+query.value(1).toString()+" "+query.value(2).toString());
-	query.next();
     }
 
     if (id >= 0) {
@@ -566,8 +562,8 @@
 	qDebug() << "mashs" << product->mashs.size();
 
     } else {
-	/* Set some defaults */
-	product->locked = false;
+	/* New product, set some defaults */
+	product->locked = product->log_brew = product->log_fermentation = product->log_ispindel = product->log_co2pressure = false;
 	product->st_name = "";
 	product->st_letter = "";
 	product->st_guide = "";
@@ -580,14 +576,56 @@
 	product->st_color_min = 3; product->st_color_max = 100;
 	product->st_carb_min = 1.0; product->st_carb_max = 4.5;
 	product->st_abv_min = 1; product->st_abv_max = 15;
-	product->name = "";
+	product->eq_name = product->eq_notes = product->name = product->code = "";
+	product->eq_tun_specific_heat = 0.11;
+	product->eq_tun_material = 0;
+	product->eq_tun_volume = product->eq_tun_height = 20;
+	product->eq_tun_weight = 2;
+	product->eq_top_up_water = 0;
+	product->eq_trub_chiller_loss = 0.5;
+	product->eq_evap_rate = 1.8;
+	product->eq_calc_boil_volume = true;
+	product->eq_top_up_kettle = 0;
+	product->eq_hop_utilization = 100;
+	product->eq_lauter_volume = product->eq_lauter_height = product->eq_kettle_volume = product->eq_kettle_height = product->eq_mash_volume = 20;
+	product->eq_lauter_deadspace = 0.5;
+	product->eq_mash_max = 6;
+	product->eq_efficiency = 75;
+	product->birth = QDate::currentDate();
+	product->stage = product->inventory_reduced = PROD_STAGE_PLAN;
 	product->notes = "";
 	product->efficiency = 75;
-	product->batch_size = 20;
-	product->boil_time = 60;
-	product->boil_size = product->batch_size + (round(product->batch_size * product->boil_time / 60.0) / 10.0);
+	product->eq_batch_size = product->batch_size = 20;
+	product->eq_boil_time = product->boil_time = 60;
+	product->eq_boil_size = product->boil_size = product->batch_size + (round(product->batch_size * product->boil_time / 60.0) / 10.0);
 	product->type = 2;
 	product->est_og = product->est_fg = product->est_color = product->est_ibu = product->est_abv = 0;
+	product->brew_date_start = product->brew_date_end = QDateTime();
+	product->brew_mash_ph = product->brew_mash_sg = product->brew_mash_efficiency = 0;
+	product->brew_sparge_temperature = product->brew_sparge_volume = product->brew_sparge_est = product->brew_sparge_ph = 0;
+	product->brew_preboil_volume = product->brew_preboil_sg = product->brew_preboil_ph = product->brew_preboil_efficiency = 0;
+	product->brew_aboil_volume = product->brew_aboil_sg = product->brew_aboil_ph = product->brew_aboil_efficiency = 0;
+	product->brew_cooling_method = product->brew_cooling_time = 0;
+	product->brew_cooling_to = 20;
+	product->brew_whirlpool9 = product->brew_whirlpool7 = product->brew_whirlpool6 = product->brew_whirlpool2 = 0;
+	product->brew_fermenter_volume = product->brew_fermenter_extrawater = product->brew_fermenter_tcloss = 0;
+	product->brew_aeration_time = product->brew_aeration_speed = product->brew_aeration_type = 0;
+	product->brew_fermenter_sg = product->brew_fermenter_ibu = product->brew_fermenter_color = 0;
+	product->og = product->fg = 0;
+	product->primary_start_temp = product->primary_max_temp = product->primary_end_temp = product->primary_end_sg = 0;
+	product->primary_end_date = product->secondary_end_date = QDate();
+	product->secondary_temp = product->secondary_end_sg = product->tertiary_temp = 0;
+	product->package_date = QDate();
+	product->package_volume = product->package_infuse_amount = product->package_infuse_abv = product->package_abv = product->package_ph = 0;
+	product->package_infuse_notes = "";
+	product->bottle_amount = product->bottle_carbonation = product->bottle_priming_amount = product->bottle_carbonation_temp = 0;
+	product->keg_amount = product->keg_carbonation = product->keg_priming_amount = product->keg_priming_water = 0;
+	product->keg_carbonation_temp = product->keg_pressure = 0;
+	product->bottle_priming_water = product->keg_priming_sugar = 0;
+	product->taste_rate = 0;
+	product->taste_date = QDate();
+	product->taste_notes = product->taste_color = product->taste_transparency = product->taste_head = "";
+	product->taste_aroma = product->taste_taste = product->taste_mouthfeel = product->taste_aftertaste = "";
 	product->sparge_temp = 80;
         product->sparge_ph = 5.4;
         product->sparge_volume = 8;
@@ -636,6 +674,14 @@
 	product->wa_acid_name = 0;
 	product->wa_acid_perc = 80;
 	product->wa_base_name = 0;
+	product->starter_enable = false;
+	product->starter_type = product->prop1_type = product->prop2_type = product->prop3_type = product->prop4_type = 0;
+	product->starter_viability = 100;
+	product->starter_sg = 1.037;
+	product->yeast_prod_date = QDate();
+	product->yeast_pitchrate = product->prop1_volume = product->prop2_volume = product->prop3_volume = product->prop4_volume = 0;
+	product->divide_type = product->divide_parts = product->divide_part = 0;
+	product->divide_size = product->divide_factor = 0;
     }
 
     // Tab generic.
@@ -647,12 +693,21 @@
     ui->st_catnrEdit->setText(QString("%1").arg(product->st_category_number));
     ui->st_typeEdit->setText(style_types[product->st_type]);
     ui->nameEdit->setText(product->name);
+    ui->codeEdit->setText(product->code);
+    ui->birthEdit->setText(product->birth.toString("dd MMM yyyy"));
+    ui->stageEdit->setText(prod_stages[product->stage]);
     ui->notesEdit->setPlainText(product->notes);
     ui->typeEdit->setCurrentIndex(product->type);
     ui->batch_sizeEdit->setValue(product->batch_size);
     ui->boil_sizeEdit->setValue(product->boil_size);
     ui->boil_timeEdit->setValue(product->boil_time);
     ui->efficiencyEdit->setValue(product->efficiency);
+    if (product->divide_type > 0)
+	ui->splitatEdit->setText(QString(tr("%1, part %2 of %3").arg(prod_split[product->divide_type])
+								.arg(product->divide_part + 1)
+								.arg(product->divide_parts + 1)));
+    else
+        ui->splitatEdit->setText(prod_split[product->divide_type]);
     ui->est_ogEdit->setValue(product->est_og);
     ui->est_ogShow->setRange(product->st_og_min, product->st_og_max);
     ui->est_ogShow->setPrecision(3);
@@ -687,6 +742,9 @@
     ui->est_carbShow->setRange(product->st_carb_min, product->st_carb_max);
     ui->est_carbShow->setValue(product->est_carb);
 
+    // Tab equipment.
+    showEquipment();
+
     // Tab fermentables.
     ui->est_og2Edit->setValue(product->est_og);
     ui->est_color2Edit->setValue(product->est_color);
@@ -808,6 +866,14 @@
     ui->sp_acidpercEdit->setValue(product->sparge_acid_perc);
     ui->sp_acidvolEdit->setValue(product->sparge_acid_amount);
 
+    // Tab brewday.
+
+    // Tab fermentation.
+
+    // Tab packaging.
+
+    // Tab taste.
+
     // All signals from tab "Generic"
     connect(ui->lockedEdit, &QCheckBox::stateChanged, this, &EditProduct::is_changed);
     connect(ui->nameEdit, &QLineEdit::textChanged, this, &EditProduct::name_changed);

mercurial