src/EditProductTab2.cpp

changeset 189
722a4eed545d
parent 184
da148d6b4c95
child 301
fe6346211b5b
equal deleted inserted replaced
188:ff09c95d9e44 189:722a4eed545d
47 ui->trub_chillerlossEdit->setValue(product->eq_trub_chiller_loss); 47 ui->trub_chillerlossEdit->setValue(product->eq_trub_chiller_loss);
48 ui->topup_waterEdit->setValue(product->eq_top_up_water); 48 ui->topup_waterEdit->setValue(product->eq_top_up_water);
49 } 49 }
50 50
51 51
52 void EditProduct::initEquipment()
53 {
54 QSqlQuery query;
55
56 ui->eq_selectEdit->addItem("");
57 query.prepare("SELECT name FROM inventory_equipments ORDER BY name");
58 query.exec();
59 while (query.next()) {
60 ui->eq_selectEdit->addItem(query.value(0).toString());
61 }
62 connect(ui->eq_selectEdit, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &EditProduct::eq_changed);
63
64 showEquipment();
65 }
66
67
68 void EditProduct::eq_changed(int val)
69 {
70 QSqlQuery query;
71
72 if (val == 0)
73 return;
74
75 qDebug() << "equipment changed" << val;
76 query.prepare("SELECT * FROM inventory_equipments ORDER BY name");
77 query.exec();
78 query.first();
79
80 for (int i; i < (val - 1); i++) {
81 query.next();
82 }
83 qDebug() << "got" << query.value("name").toString();
84
85 product->eq_name = query.value("name").toString();
86 product->eq_notes = query.value("notes").toString();
87 product->eq_boil_size = query.value("boil_size").toDouble();
88 product->eq_batch_size = query.value("batch_size").toDouble();
89 product->eq_tun_volume = query.value("tun_volume").toDouble();
90 product->eq_tun_weight = query.value("tun_weight").toDouble();
91 product->eq_tun_specific_heat = query.value("tun_specific_heat").toDouble();
92 product->eq_tun_material = query.value("tun_material").toInt();
93 product->eq_tun_height = query.value("tun_height").toDouble();
94 product->eq_top_up_water = query.value("top_up_water").toDouble();
95 product->eq_trub_chiller_loss = query.value("trub_chiller_loss").toDouble();
96 product->eq_evap_rate = query.value("evap_rate").toDouble();
97 product->eq_boil_time = query.value("boil_time").toDouble();
98 product->eq_calc_boil_volume = query.value("calc_boil_volume").toInt() ? true:false;
99 product->eq_top_up_kettle = query.value("top_up_kettle").toDouble();
100 product->eq_hop_utilization = query.value("hop_utilization").toDouble();
101 product->eq_lauter_volume = query.value("lauter_volume").toDouble();
102 product->eq_lauter_height = query.value("lauter_height").toDouble();
103 product->eq_lauter_deadspace = query.value("lauter_deadspace").toDouble();
104 product->eq_kettle_volume = query.value("kettle_volume").toDouble();
105 product->eq_kettle_height = query.value("kettle_height").toDouble();
106 product->eq_mash_volume = query.value("mash_volume").toDouble();
107 product->eq_mash_max = query.value("mash_max").toDouble();
108 product->eq_efficiency = query.value("efficiency").toDouble();
109 showEquipment();
110
111 /*
112 * Now change some important settings and recalculate the recipe parts.
113 */
114 double factor = product->eq_batch_size / product->batch_size;
115 double estog = product->est_og;
116
117 const QSignalBlocker blocker1(ui->batch_sizeEdit);
118 const QSignalBlocker blocker2(ui->boil_sizeEdit);
119 const QSignalBlocker blocker3(ui->boil_timeEdit);
120 const QSignalBlocker blocker4(ui->efficiencyEdit);
121
122 product->boil_size = product->eq_boil_size;
123 product->boil_time = product->eq_boil_time;
124 product->batch_size = product->eq_batch_size;
125 product->efficiency = product->eq_efficiency;
126 ui->batch_sizeEdit->setValue(product->batch_size);
127 ui->boil_sizeEdit->setValue(product->boil_size);
128 ui->boil_timeEdit->setValue(product->boil_time);
129 ui->efficiencyEdit->setValue(product->efficiency);
130
131 calcFermentablesFromOG(estog);
132 adjustWaters(factor);
133 calcFermentables();
134 adjustHops(factor);
135 adjustMiscs(factor);
136 adjustYeasts(factor);
137 calcIBUs();
138 calcWater();
139 calcMash();
140 is_changed();
141 emit refreshAll();
142 }
143
144

mercurial