src/EditRecipeTab4.cpp

changeset 359
dfbb012c631c
parent 301
fe6346211b5b
child 454
2dfead81c72f
equal deleted inserted replaced
358:d89bc21e2f07 359:dfbb012c631c
49 const QSignalBlocker blocker5(ui->bs_mgcl2Edit); 49 const QSignalBlocker blocker5(ui->bs_mgcl2Edit);
50 const QSignalBlocker blocker6(ui->bs_nahco3Edit); 50 const QSignalBlocker blocker6(ui->bs_nahco3Edit);
51 const QSignalBlocker blocker7(ui->bs_caco3Edit); 51 const QSignalBlocker blocker7(ui->bs_caco3Edit);
52 const QSignalBlocker blocker8(ui->mw_acidPick); 52 const QSignalBlocker blocker8(ui->mw_acidPick);
53 const QSignalBlocker blocker9(ui->mw_acidvolEdit); 53 const QSignalBlocker blocker9(ui->mw_acidvolEdit);
54 const QSignalBlocker blocker10(ui->ss_cacl2Edit);
55 const QSignalBlocker blocker11(ui->ss_caso4Edit);
56 const QSignalBlocker blocker12(ui->ss_mgso4Edit);
57 const QSignalBlocker blocker13(ui->ss_naclEdit);
58 const QSignalBlocker blocker14(ui->ss_mgcl2Edit);
59 const QSignalBlocker blocker15(ui->sp_acidtypeEdit);
60 const QSignalBlocker blocker16(ui->sp_acidvolEdit);
54 61
55 const QStringList labels({tr("Ingredient"), tr("Type"), tr("Use at"), tr("Time"), tr("Amount"), tr("Delete"), tr("Edit") }); 62 const QStringList labels({tr("Ingredient"), tr("Type"), tr("Use at"), tr("Time"), tr("Amount"), tr("Delete"), tr("Edit") });
56 63
57 ui->miscsTable->setColumnCount(7); 64 ui->miscsTable->setColumnCount(7);
58 ui->miscsTable->setColumnWidth(0, 300); /* Ingredient */ 65 ui->miscsTable->setColumnWidth(0, 300); /* Ingredient */
139 } 146 }
140 147
141 /* 148 /*
142 * Update the water agents. 149 * Update the water agents.
143 */ 150 */
144 if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT) { 151 if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT && recipe->miscs.at(i).use_use == MISC_USES_MASH) {
145 if (recipe->miscs.at(i).name == "CaCl2") { 152 if (recipe->miscs.at(i).name == "CaCl2") {
146 ui->bs_cacl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0); 153 ui->bs_cacl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
147 } else if (recipe->miscs.at(i).name == "CaSO4") { 154 } else if (recipe->miscs.at(i).name == "CaSO4") {
148 ui->bs_caso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0); 155 ui->bs_caso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
149 } else if (recipe->miscs.at(i).name == "MgSO4") { 156 } else if (recipe->miscs.at(i).name == "MgSO4") {
179 recipe->wa_acid_perc = my_acids.at(3).AcidPrc; 186 recipe->wa_acid_perc = my_acids.at(3).AcidPrc;
180 ui->mw_acidPick->setCurrentIndex(3); 187 ui->mw_acidPick->setCurrentIndex(3);
181 ui->mw_acidpercEdit->setValue(my_acids.at(3).AcidPrc); 188 ui->mw_acidpercEdit->setValue(my_acids.at(3).AcidPrc);
182 ui->mw_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); 189 ui->mw_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
183 } 190 }
191 } else if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT && recipe->miscs.at(i).use_use == MISC_USES_SPARGE) {
192 if (recipe->miscs.at(i).name == "CaCl2") {
193 ui->ss_cacl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
194 } else if (recipe->miscs.at(i).name == "CaSO4") {
195 ui->ss_caso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
196 } else if (recipe->miscs.at(i).name == "MgSO4") {
197 ui->ss_mgso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
198 } else if (recipe->miscs.at(i).name == "NaCl") {
199 ui->ss_naclEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
200 } else if (recipe->miscs.at(i).name == "MgCl2") {
201 ui->ss_mgcl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
202 } else if (recipe->miscs.at(i).name == "Melkzuur" || recipe->miscs.at(i).name == "Lactic") {
203 recipe->sparge_acid_type = 0;
204 recipe->sparge_acid_perc = my_acids.at(0).AcidPrc;
205 ui->sp_acidtypeEdit->setCurrentIndex(0);
206 ui->sp_acidpercEdit->setValue(my_acids.at(0).AcidPrc);
207 ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
208 } else if (recipe->miscs.at(i).name == "Zoutzuur" || recipe->miscs.at(i).name == "Hydrochloric") {
209 recipe->sparge_acid_type = 1;
210 recipe->sparge_acid_perc = my_acids.at(1).AcidPrc;
211 ui->sp_acidtypeEdit->setCurrentIndex(1);
212 ui->sp_acidpercEdit->setValue(my_acids.at(1).AcidPrc);
213 ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
214 } else if (recipe->miscs.at(i).name == "Fosforzuur" || recipe->miscs.at(i).name == "Phosphoric") {
215 recipe->sparge_acid_type = 2;
216 recipe->sparge_acid_perc = my_acids.at(2).AcidPrc;
217 ui->sp_acidtypeEdit->setCurrentIndex(2);
218 ui->sp_acidpercEdit->setValue(my_acids.at(2).AcidPrc);
219 ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
220 } else if (recipe->miscs.at(i).name == "Zwavelzuur" || recipe->miscs.at(i).name == "Sulfuric") {
221 recipe->sparge_acid_type = 3;
222 recipe->sparge_acid_perc = my_acids.at(3).AcidPrc;
223 ui->sp_acidtypeEdit->setCurrentIndex(3);
224 ui->sp_acidpercEdit->setValue(my_acids.at(3).AcidPrc);
225 ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
226 }
184 } 227 }
185 } 228 }
186 } 229 }
187 230
188 231
189 /* 232 /*
190 * Manipulate the memory array and update the miscs table. 233 * Manipulate the memory array and update the miscs table.
191 */ 234 */
192 void EditRecipe::brewing_salt_sub(QString salt, double val) 235 void EditRecipe::brewing_salt_sub(QString salt, double val, int use)
193 { 236 {
194 QTableWidgetItem *item; 237 QTableWidgetItem *item;
195 238
196 val = round(val * 100.0) / 100.0; 239 val = round(val * 100.0) / 100.0;
197 if (val == 0) { 240 if (val == 0) {
198 /* 241 /*
199 * Remove this salt if it is in the table. 242 * Remove this salt if it is in the table.
200 */ 243 */
201 for (int i = 0; i < recipe->miscs.size(); i++) { 244 for (int i = 0; i < recipe->miscs.size(); i++) {
202 if (salt.contains(recipe->miscs.at(i).name)) { 245 if (salt.contains(recipe->miscs.at(i).name) && recipe->miscs.at(i).use_use == use) {
203 qDebug() << " brewing_salt_sub delete" << salt; 246 qDebug() << " brewing_salt_sub delete" << salt << use;
204 recipe->miscs.removeAt(i); 247 recipe->miscs.removeAt(i);
205 refreshMiscs(); 248 refreshMiscs();
206 return; 249 return;
207 } 250 }
208 } 251 }
212 /* 255 /*
213 * First see if this salt is in the table. 256 * First see if this salt is in the table.
214 * If it is, update the amount. 257 * If it is, update the amount.
215 */ 258 */
216 for (int i = 0; i < recipe->miscs.size(); i++) { 259 for (int i = 0; i < recipe->miscs.size(); i++) {
217 if (salt.contains(recipe->miscs.at(i).name)) { 260 if (salt.contains(recipe->miscs.at(i).name) && recipe->miscs.at(i).use_use == use) {
218 recipe->miscs[i].amount = val / 1000.0; 261 recipe->miscs[i].amount = val / 1000.0;
219 if (recipe->miscs.at(i).amount_is_weight) 262 if (recipe->miscs.at(i).amount_is_weight)
220 item = new QTableWidgetItem(QString("%1 gr").arg(val, 3, 'f', 2, '0')); 263 item = new QTableWidgetItem(QString("%1 gr").arg(val, 3, 'f', 2, '0'));
221 else 264 else
222 item = new QTableWidgetItem(QString("%1 ml").arg(val, 3, 'f', 2, '0')); 265 item = new QTableWidgetItem(QString("%1 ml").arg(val, 3, 'f', 2, '0'));
238 qDebug() << " found it, append"; 281 qDebug() << " found it, append";
239 Miscs m; 282 Miscs m;
240 m.name = query.value(1).toString(); 283 m.name = query.value(1).toString();
241 m.amount = val / 1000.0; 284 m.amount = val / 1000.0;
242 m.type = query.value(2).toInt(); 285 m.type = query.value(2).toInt();
243 m.use_use = query.value(3).toInt(); 286 m.use_use = use;
244 m.time = query.value(4).toDouble(); 287 m.time = query.value(4).toDouble();
245 m.amount_is_weight = query.value(5).toInt() ? true:false; 288 m.amount_is_weight = query.value(5).toInt() ? true:false;
246 m.cost = query.value(10).toDouble(); 289 m.cost = query.value(10).toDouble();
247 recipe->miscs.append(m); 290 recipe->miscs.append(m);
248 refreshMiscs(); 291 refreshMiscs();
249 return; 292 return;
250 } 293 }
251 } 294 }
252 295
253 qDebug() << "brewing_salt_sub, nothing done." << salt << val; 296 qDebug() << "brewing_salt_sub, nothing done." << salt << val << use;
254 } 297 }
255 298
256 299
257 /* 300 /*
258 * Edit brewing salt and recalculate. 301 * Edit brewing salt and recalculate.
259 */ 302 */
260 void EditRecipe::set_brewing_salt(QString salt, double val) 303 void EditRecipe::set_brewing_salt(QString salt, double val, int use)
261 { 304 {
262 val = round(val * 100.0) / 100.0; 305 val = round(val * 100.0) / 100.0;
263 qDebug() << "set_brewing_salt" << salt << val; 306 qDebug() << "set_brewing_salt" << salt << val << use;
264 brewing_salt_sub(salt, val); 307 brewing_salt_sub(salt, val, use);
265 calcWater(); 308 calcWater();
266 is_changed(); 309 is_changed();
267 } 310 }
268 311
269 312
610 useatEdit->addItem(tr("Mash")); 653 useatEdit->addItem(tr("Mash"));
611 useatEdit->addItem(tr("Boil")); 654 useatEdit->addItem(tr("Boil"));
612 useatEdit->addItem(tr("Primary")); 655 useatEdit->addItem(tr("Primary"));
613 useatEdit->addItem(tr("Secondary")); 656 useatEdit->addItem(tr("Secondary"));
614 useatEdit->addItem(tr("Bottling")); 657 useatEdit->addItem(tr("Bottling"));
658 useatEdit->addItem(tr("Sparge"));
615 useatEdit->setCurrentIndex(recipe->miscs.at(recipe->miscs_row).use_use); 659 useatEdit->setCurrentIndex(recipe->miscs.at(recipe->miscs_row).use_use);
616 660
617 minstockEdit = new QCheckBox(dialog); 661 minstockEdit = new QCheckBox(dialog);
618 minstockEdit->setObjectName(QString::fromUtf8("minstockEdit")); 662 minstockEdit->setObjectName(QString::fromUtf8("minstockEdit"));
619 minstockEdit->setGeometry(QRect(655, 40, 85, 21)); 663 minstockEdit->setGeometry(QRect(655, 40, 85, 21));
670 const QSignalBlocker blocker4(ui->bs_naclEdit); 714 const QSignalBlocker blocker4(ui->bs_naclEdit);
671 const QSignalBlocker blocker5(ui->bs_mgcl2Edit); 715 const QSignalBlocker blocker5(ui->bs_mgcl2Edit);
672 const QSignalBlocker blocker6(ui->bs_nahco3Edit); 716 const QSignalBlocker blocker6(ui->bs_nahco3Edit);
673 const QSignalBlocker blocker7(ui->bs_caco3Edit); 717 const QSignalBlocker blocker7(ui->bs_caco3Edit);
674 const QSignalBlocker blocker9(ui->mw_acidvolEdit); 718 const QSignalBlocker blocker9(ui->mw_acidvolEdit);
719 const QSignalBlocker blocker10(ui->ss_cacl2Edit);
720 const QSignalBlocker blocker11(ui->ss_caso4Edit);
721 const QSignalBlocker blocker12(ui->ss_mgso4Edit);
722 const QSignalBlocker blocker13(ui->ss_naclEdit);
723 const QSignalBlocker blocker14(ui->ss_mgcl2Edit);
675 724
676 for (int i = 0; i < recipe->miscs.size(); i++) { 725 for (int i = 0; i < recipe->miscs.size(); i++) {
677 amount = recipe->miscs.at(i).amount * factor; 726 amount = recipe->miscs.at(i).amount * factor;
678 recipe->miscs[i].amount = amount; 727 recipe->miscs[i].amount = amount;
679 728
680 /* 729 /*
681 * Update the water agents. 730 * Update the water agents.
682 */ 731 */
683 if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT) { 732 if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT && recipe->miscs.at(i).use_use == MISC_USES_MASH) {
684 if (recipe->miscs.at(i).name == "CaCl2") { 733 if (recipe->miscs.at(i).name == "CaCl2") {
685 ui->bs_cacl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0); 734 ui->bs_cacl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
686 } else if (recipe->miscs.at(i).name == "CaSO4") { 735 } else if (recipe->miscs.at(i).name == "CaSO4") {
687 ui->bs_caso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0); 736 ui->bs_caso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
688 } else if (recipe->miscs.at(i).name == "MgSO4") { 737 } else if (recipe->miscs.at(i).name == "MgSO4") {
702 } else if (recipe->miscs.at(i).name == "Fosforzuur" || recipe->miscs.at(i).name == "Phosphoric") { 751 } else if (recipe->miscs.at(i).name == "Fosforzuur" || recipe->miscs.at(i).name == "Phosphoric") {
703 ui->mw_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); 752 ui->mw_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
704 } else if (recipe->miscs.at(i).name == "Zwavelzuur" || recipe->miscs.at(i).name == "Sulfuric") { 753 } else if (recipe->miscs.at(i).name == "Zwavelzuur" || recipe->miscs.at(i).name == "Sulfuric") {
705 ui->mw_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0); 754 ui->mw_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
706 } 755 }
756 } else if (recipe->miscs.at(i).type == MISC_TYPES_WATER_AGENT && recipe->miscs.at(i).use_use == MISC_USES_SPARGE) {
757 if (recipe->miscs.at(i).name == "CaCl2") {
758 ui->ss_cacl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
759 } else if (recipe->miscs.at(i).name == "CaSO4") {
760 ui->ss_caso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
761 } else if (recipe->miscs.at(i).name == "MgSO4") {
762 ui->ss_mgso4Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
763 } else if (recipe->miscs.at(i).name == "NaCl") {
764 ui->ss_naclEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
765 } else if (recipe->miscs.at(i).name == "MgCl2") {
766 ui->ss_mgcl2Edit->setValue(recipe->miscs.at(i).amount * 1000.0);
767 } else if (recipe->miscs.at(i).name == "Melkzuur" || recipe->miscs.at(i).name == "Lactic") {
768 ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
769 } else if (recipe->miscs.at(i).name == "Zoutzuur" || recipe->miscs.at(i).name == "Hydrochloric") {
770 ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
771 } else if (recipe->miscs.at(i).name == "Fosforzuur" || recipe->miscs.at(i).name == "Phosphoric") {
772 ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
773 } else if (recipe->miscs.at(i).name == "Zwavelzuur" || recipe->miscs.at(i).name == "Sulfuric") {
774 ui->sp_acidvolEdit->setValue(recipe->miscs.at(i).amount * 1000.0);
775 }
707 } 776 }
708 } 777 }
709 } 778 }
710 779
711 780

mercurial