201 { |
201 { |
202 qDebug() << Q_FUNC_INFO; |
202 qDebug() << Q_FUNC_INFO; |
203 |
203 |
204 QSqlQuery query("SELECT * FROM inventory_hops ORDER BY origin,name"); |
204 QSqlQuery query("SELECT * FROM inventory_hops ORDER BY origin,name"); |
205 const QStringList types({ "Bittering", "Aroma", "Both" }); |
205 const QStringList types({ "Bittering", "Aroma", "Both" }); |
206 const QStringList forms({ "Pellet", "Plug", "Leaf", "Leaf", "Pellet" }); |
206 const QStringList forms({ "Pellet", "Plug", "Leaf", "Leaf", "Pellet", "Pellet", "Pellet" }); |
207 /* "Leaf Wet", "Cryo" */ |
207 /* "Leaf Wet", "Cryo", "CO2extract", "ISOextract" */ |
208 /* We use more hop forms then beerxml knows about, so we send known names */ |
208 /* We use more hop forms then beerxml knows about, so we send known names */ |
209 /* instead of what we internally use. */ |
209 /* instead of what we internally use. */ |
210 |
210 |
211 QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"), QDir::homePath() + "/hops.xml", tr("Files (*.xml)")); |
211 QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"), QDir::homePath() + "/hops.xml", tr("Files (*.xml)")); |
212 if (fileName == 0) { |
212 if (fileName == 0) { |
225 |
225 |
226 query.first(); |
226 query.first(); |
227 for (int i = 0 ; i < query.size() ; i++ ) { |
227 for (int i = 0 ; i < query.size() ; i++ ) { |
228 xmlWriter->writeStartElement("HOP"); |
228 xmlWriter->writeStartElement("HOP"); |
229 xmlWriter->writeTextElement("VERSION", "1"); |
229 xmlWriter->writeTextElement("VERSION", "1"); |
230 xmlWriter->writeTextElement("NAME", query.value(1).toString()); |
230 xmlWriter->writeTextElement("NAME", query.value("name").toString()); |
231 if (query.value(11).toString().length()) |
231 if (query.value(11).toString().length()) |
232 xmlWriter->writeTextElement("NOTES", query.value(11).toString()); |
232 xmlWriter->writeTextElement("NOTES", query.value("notes").toString()); |
233 xmlWriter->writeTextElement("ALWAYS_ON_STOCK", query.value(14).toInt() ? "TRUE":"FALSE"); |
233 xmlWriter->writeTextElement("ALWAYS_ON_STOCK", query.value("always_on_stock").toInt() ? "TRUE":"FALSE"); |
234 xmlWriter->writeTextElement("ALPHA", QString::number(query.value(2).toDouble(), 'f', 4)); |
234 xmlWriter->writeTextElement("ALPHA", QString::number(query.value("alpha").toDouble(), 'f', 4)); |
235 xmlWriter->writeTextElement("BETA", QString::number(query.value(3).toDouble(), 'f', 4)); |
235 xmlWriter->writeTextElement("BETA", QString::number(query.value("beta").toDouble(), 'f', 4)); |
236 xmlWriter->writeTextElement("HUMULENE", QString::number(query.value(4).toDouble(), 'f', 4)); |
236 xmlWriter->writeTextElement("HUMULENE", QString::number(query.value("humulene").toDouble(), 'f', 4)); |
237 xmlWriter->writeTextElement("CAROPHYLLENE", QString::number(query.value(5).toDouble(), 'f', 4)); |
237 xmlWriter->writeTextElement("CAROPHYLLENE", QString::number(query.value("caryophyllene").toDouble(), 'f', 4)); |
238 xmlWriter->writeTextElement("COHUMULONE", QString::number(query.value(6).toDouble(), 'f', 4)); |
238 xmlWriter->writeTextElement("COHUMULONE", QString::number(query.value("cohumulone").toDouble(), 'f', 4)); |
239 xmlWriter->writeTextElement("MYRCENE", QString::number(query.value(7).toDouble(), 'f', 4)); |
239 xmlWriter->writeTextElement("MYRCENE", QString::number(query.value("myrcene").toDouble(), 'f', 4)); |
240 xmlWriter->writeTextElement("TOTAL_OIL", QString::number(query.value(19).toDouble(), 'f', 4)); |
240 xmlWriter->writeTextElement("TOTAL_OIL", QString::number(query.value("total_oil").toDouble(), 'f', 4)); |
241 xmlWriter->writeTextElement("HSI", QString::number(query.value(8).toDouble(), 'f', 4)); |
241 xmlWriter->writeTextElement("HSI", QString::number(query.value("hsi").toDouble(), 'f', 4)); |
242 xmlWriter->writeTextElement("TYPE", types[query.value(9).toInt()]); |
242 xmlWriter->writeTextElement("TYPE", types[query.value("type").toInt()]); |
243 xmlWriter->writeTextElement("FORM", forms[query.value(10).toInt()]); |
243 xmlWriter->writeTextElement("FORM", forms[query.value("form").toInt()]); |
244 xmlWriter->writeTextElement("ORIGIN", query.value(12).toString()); |
244 xmlWriter->writeTextElement("BMS_FORM", g_hop_forms[query.value("form").toInt()]); |
245 if (query.value(13).toString().length()) |
245 xmlWriter->writeTextElement("BMS_UTILISATION", QString::number(query.value("utilisation").toDouble(), 'f', 4)); |
246 xmlWriter->writeTextElement("SUBSTITUTES", query.value(13).toString()); |
246 xmlWriter->writeTextElement("BMS_BU_FACTOR", QString::number(query.value("bu_factor").toDouble(), 'f', 4)); |
247 if (query.value(16).toDouble() > 0) |
247 xmlWriter->writeTextElement("ORIGIN", query.value("origin").toString()); |
248 xmlWriter->writeTextElement("COST", QString::number(query.value(16).toDouble(), 'f', 4)); |
248 if (query.value("substitutes").toString().length()) |
|
249 xmlWriter->writeTextElement("SUBSTITUTES", query.value("substitutes").toString()); |
|
250 if (query.value("cost").toDouble() > 0) |
|
251 xmlWriter->writeTextElement("COST", QString::number(query.value("cost").toDouble(), 'f', 4)); |
249 xmlWriter->writeEndElement(); |
252 xmlWriter->writeEndElement(); |
250 query.next(); |
253 query.next(); |
251 } |
254 } |
252 |
255 |
253 xmlWriter->writeEndElement(); |
256 xmlWriter->writeEndElement(); |