src/ImportXML.cpp

Tue, 26 Jul 2022 14:26:50 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Tue, 26 Jul 2022 14:26:50 +0200
changeset 371
d03a426e0b6b
parent 338
473479de8c5b
child 389
a98d45793808
permissions
-rw-r--r--

On the fermenter, iSpindel, carbonation and brewday chart a tooltip with values is shown wheren hovering over the most important data lines. Changed the vertical to horzontal screen layout and added a save button to save the graph as .png image.

275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 /**
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 * ImportXML.cpp is part of bmsapp.
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 *
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 * bmsapp is free software: you can redistribute it and/or modify
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 * it under the terms of the GNU General Public License as published by
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 * the Free Software Foundation, either version 3 of the License, or
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 * (at your option) any later version.
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 *
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 * bmsapp is distributed in the hope that it will be useful,
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 * GNU General Public License for more details.
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 *
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 * You should have received a copy of the GNU General Public License
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 */
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17 #include "ImportXML.h"
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18 #include "../ui/ui_ImportXML.h"
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
19 #include "global.h"
278
ed562a2a4ca4 Finished import fermentables
Michiel Broek <mbroek@mbse.eu>
parents: 277
diff changeset
20 #include "Utils.h"
289
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
21 #include "database/db_recipe.h"
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22 #include "MainWindow.h"
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
24
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
25 ImportXML::ImportXML(QWidget *parent) : QDialog(parent), ui(new Ui::ImportXML)
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26 {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27 qDebug() << "ImportXML start";
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28 ui->setupUi(this);
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29 WindowTitle();
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
30 ui->progressBar->setValue(0);
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
31 connect(ui->quitButton, SIGNAL(clicked()), parent, SLOT(fromImportXML()));
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
32 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
33
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
34
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
35 ImportXML::~ImportXML()
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
36 {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
37 qDebug() << "ImportXML done";
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
38 delete ui;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
39 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
40
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
41
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
42 void ImportXML::WindowTitle()
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
43 {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
44 QString txt = QString(tr("BMSapp - Import XML"));
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
45 setWindowTitle(txt);
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
46 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
47
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
48
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49 void ImportXML::on_openButton_clicked()
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
50 {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
51 QSqlQuery query;
278
ed562a2a4ca4 Finished import fermentables
Michiel Broek <mbroek@mbse.eu>
parents: 277
diff changeset
52 QString log;
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
53 int total = 0, errors = 0;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
54
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
55 QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), QDir::homePath() + "/*.xml", tr("Files (*.xml)"));
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
56 if (fileName == 0) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
57 QMessageBox::warning(this, tr("Open File"), tr("No XML file selected."));
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
58 return;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
59 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
60 ui->fileEdit->setText(fileName);
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
61
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
62 QFile file(fileName);
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
63 qint64 fsize = file.size();
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
64
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
65 log = "Import XML file `" + fileName + "`\n\n";
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
66 qInfo() << "Import XML" << fileName << "length" << fsize << "bytes";
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
67
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
68 file.open(QIODevice::ReadOnly);
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
69 QXmlStreamReader *xml = new QXmlStreamReader(&file);
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
70
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
71 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
72
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
73 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
74 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
75
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
76 if (xml->tokenType() == QXmlStreamReader::StartDocument) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
77 qDebug() << xml->documentVersion() << xml->documentEncoding();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
78 // Just skip
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
79 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "EQUIPMENTS")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
80 /*
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
81 * Equipments
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
82 */
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
83 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
84 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
85 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
86 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "EQUIPMENTS")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
87 qDebug() << "0 /EQUIPMENTS";
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
88 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
89 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
90 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "EQUIPMENT")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
91 /*
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
92 * Equipment
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
93 */
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
94 total++;
281
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
95 Equipment *eq = new Equipment();
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
96 eq->notes = "";
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
97
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
98 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
99 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
100 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
101 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "EQUIPMENT")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
102 query.prepare("INSERT INTO inventory_equipments SET name=:name, boil_size=:boil_size, "
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
103 "batch_size=:batch_size, tun_volume=:tun_volume, tun_weight=:tun_weight, "
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
104 "tun_specific_heat=:tun_specific_heat, tun_material=:tun_material, tun_height=:tun_height, "
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
105 "top_up_water=:top_up_water, trub_chiller_loss=:chiller_loss, evap_rate=:evap_rate, "
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
106 "boil_time=:boil_time, calc_boil_volume=:calcboil, top_up_kettle=:top_up_kettle, "
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
107 "hop_utilization=:hopfactor, notes=:notes, lauter_volume=:lauter_volume, "
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
108 "lauter_height=:lauter_height, lauter_deadspace=:lauter_deadspace, kettle_volume=:kettle_volume, "
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
109 "kettle_height=:kettle_height, mash_volume=:mash_volume, mash_max=:mash_max, "
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
110 "efficiency=:efficiency, uuid=:uuid");
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
111 query.bindValue(":name", eq->name);
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
112 query.bindValue(":boil_size", QString("%1").arg(eq->boil_size, 2, 'f', 1, '0'));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
113 query.bindValue(":batch_size", QString("%1").arg(eq->batch_size, 3, 'f', 2, '0'));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
114 query.bindValue(":tun_volume", QString("%1").arg(eq->tun_volume, 2, 'f', 1, '0'));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
115 query.bindValue(":tun_weight", QString("%1").arg(eq->tun_weight, 2, 'f', 1, '0'));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
116 query.bindValue(":tun_specific_heat", QString("%1").arg(eq->tun_specific_heat, 4, 'f', 3, '0'));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
117 query.bindValue(":tun_material", eq->tun_material);
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
118 query.bindValue(":tun_height", QString("%1").arg(eq->tun_height, 4, 'f', 3, '0'));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
119 query.bindValue(":top_up_water", QString("%1").arg(eq->top_up_water, 2, 'f', 1, '0'));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
120 query.bindValue(":chiller_loss", QString("%1").arg(eq->trub_chiller_loss, 2, 'f', 1, '0'));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
121 /* The evaporation in beerxml is percentage, but we use the real volume per hour */
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
122 query.bindValue(":evap_rate", QString("%1").arg((eq->evap_rate / 100) * eq->boil_size, 3, 'f', 2, '0'));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
123 query.bindValue(":boil_time", QString("%1").arg(eq->boil_time, 1, 'f', 0, '0'));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
124 query.bindValue(":calcboil", eq->calc_boil_volume ? 1:0);
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
125 query.bindValue(":top_up_kettle", QString("%1").arg(eq->top_up_kettle, 2, 'f', 1, '0'));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
126 query.bindValue(":hopfactor", QString("%1").arg(eq->hop_utilization, 1, 'f', 0, '0'));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
127 query.bindValue(":notes", eq->notes);
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
128 query.bindValue(":lauter_volume", QString("%1").arg(eq->lauter_volume, 2, 'f', 1, '0'));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
129 query.bindValue(":lauter_height", QString("%1").arg(eq->lauter_height, 4, 'f', 3, '0'));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
130 query.bindValue(":lauter_deadspace", QString("%1").arg(eq->lauter_deadspace, 2, 'f', 1, '0'));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
131 query.bindValue(":kettle_volume", QString("%1").arg(eq->kettle_volume, 2, 'f', 1, '0'));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
132 query.bindValue(":kettle_height", QString("%1").arg(eq->kettle_height, 4, 'f', 3, '0'));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
133 query.bindValue(":mash_volume", QString("%1").arg(eq->mash_volume, 2, 'f', 1, '0'));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
134 query.bindValue(":mash_max", QString("%1").arg(eq->mash_max, 2, 'f', 1, '0'));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
135 query.bindValue(":efficiency", QString("%1").arg(eq->efficiency, 2, 'f', 1, '0'));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
136 query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36));
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
137 query.exec();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
138 if (query.lastError().isValid()) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
139 qWarning() << query.lastError();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
140 errors++;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
141 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
142 ui->progressBar->setValue(round(100 * xml->characterOffset() / fsize));
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
143 delete eq;
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
144 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
145 }
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
146 if ((xml->tokenType() == QXmlStreamReader::StartElement) &&
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
147 ((xml->name() == "VERSION") || (xml->name() == "DISPLAY_BOIL_SIZE") ||
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
148 (xml->name() == "DISPLAY_BATCH_SIZE") || (xml->name() == "DISPLAY_TUN_VOLUME") ||
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
149 (xml->name() == "DISPLAY_TUN_WEIGHT") || (xml->name() == "DISPLAY_TRUB_CHILLER_LOSS") ||
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
150 (xml->name() == "DISPLAY_LAUTERDEADSPACE") || (xml->name() == "TUN_MATERIAL") ||
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
151 (xml->name() == "ATTENUATION_FACTOR_YEAST") || (xml->name() == "ATTENUATION_FACTOR_WATER_TO_GRAIN_RATIO") ||
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
152 (xml->name() == "ATTENUATION_FACTOR_TOTAL_MASH_TIME") || (xml->name() == "ATTENUATION_FACTOR_PERC_SIMPLE_SUGAR") ||
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
153 (xml->name() == "ATTENUATION_FACTOR_CONSTANT"))) {
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
154 // Ignore.
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
155 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
156 eq->name = xml->readElementText();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
157 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
158 eq->notes = xml->readElementText();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
159 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "BOIL_SIZE")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
160 eq->boil_size = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
161 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "BATCH_SIZE")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
162 eq->batch_size = xml->readElementText().toDouble();
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
163 qDebug() << eq->batch_size;
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
164 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TUN_VOLUME")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
165 eq->tun_volume = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
166 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TUN_WEIGHT")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
167 eq->tun_weight = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
168 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TUN_SPECIFIC_HEAT")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
169 eq->tun_specific_heat = xml->readElementText().toDouble();
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
170 if (eq->tun_specific_heat == 0.22)
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
171 eq->tun_material = 1;
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
172 else if (eq->tun_specific_heat == 0.46)
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
173 eq->tun_material = 2;
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
174 else if (eq->tun_specific_heat == 0.092)
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
175 eq->tun_material = 3;
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
176 else
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
177 eq->tun_material = 0;
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
178 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TUN_HEIGHT")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
179 eq->tun_height = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
180 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TRUB_CHILLER_LOSS")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
181 eq->trub_chiller_loss = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
182 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "EVAP_RATE")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
183 eq->evap_rate = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
184 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "BOIL_TIME")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
185 eq->boil_time = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
186 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CALC_BOIL_VOLUME")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
187 eq->calc_boil_volume = (xml->readElementText() == "TRUE") ? true:false;
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
188 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TOP_UP_KETTLE")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
189 eq->top_up_kettle = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
190 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "HOP_UTILIZATION")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
191 eq->hop_utilization = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
192 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "LAUTER_VOLUME")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
193 eq->lauter_volume = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
194 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "LAUTER_HEIGHT")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
195 eq->lauter_height = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
196 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "LAUTER_DEADSPACE")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
197 eq->lauter_deadspace = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
198 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "KETTLE_VOLUME")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
199 eq->kettle_volume = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
200 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "KETTLE_HEIGHT")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
201 eq->kettle_height = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
202 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MASH_VOLUME")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
203 eq->mash_volume = xml->readElementText().toDouble();
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
204 eq->mash_max = eq->mash_volume / 3;
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
205 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "EFFICIENCY")) {
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
206 eq->efficiency = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
207 } else {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
208 if (xml->tokenType() == QXmlStreamReader::StartElement)
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
209 qDebug() << "2 " << xml->tokenType() << xml->name();
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
210 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
211 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
212 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
213 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
214 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STYLES")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
215 /*
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
216 * Styles
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
217 */
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
218 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
219 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
220 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
221 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "STYLES")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
222 qDebug() << "0 /STYLES";
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
223 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
224 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
225 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STYLE")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
226 /*
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
227 * Style
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
228 */
281
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
229 Style *st = new Style();
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
230 st->notes = st->category = st->style_letter = st->profile = st->ingredients = st->examples = "";
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
231 st->style_guide = "BKG 2019";
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
232 total++;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
233
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
234 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
235 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
236 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
237 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "STYLE")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
238 query.prepare("INSERT INTO profile_styles SET name=:name, category=:category, "
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
239 "category_number=:catnr, style_letter=:group, style_guide=:guide, type=:type, "
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
240 "og_min=:og_min, og_max=:og_max, fg_min=:fg_min, fg_max=:fg_max, ibu_min=:ibu_min, "
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
241 "ibu_max=:ibu_max, color_min=:ebc_min, color_max=:ebc_max, carb_min=:co2_min, "
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
242 "carb_max=:co2_max, abv_min=:abv_min, abv_max=:abv_max, notes=:notes, "
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
243 "profile=:profile, ingredients=:ingredients, examples=:examples, uuid=:uuid");
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
244 query.bindValue(":name", st->name);
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
245 query.bindValue(":category", st->category);
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
246 query.bindValue(":catnr", st->category_number);
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
247 query.bindValue(":group", st->style_letter);
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
248 query.bindValue(":guide", st->style_guide);
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
249 query.bindValue(":type", st->type);
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
250 query.bindValue(":og_min", QString("%1").arg(st->og_min, 4, 'f', 3, '0'));
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
251 query.bindValue(":og_max", QString("%1").arg(st->og_max, 4, 'f', 3, '0'));
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
252 query.bindValue(":fg_min", QString("%1").arg(st->fg_min, 4, 'f', 3, '0'));
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
253 query.bindValue(":fg_max", QString("%1").arg(st->fg_max, 4, 'f', 3, '0'));
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
254 query.bindValue(":ibu_min", QString("%1").arg(st->ibu_min, 1, 'f', 0, '0'));
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
255 query.bindValue(":ibu_max", QString("%1").arg(st->ibu_max, 1, 'f', 0, '0'));
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
256 query.bindValue(":ebc_min", QString("%1").arg(st->color_min, 1, 'f', 0, '0'));
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
257 query.bindValue(":ebc_max", QString("%1").arg(st->color_max, 1, 'f', 0, '0'));
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
258 query.bindValue(":co2_min", QString("%1").arg(st->carb_min, 2, 'f', 1, '0'));
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
259 query.bindValue(":co2_max", QString("%1").arg(st->carb_max, 2, 'f', 1, '0'));
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
260 query.bindValue(":abv_min", QString("%1").arg(st->abv_min, 2, 'f', 1, '0'));
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
261 query.bindValue(":abv_max", QString("%1").arg(st->abv_max, 2, 'f', 1, '0'));
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
262 query.bindValue(":notes", st->notes);
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
263 query.bindValue(":profile", st->profile);
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
264 query.bindValue(":ingredients", st->ingredients);
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
265 query.bindValue(":examples", st->examples);
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
266 query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36));
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
267 query.exec();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
268 if (query.lastError().isValid()) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
269 qWarning() << query.lastError();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
270 errors++;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
271 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
272 ui->progressBar->setValue(round(100 * xml->characterOffset() / fsize));
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
273 delete st;
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
274 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
275 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
276 if ((xml->tokenType() == QXmlStreamReader::StartElement) && ((xml->name() == "VERSION")) ||
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
277 (xml->name() == "DISPLAY_OG_MIN") || (xml->name() == "DISPLAY_OG_MAX") || (xml->name() == "DISPLAY_FG_MIN") ||
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
278 (xml->name() == "DISPLAY_FG_MAX") || (xml->name() == "DISPLAY_IBU_MIN") || (xml->name() == "DISPLAY_IBU_MAX") ||
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
279 (xml->name() == "DISPLAY_COLOR_MIN") || (xml->name() == "DISPLAY_COLOR_MAX") || (xml->name() == "DISPLAY_CARB_MIN") ||
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
280 (xml->name() == "DISPLAY_CARB_MAX") || (xml->name() == "DISPLAY_ABV_MIN") || (xml->name() == "DISPLAY_ABV_MAX") ||
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
281 (xml->name() == "OG_RANGE") || (xml->name() == "FG_RANGE") || (xml->name() == "IBU_RANGE") ||
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
282 (xml->name() == "CARB_RANGE") || (xml->name() == "COLOR_RANGE") || (xml->name() == "ABV_RANGE")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
283 // Ignore.
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
284 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
285 st->name = xml->readElementText();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
286 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CATEGORY")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
287 st->category = xml->readElementText();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
288 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CATEGORY_NUMBER")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
289 st->category_number = xml->readElementText().toInt();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
290 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STYLE_LETTER")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
291 st->style_letter = xml->readElementText();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
292 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STYLE_GUIDE")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
293 st->style_guide = xml->readElementText();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
294 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
295 QString temp = xml->readElementText();
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
296 if (temp == "Lager")
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
297 st->type = 0;
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
298 else if (temp == "Ale")
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
299 st->type = 1;
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
300 else if (temp == "Mead")
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
301 st->type = 2;
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
302 else if (temp == "Wheat")
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
303 st->type = 3;
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
304 else if (temp == "Mixed")
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
305 st->type = 4;
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
306 else if (temp == "Cider")
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
307 st->type = 5;
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
308 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
309 st->notes = xml->readElementText();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
310 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "OG_MIN")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
311 st->og_min = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
312 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "OG_MAX")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
313 st->og_max = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
314 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FG_MIN")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
315 st->fg_min = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
316 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FG_MAX")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
317 st->fg_max = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
318 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "IBU_MIN")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
319 st->ibu_min = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
320 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "IBU_MAX")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
321 st->ibu_max = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
322 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COLOR_MIN")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
323 st->color_min = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
324 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COLOR_MAX")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
325 st->color_max = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
326 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CARB_MIN")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
327 st->carb_min = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
328 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CARB_MAX")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
329 st->carb_max = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
330 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ABV_MIN")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
331 st->abv_min = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
332 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ABV_MAX")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
333 st->abv_max = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
334 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "PROFILE")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
335 st->profile = xml->readElementText();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
336 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "INGREDIENTS")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
337 st->ingredients = xml->readElementText();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
338 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "EXAMPLES")) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
339 st->examples = xml->readElementText();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
340 } else {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
341 if (xml->tokenType() == QXmlStreamReader::StartElement)
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
342 qDebug() << "2 " << xml->tokenType() << xml->name();
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
343 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
344 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
345 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
346 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
347 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FERMENTABLES")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
348 /*
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
349 * Fermentables
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
350 */
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
351 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
352 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
353 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
354 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "FERMENTABLES")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
355 qDebug() << "0 /FERMENTABLES";
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
356 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
357 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
358 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FERMENTABLE")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
359 /*
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
360 * Fermentable
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
361 */
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
362 total++;
281
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
363 Fermentables *f = new Fermentables();
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
364 f->supplier = f->origin = f->notes = "";
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
365 f->yield = 80;
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
366 f->max_in_batch = 100;
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
367 f->recommend_mash = true;
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
368 f->di_ph = 5.7;
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
369
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
370 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
371 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
372 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
373 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "FERMENTABLE")) {
278
ed562a2a4ca4 Finished import fermentables
Michiel Broek <mbroek@mbse.eu>
parents: 277
diff changeset
374 query.prepare("INSERT INTO inventory_fermentables SET name=:name, type=:type, yield=:yield, color=:color, "
ed562a2a4ca4 Finished import fermentables
Michiel Broek <mbroek@mbse.eu>
parents: 277
diff changeset
375 "add_after_boil=:addafter, origin=:origin, supplier=:supplier, notes=:notes, coarse_fine_diff=:coarse, "
ed562a2a4ca4 Finished import fermentables
Michiel Broek <mbroek@mbse.eu>
parents: 277
diff changeset
376 "moisture=:moisture, diastatic_power=:diastatic, protein=:protein, dissolved_protein=:dissolved, "
ed562a2a4ca4 Finished import fermentables
Michiel Broek <mbroek@mbse.eu>
parents: 277
diff changeset
377 "max_in_batch=:maxinbatch, recommend_mash=:mash, added=:added, di_ph=:diph, "
ed562a2a4ca4 Finished import fermentables
Michiel Broek <mbroek@mbse.eu>
parents: 277
diff changeset
378 "acid_to_ph_57=:acidph, graintype=:graintype, uuid = :uuid");
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
379 query.bindValue(":name", f->name);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
380 query.bindValue(":type", f->type);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
381 query.bindValue(":yield", QString("%1").arg(f->yield, 2, 'f', 1, '0'));
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
382 query.bindValue(":color", QString("%1").arg(Utils::srm_to_ebc(f->color), 1, 'f', 0, '0'));
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
383 query.bindValue(":addafter", f->add_after_boil ? 1:0);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
384 query.bindValue(":origin", f->origin);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
385 query.bindValue(":supplier", f->supplier);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
386 query.bindValue(":notes", f->notes);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
387 query.bindValue(":coarse", QString("%1").arg(f->coarse_fine_diff, 4, 'f', 3, '0'));
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
388 query.bindValue(":moisture", QString("%1").arg(f->moisture, 4, 'f', 3, '0'));
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
389 query.bindValue(":diastatic", Utils::kolbach_to_lintner(f->diastatic_power));
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
390 query.bindValue(":protein", QString("%1").arg(f->protein, 4, 'f', 3, '0'));
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
391 query.bindValue(":dissolved", QString("%1").arg(f->dissolved_protein, 4, 'f', 3, '0'));
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
392 query.bindValue(":maxinbatch", QString("%1").arg(f->max_in_batch, 2, 'f', 1, '0'));
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
393 query.bindValue(":mash", f->recommend_mash ? 1:0);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
394 query.bindValue(":added", f->added);
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
395 query.bindValue(":diph", QString("%1").arg(f->di_ph, 6, 'f', 5, '0'));
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
396 query.bindValue(":acidph", QString("%1").arg(f->acid_to_ph_57, 6, 'f', 5, '0'));
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
397 query.bindValue(":graintype", f->graintype);
278
ed562a2a4ca4 Finished import fermentables
Michiel Broek <mbroek@mbse.eu>
parents: 277
diff changeset
398 query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36));
ed562a2a4ca4 Finished import fermentables
Michiel Broek <mbroek@mbse.eu>
parents: 277
diff changeset
399 query.exec();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
400 if (query.lastError().isValid()) {
278
ed562a2a4ca4 Finished import fermentables
Michiel Broek <mbroek@mbse.eu>
parents: 277
diff changeset
401 qWarning() << query.lastError();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
402 errors++;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
403 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
404 ui->progressBar->setValue(round(100 * xml->characterOffset() / fsize));
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
405 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
406 }
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
407 if ((xml->tokenType() == QXmlStreamReader::StartElement) &&
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
408 ((xml->name() == "VERSION") || (xml->name() == "DISPLAY_COST") ||
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
409 (xml->name() == "DISPLAY_COLOR") || (xml->name() == "INVENTORY") ||
278
ed562a2a4ca4 Finished import fermentables
Michiel Broek <mbroek@mbse.eu>
parents: 277
diff changeset
410 (xml->name() == "COST") || (xml->name() == "ALWAYS_ON_STOCK") ||
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
411 (xml->name() == "PERCENTAGE") || (xml->name() == "ADJUST_TO_TOTAL_100") )) {
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
412 // Ignore.
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
413 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
414 f->name = xml->readElementText();
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
415 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
416 QString temp = xml->readElementText();
278
ed562a2a4ca4 Finished import fermentables
Michiel Broek <mbroek@mbse.eu>
parents: 277
diff changeset
417 if (temp == "Sugar")
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
418 f->type = 1;
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
419 else if (temp == "Extract")
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
420 f->type = 2;
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
421 else if (temp == "Dry extract")
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
422 f->type = 3;
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
423 else if (temp == "Adjunct")
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
424 f->type = 4;
278
ed562a2a4ca4 Finished import fermentables
Michiel Broek <mbroek@mbse.eu>
parents: 277
diff changeset
425 else
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
426 f->type = 0;
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
427 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ORIGIN")) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
428 f->origin = xml->readElementText();
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
429 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "SUPPLIER")) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
430 f->supplier = xml->readElementText();
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
431 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
432 f->notes = xml->readElementText();
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
433 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "YIELD")) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
434 f->yield = xml->readElementText().toDouble();
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
435 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COARSE_FINE_DIFF")) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
436 f->coarse_fine_diff = xml->readElementText().toDouble();
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
437 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MOISTURE")) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
438 f->moisture = xml->readElementText().toDouble();
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
439 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "DIASTATIC_POWER")) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
440 f->diastatic_power = xml->readElementText().toDouble();
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
441 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MAX_IN_BATCH")) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
442 f->max_in_batch = xml->readElementText().toDouble();
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
443 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "RECOMMEND_MASH")) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
444 f->recommend_mash = (xml->readElementText() == "TRUE") ? true:false;
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
445 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "GRAINTYPE")) {
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
446 QString temp = xml->readElementText();
278
ed562a2a4ca4 Finished import fermentables
Michiel Broek <mbroek@mbse.eu>
parents: 277
diff changeset
447 if (temp == "Roast")
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
448 f->graintype = 1;
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
449 else if (temp == "Crystal")
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
450 f->graintype = 2;
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
451 else if (temp == "Kilned")
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
452 f->graintype = 3;
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
453 else if (temp == "Sour Malt")
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
454 f->graintype = 4;
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
455 else if (temp == "Special")
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
456 f->graintype = 5;
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
457 else if (temp == "No malt")
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
458 f->graintype = 6;
278
ed562a2a4ca4 Finished import fermentables
Michiel Broek <mbroek@mbse.eu>
parents: 277
diff changeset
459 else
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
460 f->graintype = 0;
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
461 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ADDED")) {
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
462 QString temp = xml->readElementText();
278
ed562a2a4ca4 Finished import fermentables
Michiel Broek <mbroek@mbse.eu>
parents: 277
diff changeset
463 if (temp == "Boil")
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
464 f->added = 1;
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
465 else if (temp == "Fermentation")
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
466 f->added = 2;
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
467 else if (temp == "Lagering")
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
468 f->added = 3;
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
469 else if (temp == "Bottle")
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
470 f->added = 4;
278
ed562a2a4ca4 Finished import fermentables
Michiel Broek <mbroek@mbse.eu>
parents: 277
diff changeset
471 else
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
472 f->added = 0;
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
473 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ADD_AFTER_BOIL")) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
474 f->add_after_boil = (xml->readElementText() == "TRUE") ? true:false;
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
475 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COLOR")) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
476 f->color = xml->readElementText().toDouble();
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
477 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "PROTEIN")) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
478 f->protein = xml->readElementText().toDouble();
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
479 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "DISSOLVED_PROTEIN")) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
480 f->dissolved_protein = xml->readElementText().toDouble();
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
481 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "DI_pH")) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
482 f->di_ph = xml->readElementText().toDouble();
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
483 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ACID_TO_pH_5.7")) {
283
242a68fa7186 Member names for fermentables normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 282
diff changeset
484 f->acid_to_ph_57 = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
485 } else {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
486 if (xml->tokenType() == QXmlStreamReader::StartElement)
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
487 qDebug() << "2 " << xml->tokenType() << xml->name();
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
488 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
489 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
490 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
491 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
492 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "HOPS")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
493 /*
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
494 * Hops
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
495 */
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
496 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
497 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
498 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
499 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "HOPS")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
500 qDebug() << "0 /HOPS";
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
501 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
502 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
503 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "HOP")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
504 /*
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
505 * Hop
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
506 */
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
507 total++;
281
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
508 Hops *h = new Hops();
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
509 h->notes = h->origin = h->substitutes = "";
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
510
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
511 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
512 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
513 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
514 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "HOP")) {
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
515 query.prepare("INSERT INTO inventory_hops SET name=:name, alpha=:alpha, beta=:beta, "
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
516 "humulene=:humulene, caryophyllene=:cary, cohumulone=:cohumulone, myrcene=:myrcene, "
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
517 "hsi=:hsi, type=:type, form=:form, notes=:notes, origin=:origin, substitutes=:substitutes, "
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
518 "total_oil=:oil, uuid = :uuid");
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
519 query.bindValue(":name", h->name);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
520 query.bindValue(":alpha", QString("%1").arg(h->alpha, 2, 'f', 1, '0'));
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
521 query.bindValue(":beta", QString("%1").arg(h->beta, 2, 'f', 1, '0'));
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
522 query.bindValue(":humulene", QString("%1").arg(h->humulene, 2, 'f', 1, '0'));
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
523 query.bindValue(":cary", QString("%1").arg(h->caryophyllene, 2, 'f', 1, '0'));
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
524 query.bindValue(":cohumulone", QString("%1").arg(h->cohumulone, 2, 'f', 1, '0'));
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
525 query.bindValue(":myrcene", QString("%1").arg(h->myrcene, 2, 'f', 1, '0'));
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
526 query.bindValue(":hsi", QString("%1").arg(h->hsi, 2, 'f', 1, '0'));
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
527 query.bindValue(":type", h->type);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
528 query.bindValue(":form", h->form);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
529 query.bindValue(":notes", h->notes);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
530 query.bindValue(":origin", h->origin);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
531 query.bindValue(":substitutes", h->substitutes);
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
532 query.bindValue(":oil", QString("%1").arg(h->total_oil, 2, 'f', 1, '0'));
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
533 query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36));
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
534 query.exec();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
535 if (query.lastError().isValid()) {
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
536 qWarning() << query.lastError();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
537 errors++;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
538 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
539 ui->progressBar->setValue(round(100 * xml->characterOffset() / fsize));
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
540 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
541 }
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
542 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
543 (xml->name() == "VERSION") || (xml->name() == "ALWAYS_ON_STOCK") ||
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
544 (xml->name() == "HARVEST_DATE") || (xml->name() == "DISPLAY_COST") ||
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
545 (xml->name() == "COST") || (xml->name() == "INVENTORY"))) {
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
546 // Ignore.
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
547 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
548 h->name = xml->readElementText();
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
549 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ORIGIN")) {
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
550 h->origin = xml->readElementText();
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
551 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) {
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
552 h->notes = xml->readElementText();
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
553 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FORM")) {
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
554 QString temp = xml->readElementText();
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
555 if (temp == "Plug")
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
556 h->form = 1;
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
557 else if (temp == "Leaf")
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
558 h->form = 2;
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
559 else if (temp == "Leaf wet")
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
560 h->form = 3;
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
561 else if (temp == "Cryo")
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
562 h->form = 4;
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
563 else
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
564 h->form = 0;
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
565 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ALPHA")) {
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
566 h->alpha = xml->readElementText().toDouble();
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
567 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
568 QString temp = xml->readElementText();
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
569 if (temp == "Aroma")
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
570 h->type = 1;
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
571 else if (temp == "Both")
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
572 h->type = 2;
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
573 else
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
574 h->type = 0;
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
575 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "USE")) {
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
576 QString temp = xml->readElementText();
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
577 if (temp == "First wort")
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
578 h->useat = 1;
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
579 else if (temp == "Boil")
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
580 h->useat = 2;
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
581 else if (temp == "Aroma")
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
582 h->useat = 3;
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
583 else if (temp == "Whirlpool")
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
584 h->useat = 4;
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
585 else if (temp == "Dry hop")
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
586 h->useat = 5;
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
587 else
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
588 h->useat = 0;
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
589 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "BETA")) {
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
590 h->beta = xml->readElementText().toDouble();
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
591 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "HSI")) {
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
592 h->hsi = xml->readElementText().toDouble();
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
593 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "SUBSTITUTES")) {
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
594 h->substitutes = xml->readElementText();
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
595 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "HUMULENE")) {
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
596 h->humulene = xml->readElementText().toDouble();
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
597 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) &&
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
598 ((xml->name() == "CARYOPHYLLENE") || (xml->name() == "CAROPHYLLENE"))) {
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
599 h->caryophyllene = xml->readElementText().toDouble();
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
600 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COHUMULONE")) {
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
601 h->cohumulone = xml->readElementText().toDouble();
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
602 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MYRCENE")) {
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
603 h->myrcene = xml->readElementText().toDouble();
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
604 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TOTAL_OIL")) {
282
d1d208a857b0 Member names for hops normalized.
Michiel Broek <mbroek@mbse.eu>
parents: 281
diff changeset
605 h->total_oil = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
606 } else {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
607 if (xml->tokenType() == QXmlStreamReader::StartElement)
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
608 qDebug() << "2 " << xml->tokenType() << xml->name();
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
609 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
610 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
611 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
612 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
613 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MISCS")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
614 /*
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
615 * Miscs
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
616 */
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
617 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
618 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
619 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
620 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "MISCS")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
621 qDebug() << "0 /MISCS";
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
622 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
623 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
624 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MISC")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
625 /*
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
626 * Misc
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
627 */
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
628 total++;
281
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
629 Miscs *m = new Miscs();
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
630 m->name = m->use_for = m->notes = "";
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
631
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
632 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
633 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
634 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
635 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "MISC")) {
281
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
636 query.prepare("INSERT INTO inventory_miscs SET name=:name, type=:type, use_use=:use, "
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
637 "time=:time, amount_is_weight=:isweight, use_for=:usefor, notes=:notes, "
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
638 "uuid = :uuid");
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
639 query.bindValue(":name", m->name);
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
640 query.bindValue(":type", m->type);
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
641 query.bindValue(":use", m->use_use);
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
642 query.bindValue(":time", QString("%1").arg(m->time, 1, 'f', 0, '0'));
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
643 query.bindValue(":isweight", m->amount_is_weight ? 1:0);
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
644 query.bindValue(":usefor", m->use_for);
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
645 query.bindValue(":notes", m->notes);
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
646 query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36));
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
647 query.exec();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
648 if (query.lastError().isValid()) {
281
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
649 qWarning() << query.lastError();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
650 errors++;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
651 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
652 ui->progressBar->setValue(round(100 * xml->characterOffset() / fsize));
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
653 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
654 }
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
655 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
281
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
656 (xml->name() == "VERSION") || (xml->name() == "DISPLAY_AMOUNT") ||
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
657 (xml->name() == "AMOUNT") || (xml->name() == "ALWAYS_ON_STOCK") ||
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
658 (xml->name() == "COST") || (xml->name() == "DISPLAY_COST") ||
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
659 (xml->name() == "INVENTORY") || (xml->name() == "DISPLAY_TIME") ||
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
660 (xml->name() == "FREE_FIELD") || (xml->name() == "FREE_FIELD_NAME")
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
661 )) {
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
662 // Ignore.
279
8540fd0166e7 Added xml import hops
Michiel Broek <mbroek@mbse.eu>
parents: 278
diff changeset
663 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
281
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
664 m->name = xml->readElementText();
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
665 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) {
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
666 m->notes = xml->readElementText();
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
667 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "USE_FOR")) {
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
668 m->use_for = xml->readElementText();
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
669 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
670 QString temp = xml->readElementText();
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
671 if (temp == "Herb")
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
672 m->type = 1;
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
673 else if (temp == "Flavor")
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
674 m->type = 2;
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
675 else if (temp == "Fining")
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
676 m->type = 3;
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
677 else if (temp == "Water agent")
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
678 m->type = 4;
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
679 else if (temp == "Yeast nutrient")
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
680 m->type = 5;
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
681 else if (temp == "Other")
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
682 m->type = 6;
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
683 else
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
684 m->type = 0;
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
685 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "USE")) {
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
686 QString temp = xml->readElementText();
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
687 if (temp == "Mash")
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
688 m->use_use = 1;
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
689 else if (temp == "Boil")
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
690 m->use_use = 2;
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
691 else if (temp == "Primary")
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
692 m->use_use = 3;
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
693 else if (temp == "Secondary")
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
694 m->use_use = 4;
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
695 else if (temp == "Bottling")
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
696 m->use_use = 5;
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
697 else
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
698 m->use_use = 0;
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
699 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "AMOUNT_IS_WEIGHT")) {
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
700 m->amount_is_weight = (xml->readElementText() == "TRUE") ? true:false;
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
701 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TIME")) {
af3dac6ff6c3 Fixed init of import record. Added miscs import
Michiel Broek <mbroek@mbse.eu>
parents: 279
diff changeset
702 m->time = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
703 } else {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
704 if (xml->tokenType() == QXmlStreamReader::StartElement)
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
705 qDebug() << "2 " << xml->tokenType() << xml->name();
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
706 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
707 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
708 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
709 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
710 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "YEASTS")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
711 /*
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
712 * Yeasts
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
713 */
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
714 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
715 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
716 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
717 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "YEASTS")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
718 qDebug() << "0 /YEASTS";
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
719 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
720 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
721 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "YEAST")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
722 /*
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
723 * Yeast
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
724 */
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
725 total++;
285
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
726 Yeasts *y = new Yeasts();
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
727 y->laboratory = y->product_id = y->best_for = y->notes = y->short_desc = "";
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
728 y->max_reuse = 10;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
729 y->min_temperature = 18;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
730 y->max_temperature = 22;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
731 y->attenuation = 77;
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
732
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
733 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
734 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
735 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
736 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "YEAST")) {
285
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
737 query.prepare("INSERT INTO inventory_yeasts SET name=:name, type=:type, form=:form, "
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
738 "laboratory=:laboratory, product_id=:productid, min_temperature=:templo, max_temperature=:temphi, "
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
739 "flocculation=:floc, attenuation=:att, notes=:notes, best_for=:bestfor, "
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
740 "max_reuse=:reuse, short_desc='', uuid = :uuid");
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
741 query.bindValue(":name", y->name);
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
742 query.bindValue(":type", y->type);
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
743 query.bindValue(":form", y->form);
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
744 query.bindValue(":laboratory", y->laboratory);
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
745 query.bindValue(":productid", y->product_id);
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
746 query.bindValue(":templo", QString("%1").arg(y->min_temperature, 2, 'f', 1, '0'));
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
747 query.bindValue(":temphi", QString("%1").arg(y->max_temperature, 2, 'f', 1, '0'));
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
748 query.bindValue(":floc", y->flocculation);
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
749 query.bindValue(":att", QString("%1").arg(y->attenuation, 2, 'f', 1, '0'));
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
750 query.bindValue(":notes", y->notes);
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
751 query.bindValue(":bestfor", y->best_for);
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
752 query.bindValue(":reuse", y->max_reuse);
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
753 query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36));
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
754 query.exec();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
755 if (query.lastError().isValid()) {
285
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
756 qWarning() << query.lastError();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
757 errors++;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
758 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
759 ui->progressBar->setValue(round(100 * xml->characterOffset() / fsize));
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
760 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
761 }
285
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
762 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
763 (xml->name() == "VERSION") || (xml->name() == "TIMES_CULTURED") ||
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
764 (xml->name() == "DISP_MIN_TEMP") || (xml->name() == "DISP_MAX_TEMP") ||
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
765 (xml->name() == "CULTURE_DATE") || (xml->name() == "STARTER_TYPE") ||
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
766 (xml->name() == "STARTER_MADE") || (xml->name() == "STARTER_VOLUME") ||
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
767 (xml->name() == "OG_STARTER") || (xml->name() == "TIME_AERATED") ||
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
768 (xml->name() == "ZINC_ADDED") || (xml->name() == "AMOUNT_ZINC") ||
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
769 (xml->name() == "AMOUNT_EXTRACT") || (xml->name() == "COST_EXTRACT") ||
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
770 (xml->name() == "ALWAYS_ON_STOCK") || (xml->name() == "DISPLAY_AMOUNT") ||
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
771 (xml->name() == "AMOUNT") || (xml->name() == "DISPLAY_AMOUNT") ||
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
772 (xml->name() == "AMOUNT_IS_WEIGHT") || (xml->name() == "ADD_TO_SECONDARY") ||
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
773 (xml->name() == "COST") || (xml->name() == "DISPLAY_COST") ||
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
774 (xml->name() == "TEMP") || (xml->name() == "INVENTORY"))) {
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
775 // Ignore.
285
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
776 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
777 y->name = xml->readElementText();
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
778 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "LABORATORY")) {
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
779 y->laboratory = xml->readElementText();
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
780 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "PRODUCT_ID")) {
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
781 y->product_id = xml->readElementText();
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
782 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) {
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
783 y->notes = xml->readElementText();
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
784 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "BEST_FOR")) {
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
785 y->best_for = xml->readElementText();
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
786 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
787 QString temp = xml->readElementText();
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
788 if (temp == "Ale")
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
789 y->type = 1;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
790 else if (temp == "Wheat")
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
791 y->type = 2;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
792 else if (temp == "Wine")
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
793 y->type = 3;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
794 else if (temp == "Champagne")
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
795 y->type = 4;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
796 else if (temp == "Brett")
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
797 y->type = 5;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
798 else if (temp == "Kveik")
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
799 y->type = 6;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
800 else if (temp == "Hybrid")
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
801 y->type = 7;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
802 else
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
803 y->type = 0;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
804 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FORM")) {
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
805 QString temp = xml->readElementText();
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
806 if (temp == "Dry")
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
807 y->form = 1;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
808 else if (temp == "Slant")
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
809 y->form = 2;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
810 else if (temp == "Culture")
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
811 y->form = 3;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
812 else if (temp == "Frozen")
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
813 y->form = 4;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
814 else if (temp == "Bottle")
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
815 y->form = 5;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
816 else if (temp == "Dried")
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
817 y->form = 6;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
818 else
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
819 y->form = 0;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
820 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FLOCCULATION")) {
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
821 QString temp = xml->readElementText();
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
822 if (temp == "Medium")
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
823 y->flocculation = 1;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
824 else if (temp == "High")
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
825 y->flocculation = 1;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
826 else if (temp == "Very high")
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
827 y->flocculation = 3;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
828 else
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
829 y->flocculation = 0;
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
830 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MIN_TEMPERATURE")) {
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
831 y->min_temperature = xml->readElementText().toDouble();
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
832 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MAX_TEMPERATURE")) {
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
833 y->max_temperature = xml->readElementText().toDouble();
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
834 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ATTENUATION")) {
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
835 y->attenuation = xml->readElementText().toDouble();
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
836 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MAX_REUSE")) {
f66df13aee7f Added import yeasts
Michiel Broek <mbroek@mbse.eu>
parents: 283
diff changeset
837 y->max_reuse = xml->readElementText().toInt();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
838 } else {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
839 if (xml->tokenType() == QXmlStreamReader::StartElement)
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
840 qDebug() << "2 " << xml->tokenType() << xml->name();
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
841 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
842 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
843 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
844 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
845 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "WATERS")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
846 /*
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
847 * Waters
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
848 */
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
849 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
850 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
851 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
852 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "WATERS")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
853 qDebug() << "0 /WATERS";
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
854 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
855 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
856 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "WATER")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
857 /*
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
858 * Water
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
859 */
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
860 total++;
286
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
861 Waters *w = new Waters();
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
862 w->notes = "";
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
863 w->ph = 7.0;
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
864
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
865 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
866 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
867 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
868 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "WATER")) {
286
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
869 query.prepare("INSERT INTO inventory_waters SET name=:name, unlimited_stock=:unlimited, calcium=:ca, "
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
870 "bicarbonate=:hco, sulfate=:so4, chloride=:cl, sodium=:na, magnesium=:mg, ph=:ph, notes=:notes, "
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
871 "total_alkalinity=:alkalinity, nitrate=:no, uuid = :uuid");
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
872 query.bindValue(":name", w->name);
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
873 query.bindValue(":unlimited", w->unlimited_stock ? 1:0);
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
874 query.bindValue(":ca", QString("%1").arg(w->calcium, 4, 'f', 3, '0'));
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
875 query.bindValue(":hco", QString("%1").arg(w->bicarbonate, 4, 'f', 3, '0'));
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
876 query.bindValue(":so4", QString("%1").arg(w->sulfate, 4, 'f', 3, '0'));
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
877 query.bindValue(":cl", QString("%1").arg(w->chloride, 4, 'f', 3, '0'));
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
878 query.bindValue(":na", QString("%1").arg(w->sodium, 4, 'f', 3, '0'));
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
879 query.bindValue(":mg", QString("%1").arg(w->magnesium, 4, 'f', 3, '0'));
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
880 query.bindValue(":ph", QString("%1").arg(w->ph, 4, 'f', 3, '0'));
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
881 query.bindValue(":notes", w->notes);
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
882 query.bindValue(":alkalinity", QString("%1").arg(w->total_alkalinity, 4, 'f', 3, '0'));
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
883 query.bindValue(":no", QString("%1").arg(w->nitrate, 4, 'f', 3, '0'));
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
884 query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36));
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
885 query.exec();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
886 if (query.lastError().isValid()) {
286
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
887 qWarning() << query.lastError();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
888 errors++;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
889 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
890 ui->progressBar->setValue(round(100 * xml->characterOffset() / fsize));
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
891 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
892 }
286
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
893 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
894 (xml->name() == "VERSION") || (xml->name() == "DEFAULT_WATER") ||
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
895 (xml->name() == "ALWAYS_ON_STOCK") || (xml->name() == "AMOUNT") ||
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
896 (xml->name() == "DISPLAY_AMOUNT"))) {
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
897 // Ignore.
286
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
898 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
899 w->name = xml->readElementText();
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
900 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) {
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
901 w->notes = xml->readElementText();
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
902 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "xUNLIMITED_STOCK")) {
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
903 w->unlimited_stock = (xml->readElementText() == "TRUE") ? true:false;
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
904 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CALCIUM")) {
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
905 w->calcium = xml->readElementText().toDouble();
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
906 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "BICARBONATE")) {
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
907 w->bicarbonate = xml->readElementText().toDouble();
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
908 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TOTAL_ALKALINITY")) {
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
909 w->total_alkalinity = xml->readElementText().toDouble();
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
910 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "SULFATE")) {
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
911 w->sulfate = xml->readElementText().toDouble();
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
912 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CHLORIDE")) {
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
913 w->chloride = xml->readElementText().toDouble();
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
914 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "SODIUM")) {
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
915 w->sodium = xml->readElementText().toDouble();
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
916 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MAGNESIUM")) {
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
917 w->magnesium = xml->readElementText().toDouble();
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
918 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "PH")) {
18a7e8d67fc5 Added import waters
Michiel Broek <mbroek@mbse.eu>
parents: 285
diff changeset
919 w->ph = xml->readElementText().toDouble();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
920 } else {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
921 if (xml->tokenType() == QXmlStreamReader::StartElement)
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
922 qDebug() << "2 " << xml->tokenType() << xml->name();
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
923 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
924 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
925 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
926 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
927 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "RECIPES")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
928 /*
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
929 * Recipes
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
930 */
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
931 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
932 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
933 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
934 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "RECIPES")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
935 qDebug() << "0 /RECIPES";
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
936 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
937 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
938 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "RECIPE")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
939 /*
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
940 * Recipe
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
941 */
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
942 total++;
289
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
943 Recipe *r = new Recipe();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
944 r->record = -1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
945 r->notes = r->st_guide = r->st_name = r->st_letter = r->st_category = "";
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
946 r->w1_name = r->w2_name = "";
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
947 r->w1_ph = r->w2_ph = r->wg_ph = r->wb_ph = 7;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
948 r->mash_name = "";
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
949
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
950 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
951 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
952 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
953 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "RECIPE")) {
289
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
954 qDebug() << "recipe:" << r->name;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
955 for (int i = 0; i < r->fermentables.size(); i++)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
956 qDebug() << " fermentable" << i << r->fermentables.at(i).name;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
957 for (int i = 0; i < r->hops.size(); i++)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
958 qDebug() << " hop" << i << r->hops.at(i).name;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
959 for (int i = 0; i < r->miscs.size(); i++)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
960 qDebug() << " misc" << i << r->miscs.at(i).name;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
961 for (int i = 0; i < r->yeasts.size(); i++)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
962 qDebug() << " yeast" << i << r->yeasts.at(i).name;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
963 for (int i = 0; i < r->mashs.size(); i++)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
964 qDebug() << " mash step" << i << r->mashs.at(i).step_name;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
965 qDebug() << " water" << 0 << r->w1_name << r->w1_amount;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
966 qDebug() << " water" << 1 << r->w2_name << r->w2_amount;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
967 if (DB_recipe::save(r, this)) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
968 qInfo() << "Inserted recipe" << r->name;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
969 } else {
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
970 errors++;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
971 }
289
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
972 delete r;
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
973 ui->progressBar->setValue(round(100 * xml->characterOffset() / fsize));
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
974 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
975 }
289
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
976 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
977 (xml->name() == "VERSION") || (xml->name() == "AUTONR") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
978 (xml->name() == "FORCED_CARBONATION") || (xml->name() == "DISPLAY_BATCH_SIZE") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
979 (xml->name() == "DISPLAY_BOIL_SIZE") || (xml->name() == "SPARGE_WATER_COMP") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
980 (xml->name() == "OG_BEFORE_BOIL") || (xml->name() == "SG_END_PRIMARY") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
981 (xml->name() == "FORCED_CARB_KEGS") || (xml->name() == "COOLING_METHOD") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
982 (xml->name() == "INVENTORY_REDUCED") || (xml->name() == "LOCKED") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
983 (xml->name() == "PRIMING_SUGAR_BOTTLES") || (xml->name() == "PRIMING_SUGAR_KEGS") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
984 (xml->name() == "NR_RECIPE") || (xml->name() == "LACTIC_SPARGE") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
985 (xml->name() == "TARGET_PH") || (xml->name() == "SG_END_MASH") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
986 (xml->name() == "VOLUME_HLT") || (xml->name() == "OG_FERMENTER") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
987 (xml->name() == "COOLING_TO") || (xml->name() == "AERATION_TYPE") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
988 (xml->name() == "BATCH_DIVIDED") || (xml->name() == "BATCH_DIVISION") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
989 (xml->name() == "DIVIDED_FROM") || (xml->name() == "PARENT") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
990 (xml->name() == "FERMENTATION_STAGES") || (xml->name() == "DATE") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
991 (xml->name() == "CALC_ACID") || (xml->name() == "BREWER")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
992 )) {
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
993 // Ignore.
289
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
994 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
995 r->name = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
996 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
997 r->notes = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
998 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "BATCH_SIZE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
999 r->batch_size = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1000 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "BOIL_SIZE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1001 r->boil_size = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1002 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "BOIL_TIME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1003 r->boil_time = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1004 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "EFFICIENCY")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1005 r->efficiency = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1006 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && ((xml->name() == "OG") || (xml->name() == "EST_OG"))) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1007 r->est_og = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1008 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && ((xml->name() == "FG") || (xml->name() == "EST_FG"))) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1009 r->est_fg = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1010 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && ((xml->name() == "ABV") || (xml->name() == "EST_ABV"))) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1011 r->est_abv = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1012 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && ((xml->name() == "IBU") || (xml->name() == "EST_IBU"))) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1013 r->est_ibu = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1014 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "EST_COLOR")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1015 r->est_color = Utils::srm_to_ebc(xml->readElementText().toDouble());
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1016 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ACID_SPARGE_PERC")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1017 r->sparge_acid_perc = Utils::srm_to_ebc(xml->readElementText().toDouble());
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1018 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "SPARGE_ACID_TYPE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1019 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1020 if (temp == "Hydrochloric")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1021 r->sparge_acid_type = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1022 else if (temp == "Phosphoric")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1023 r->sparge_acid_type = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1024 else if (temp == "Sulfuric")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1025 r->sparge_acid_type = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1026 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1027 r->sparge_acid_type = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1028 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1029 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1030 if (temp == "Extract")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1031 r->type = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1032 else if (temp == "Partial Mash")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1033 r->type = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1034 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1035 r->type = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1036 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "IBU_METHOD")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1037 QString temp = xml->readElementText();
338
473479de8c5b With beerXML recipe import, the IBU method is always Tinseth.
Michiel Broek <mbroek@mbse.eu>
parents: 289
diff changeset
1038 /* For the known beerXML names, select Tinseth */
473479de8c5b With beerXML recipe import, the IBU method is always Tinseth.
Michiel Broek <mbroek@mbse.eu>
parents: 289
diff changeset
1039 r->ibu_method = 0;
289
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1040 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COLOR_METHOD")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1041 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1042 if (temp == "Mosher")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1043 r->color_method = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1044 else if (temp == "Daniels")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1045 r->color_method = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1046 else if (temp == "Halberstadt")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1047 r->color_method = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1048 else if (temp == "Naudts")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1049 r->color_method = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1050 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1051 r->color_method = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1052 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STYLE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1053 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1054 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1055 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1056 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "STYLE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1057 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1058 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1059 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1060 (xml->name() == "VERSION") || (xml->name() == "NOTES") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1061 (xml->name() == "PROFILE") || (xml->name() == "EXAMPLES") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1062 (xml->name() == "DISPLAY_OG_MIN") || (xml->name() == "DISPLAY_OG_MAX") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1063 (xml->name() == "DISPLAY_FG_MIN") || (xml->name() == "DISPLAY_FG_MAX") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1064 (xml->name() == "DISPLAY_IBU_MIN") || (xml->name() == "DISPLAY_IBU_MAX") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1065 (xml->name() == "DISPLAY_COLOR_MIN") || (xml->name() == "DISPLAY_COLOR_MAX") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1066 (xml->name() == "DISPLAY_CARB_MIN") || (xml->name() == "DISPLAY_CARB_MAX") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1067 (xml->name() == "DISPLAY_ABV_MIN") || (xml->name() == "DISPLAY_ABV_MAX") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1068 (xml->name() == "OG_RANGE") || (xml->name() == "FG_RANGE") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1069 (xml->name() == "IBU_RANGE") || (xml->name() == "CARB_RANGE") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1070 (xml->name() == "COLOR_RANGE") || (xml->name() == "ABV_RANGE"))) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1071 // Ignore.
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1072 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1073 r->st_name = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1074 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CATEGORY")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1075 r->st_category = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1076 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CATEGORY_NUMBER")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1077 r->st_category_number = xml->readElementText().toInt();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1078 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STYLE_LETTER")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1079 r->st_letter = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1080 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STYLE_GUIDE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1081 r->st_guide = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1082 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1083 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1084 if (temp == "Lager")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1085 r->st_type = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1086 else if (temp == "Ale")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1087 r->st_type = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1088 else if (temp == "Mead")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1089 r->st_type = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1090 else if (temp == "Wheat")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1091 r->st_type = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1092 else if (temp == "Mixed")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1093 r->st_type = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1094 else if (temp == "Cider")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1095 r->st_type = 5;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1096 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "OG_MIN")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1097 r->st_og_min = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1098 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "OG_MAX")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1099 r->st_og_max = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1100 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FG_MIN")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1101 r->st_fg_min = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1102 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FG_MAX")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1103 r->st_fg_max = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1104 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "IBU_MIN")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1105 r->st_ibu_min = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1106 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "IBU_MAX")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1107 r->st_ibu_max = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1108 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COLOR_MIN")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1109 r->st_color_min = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1110 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COLOR_MAX")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1111 r->st_color_max = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1112 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CARB_MIN")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1113 r->st_carb_min = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1114 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CARB_MAX")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1115 r->st_carb_max = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1116 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ABV_MIN")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1117 r->st_abv_min = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1118 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ABV_MAX")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1119 r->st_abv_max = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1120 } else {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1121 if (xml->tokenType() == QXmlStreamReader::StartElement)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1122 qDebug() << xml->tokenType() << " STYLE->" << xml->name();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1123 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1124 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1125 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "EQUIPMENT")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1126 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1127 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1128 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1129 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "EQUIPMENT")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1130 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1131 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1132 /*
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1133 * Ignore everything about equipment. Not usefull in a recipe, all calculations should
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1134 * be done after import.
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1135 */
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1136 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1137
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1138 /*
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1139 * Ingredients
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1140 */
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1141 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "HOPS")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1142 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1143 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1144 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1145 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "HOPS")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1146 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1147 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1148 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "HOP")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1149 /*
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1150 * Process hop
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1151 */
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1152 Hops *newh = new Hops();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1153 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1154 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1155 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1156 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "HOP")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1157 r->hops.append(*newh);
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1158 delete newh;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1159 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1160 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1161 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1162 newh->name = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1163 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ORIGIN")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1164 newh->origin = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1165 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1166 newh->notes = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1167 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TIME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1168 newh->time = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1169 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "AMOUNT")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1170 newh->amount = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1171 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FORM")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1172 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1173 if (temp == "Plug")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1174 newh->form = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1175 else if (temp == "Leaf")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1176 newh->form = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1177 else if (temp == "Leaf wet")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1178 newh->form = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1179 else if (temp == "Cryo")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1180 newh->form = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1181 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1182 newh->form = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1183 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ALPHA")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1184 newh->alpha = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1185 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1186 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1187 if (temp == "Aroma")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1188 newh->type = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1189 else if (temp == "Both")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1190 newh->type = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1191 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1192 newh->type = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1193 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "USE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1194 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1195 if (temp == "First wort")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1196 newh->useat = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1197 else if (temp == "Boil")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1198 newh->useat = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1199 else if (temp == "Aroma")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1200 newh->useat = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1201 else if (temp == "Whirlpool")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1202 newh->useat = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1203 else if (temp == "Dry hop")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1204 newh->useat = 5;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1205 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1206 newh->useat = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1207 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "BETA")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1208 newh->beta = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1209 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "HSI")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1210 newh->hsi = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1211 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "SUBSTITUTES")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1212 newh->substitutes = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1213 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "HUMULENE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1214 newh->humulene = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1215 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) &&
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1216 ((xml->name() == "CARYOPHYLLENE") || (xml->name() == "CAROPHYLLENE"))) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1217 newh->caryophyllene = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1218 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COHUMULONE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1219 newh->cohumulone = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1220 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MYRCENE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1221 newh->myrcene = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1222 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TOTAL_OIL")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1223 newh->total_oil = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1224 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1225 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1226 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1227 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1228 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FERMENTABLES")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1229 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1230 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1231 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1232 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "FERMENTABLES")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1233 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1234 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1235 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FERMENTABLE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1236 /*
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1237 * Process fermentable
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1238 */
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1239 Fermentables *f = new Fermentables();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1240 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1241 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1242 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1243 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "FERMENTABLE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1244 r->fermentables.append(*f);
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1245 delete f;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1246 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1247 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1248 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1249 (xml->name() == "VERSION") || (xml->name() == "DISPLAY_STEP_TEMP") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1250 (xml->name() == "DISPLAY_AMOUNT") || (xml->name() == "COST") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1251 (xml->name() == "DISPLAY_COST") || (xml->name() == "INVENTORY") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1252 (xml->name() == "ALWAYS_ON_STOCK") || (xml->name() == "DISPLAY_COLOR") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1253 (xml->name() == "PERCENTAGE") || (xml->name() == "ADJUST_TO_TOTAL_100"))) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1254 // Ignore.
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1255 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1256 f->name = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1257 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1258 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1259 if (temp == "Sugar")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1260 f->type = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1261 else if (temp == "Extract")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1262 f->type = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1263 else if (temp == "Dry extract")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1264 f->type = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1265 else if (temp == "Adjunct")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1266 f->type = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1267 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1268 f->type = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1269 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ORIGIN")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1270 f->origin = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1271 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "SUPPLIER")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1272 f->supplier = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1273 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1274 f->notes = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1275 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "AMOUNT")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1276 f->amount = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1277 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "YIELD")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1278 f->yield = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1279 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COARSE_FINE_DIFF")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1280 f->coarse_fine_diff = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1281 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MOISTURE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1282 f->moisture = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1283 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "DIASTATIC_POWER")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1284 f->diastatic_power = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1285 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MAX_IN_BATCH")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1286 f->max_in_batch = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1287 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "RECOMMEND_MASH")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1288 f->recommend_mash = (xml->readElementText() == "TRUE") ? true:false;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1289 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "GRAINTYPE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1290 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1291 if (temp == "Roast")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1292 f->graintype = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1293 else if (temp == "Crystal")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1294 f->graintype = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1295 else if (temp == "Kilned")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1296 f->graintype = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1297 else if (temp == "Sour Malt")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1298 f->graintype = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1299 else if (temp == "Special")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1300 f->graintype = 5;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1301 else if (temp == "No malt")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1302 f->graintype = 6;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1303 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1304 f->graintype = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1305 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ADDED")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1306 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1307 if (temp == "Boil")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1308 f->added = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1309 else if (temp == "Fermentation")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1310 f->added = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1311 else if (temp == "Lagering")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1312 f->added = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1313 else if (temp == "Bottle")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1314 f->added = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1315 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1316 f->added = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1317 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ADD_AFTER_BOIL")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1318 f->add_after_boil = (xml->readElementText() == "TRUE") ? true:false;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1319 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COLOR")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1320 f->color = Utils::srm_to_ebc(xml->readElementText().toDouble());
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1321 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "PROTEIN")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1322 f->protein = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1323 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "DISSOLVED_PROTEIN")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1324 f->dissolved_protein = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1325 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "DI_pH")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1326 f->di_ph = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1327 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ACID_TO_pH_5.7")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1328 f->acid_to_ph_57 = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1329 } else {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1330 if (xml->tokenType() == QXmlStreamReader::StartElement)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1331 qDebug() << xml->tokenType() << "FERMENTABLE->" << xml->name();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1332 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1333 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1334 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1335 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1336 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MISCS")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1337 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1338 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1339 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1340 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "MISCS")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1341 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1342 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1343 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MISC")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1344 /*
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1345 * Process misc
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1346 */
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1347 Miscs *m = new Miscs();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1348 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1349 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1350 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1351 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "MISC")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1352 r->miscs.append(*m);
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1353 delete m;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1354 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1355 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1356 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1357 (xml->name() == "VERSION") || (xml->name() == "DISPLAY_AMOUNT") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1358 (xml->name() == "FREE_FIELD") || (xml->name() == "FREE_FIELD_NAME") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1359 (xml->name() == "COST") || (xml->name() == "INVENTORY") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1360 (xml->name() == "DISPLAY_COST") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1361 (xml->name() == "ALWAYS_ON_STOCK") || (xml->name() == "DISPLAY_TIME"))) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1362 // Ignore.
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1363 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1364 m->name = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1365 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1366 m->notes = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1367 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "AMOUNT")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1368 m->amount = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1369 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "USE_FOR")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1370 m->use_for = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1371 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1372 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1373 if (temp == "Herb")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1374 m->type = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1375 else if (temp == "Flavor")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1376 m->type = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1377 else if (temp == "Fining")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1378 m->type = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1379 else if (temp == "Water agent")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1380 m->type = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1381 else if (temp == "Yeast nutrient")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1382 m->type = 5;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1383 else if (temp == "Other")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1384 m->type = 6;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1385 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1386 m->type = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1387 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "USE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1388 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1389 if (temp == "Mash")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1390 m->use_use = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1391 else if (temp == "Boil")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1392 m->use_use = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1393 else if (temp == "Primary")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1394 m->use_use = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1395 else if (temp == "Secondary")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1396 m->use_use = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1397 else if (temp == "Bottling")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1398 m->use_use = 5;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1399 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1400 m->use_use = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1401 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "AMOUNT_IS_WEIGHT")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1402 m->amount_is_weight = (xml->readElementText() == "TRUE") ? true:false;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1403 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TIME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1404 m->time = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1405 } else {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1406 if (xml->tokenType() == QXmlStreamReader::StartElement)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1407 qDebug() << xml->tokenType() << " MISC->" << xml->name();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1408 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1409 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1410 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1411 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1412 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "YEASTS")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1413 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1414 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1415 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1416 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "YEASTS")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1417 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1418 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1419 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "YEAST")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1420 /*
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1421 * Process yeast
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1422 */
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1423 Yeasts *y = new Yeasts();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1424 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1425 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1426 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1427 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "YEAST")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1428 r->yeasts.append(*y);
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1429 delete y;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1430 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1431 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1432 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1433 y->name = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1434 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "LABORATORY")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1435 y->laboratory = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1436 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "PRODUCT_ID")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1437 y->product_id = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1438 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1439 y->notes = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1440 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "BEST_FOR")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1441 y->best_for = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1442 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "AMOUNT")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1443 y->amount = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1444 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1445 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1446 if (temp == "Ale")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1447 y->type = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1448 else if (temp == "Wheat")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1449 y->type = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1450 else if (temp == "Wine")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1451 y->type = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1452 else if (temp == "Champagne")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1453 y->type = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1454 else if (temp == "Brett")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1455 y->type = 5;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1456 else if (temp == "Kveik")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1457 y->type = 6;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1458 else if (temp == "Hybrid")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1459 y->type = 7;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1460 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1461 y->type = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1462 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FORM")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1463 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1464 if (temp == "Dry")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1465 y->form = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1466 else if (temp == "Slant")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1467 y->form = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1468 else if (temp == "Culture")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1469 y->form = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1470 else if (temp == "Frozen")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1471 y->form = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1472 else if (temp == "Bottle")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1473 y->form = 5;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1474 else if (temp == "Dried")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1475 y->form = 6;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1476 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1477 y->form = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1478 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FLOCCULATION")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1479 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1480 if (temp == "Medium")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1481 y->flocculation = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1482 else if (temp == "High")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1483 y->flocculation = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1484 else if (temp == "Very high")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1485 y->flocculation = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1486 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1487 y->flocculation = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1488 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MIN_TEMPERATURE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1489 y->min_temperature = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1490 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MAX_TEMPERATURE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1491 y->max_temperature = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1492 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ATTENUATION")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1493 y->attenuation = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1494 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MAX_REUSE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1495 y->max_reuse = xml->readElementText().toInt();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1496 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1497 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1498 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1499 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1500 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MASH")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1501 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1502 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1503 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1504 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "MASH")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1505 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1506 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1507 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1508 (xml->name() == "VERSION") || (xml->name() == "NOTES") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1509 (xml->name() == "GRAIN_TEMP") || (xml->name() == "TUN_TEMP") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1510 (xml->name() == "SG_LAST_RUNNINGS") || (xml->name() == "PH_LAST_RUNNINGS") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1511 (xml->name() == "TUN_WEIGHT") || (xml->name() == "TUN_SPECIFIC_HEAT") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1512 (xml->name() == "EQUIP_ADJUST"))) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1513 // Ignore.
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1514 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1515 r->mash_name = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1516 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "PH")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1517 r->mash_ph = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1518 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "SPARGE_TEMP")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1519 r->sparge_temp = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1520 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MASH_STEPS")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1521 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1522 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1523 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1524 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "MASH_STEPS")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1525 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1526 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1527 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MASH_STEP")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1528 /*
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1529 * Process mash step
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1530 */
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1531 MashSteps *ms = new MashSteps();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1532 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1533 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1534 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1535 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "MASH_STEP")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1536 r->mashs.append(*ms);
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1537 delete ms;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1538 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1539 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1540 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1541 (xml->name() == "VERSION") || (xml->name() == "DISPLAY_STEP_TEMP") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1542 (xml->name() == "PH") || (xml->name() == "WATER_GRAIN_RATIO") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1543 (xml->name() == "DECOCTION_AMT") || (xml->name() == "INFUSE_TEMP") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1544 (xml->name() == "INFUSE_AMOUNT") || (xml->name() == "DISPLAY_INFUSE_AMT")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1545 )) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1546 // Ignore.
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1547 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1548 ms->step_name = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1549 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1550 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1551 if (temp == "Infusion")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1552 ms->step_type = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1553 else if (temp == "Temperature")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1554 ms->step_type = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1555 else if (temp == "Decoction")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1556 ms->step_type = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1557 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STEP_TEMP")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1558 ms->step_temp = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1559 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "END_TEMP")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1560 ms->end_temp = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1561 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STEP_TIME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1562 ms->step_time = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1563 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "RAMP_TIME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1564 ms->ramp_time = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1565 } else {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1566 if (xml->tokenType() == QXmlStreamReader::StartElement)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1567 qDebug() << xml->tokenType() << " MASH_STEP->" << xml->name();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1568 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1569 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1570 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1571 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1572 } else {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1573 if (xml->tokenType() == QXmlStreamReader::StartElement)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1574 qDebug() << xml->tokenType() << " MASH->" << xml->name();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1575 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1576 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1577 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "WATERS")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1578 int waterno = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1579 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1580 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1581 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1582 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "WATERS")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1583 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1584 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1585 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "WATER")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1586 /*
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1587 * Process water
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1588 */
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1589 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1590 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1591 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1592 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "WATER")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1593 waterno++;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1594 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1595 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1596 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1597 (xml->name() == "VERSION") || (xml->name() == "DISPLAY_STEP_TEMP") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1598 (xml->name() == "NOTES") || (xml->name() == "DISPLAY_AMOUNT") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1599 (xml->name() == "ALWAYS_ON_STOCK") || (xml->name() == "DEFAULT_WATER")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1600 )) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1601 // Ignore.
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1602 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1603 if (waterno)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1604 r->w2_name = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1605 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1606 r->w1_name = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1607 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "PH")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1608 if (waterno)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1609 r->w2_ph = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1610 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1611 r->w1_ph = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1612 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "AMOUNT")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1613 if (waterno)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1614 r->w2_amount = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1615 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1616 r->w1_amount = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1617 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CALCIUM")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1618 if (waterno)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1619 r->w2_calcium = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1620 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1621 r->w1_calcium = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1622 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "BICARBONATE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1623 if (waterno)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1624 r->w2_total_alkalinity = 1.22 * xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1625 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1626 r->w1_total_alkalinity = 1.22 * xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1627 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "SULFATE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1628 if (waterno)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1629 r->w2_sulfate = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1630 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1631 r->w1_sulfate = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1632 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CHLORIDE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1633 if (waterno)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1634 r->w2_chloride = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1635 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1636 r->w1_chloride = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1637 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "SODIUM")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1638 if (waterno)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1639 r->w2_sodium = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1640 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1641 r->w1_sodium = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1642 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MAGNESIUM")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1643 if (waterno)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1644 r->w2_magnesium = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1645 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1646 r->w1_magnesium = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1647 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TOTAL_ALKALINITY")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1648 if (waterno)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1649 r->w2_total_alkalinity = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1650 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1651 r->w1_total_alkalinity = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1652 } else {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1653 if (xml->tokenType() == QXmlStreamReader::StartElement)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1654 qDebug() << xml->tokenType() << " WATER->" << xml->name();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1655 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1656 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1657 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1658 }
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1659 } else {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1660 if (xml->tokenType() == QXmlStreamReader::StartElement)
289
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1661 qDebug() << xml->tokenType() << " RECIPE" << xml->name();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1662 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1663 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1664 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1665 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1666 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MASHS")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1667 /*
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1668 * Mashes
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1669 */
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1670 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1671 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1672 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1673 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "MASHS")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1674 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1675 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1676 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MASH")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1677 /*
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1678 * Mash
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1679 */
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1680 total++;
288
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1681 Mashs *m = new Mashs();
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1682 m->name = m->notes = "";
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1683
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1684 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1685 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1686 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1687 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "MASH")) {
288
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1688 query.prepare("INSERT INTO profile_mash SET name=:name, notes=:notes, steps=:steps, uuid=:uuid");
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1689 query.bindValue(":name", m->name);
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1690 query.bindValue(":notes", m->notes);
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1691 query.bindValue(":steps", m->steps.toJson(QJsonDocument::Compact));
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1692 query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36));
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1693 query.exec();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1694 if (query.lastError().isValid()) {
288
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1695 qWarning() << query.lastError();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1696 errors++;
288
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1697 } else {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1698 qInfo() << "Inserted mash step" << m->name;
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1699 }
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1700 ui->progressBar->setValue(round(100 * xml->characterOffset() / fsize));
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1701 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1702 }
288
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1703 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1704 (xml->name() == "VERSION") || (xml->name() == "GRAIN_TEMP") ||
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1705 (xml->name() == "TUN_TEMP") || (xml->name() == "SPARGE_TEMP") ||
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1706 (xml->name() == "SG_LAST_RUNNINGS") || (xml->name() == "PH_LAST_RUNNINGS") ||
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1707 (xml->name() == "PH") || (xml->name() == "TUN_WEIGHT") ||
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1708 (xml->name() == "TUN_SPECIFIC_HEAT") || (xml->name() == "EQUIP_ADJUST"))) {
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1709 // Ignore.
288
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1710 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1711 m->name = xml->readElementText();
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1712 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1713 m->notes = xml->readElementText();
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1714 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MASH_STEPS")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1715 QJsonArray array;
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1716 while (xml->readNext()) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1717 if (xml->atEnd())
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1718 break;
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1719 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "MASH_STEPS")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1720 m->steps.setArray(array);
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1721 break;
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1722 }
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1723 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MASH_STEP")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1724 /*
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1725 * Process mash step
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1726 */
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1727 QJsonObject obj;
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1728 while (xml->readNext()) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1729 if (xml->atEnd())
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1730 break;
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1731 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "MASH_STEP")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1732 array.append(obj);
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1733 break;
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1734 }
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1735 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1736 (xml->name() == "VERSION") || (xml->name() == "DISPLAY_STEP_TEMP") ||
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1737 (xml->name() == "PH") || (xml->name() == "WATER_GRAIN_RATIO") ||
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1738 (xml->name() == "DECOCTION_AMT") || (xml->name() == "INFUSE_TEMP") ||
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1739 (xml->name() == "INFUSE_AMOUNT") || (xml->name() == "DISPLAY_INFUSE_AMT"))) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1740 // Ignore.
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1741 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1742 obj.insert("step_name", xml->readElementText());
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1743 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1744 QString temp = xml->readElementText();
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1745 if (temp == "Infusion")
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1746 obj.insert("step_type", 0);
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1747 else if (temp == "Temperature")
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1748 obj.insert("step_type", 1);
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1749 else if (temp == "Decoction")
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1750 obj.insert("step_type", 2);
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1751 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STEP_TEMP")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1752 obj.insert("step_temp", xml->readElementText().toDouble());
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1753 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "END_TEMP")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1754 obj.insert("end_temp", xml->readElementText().toDouble());
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1755 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STEP_TIME")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1756 obj.insert("step_time", xml->readElementText().toDouble());
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1757 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "RAMP_TIME")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1758 obj.insert("ramp_time", xml->readElementText().toDouble());
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1759 } else {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1760 if (xml->tokenType() == QXmlStreamReader::StartElement)
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1761 qDebug() << "4 " << xml->tokenType() << xml->name();
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1762 }
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1763 }
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1764 }
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1765 }
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1766
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1767 } else {
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1768 if (xml->tokenType() == QXmlStreamReader::StartElement)
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1769 qDebug() << "2 " << xml->tokenType() << xml->name();
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1770 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1771 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1772 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1773 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1774 } else {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1775 qDebug() << "Unknown level 0" << xml->name();
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1776 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1777 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1778 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1779 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1780
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1781 log.append(QString(" total errors\n"));
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1782 log.append(QString(" ----- ------\n"));
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1783 log.append(QString("total %1 %2\n").arg(total, 3).arg(errors, 3));
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1784 ui->logEdit->setPlainText(log);
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
1785 qInfo() << "Import" << total << "records, " << total - errors << "ok, " << errors << "errors";
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1786
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1787 ui->progressBar->setValue(100);
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1788 if (xml->hasError()) {
276
7316a419334d Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.
Michiel Broek <mbroek@mbse.eu>
parents: 275
diff changeset
1789 qWarning() << "XML error" << xml->error() << xml->errorString();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1790 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1791 file.close();
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1792 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1793
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1794

mercurial