src/ImportXML.cpp

Thu, 30 Jun 2022 21:05:30 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Thu, 30 Jun 2022 21:05:30 +0200
changeset 323
d053ffbbf3e9
parent 289
12f915849e4a
child 338
473479de8c5b
permissions
-rw-r--r--

Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.

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();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1038 if (temp == "Rager")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1039 r->ibu_method = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1040 else if (temp == "Daniels")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1041 r->ibu_method = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1042 else if (temp == "Garetz")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1043 r->ibu_method = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1044 else if (temp == "Mosher")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1045 r->ibu_method = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1046 else if (temp == "Noonan")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1047 r->ibu_method = 5;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1048 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1049 r->ibu_method = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1050 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COLOR_METHOD")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1051 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1052 if (temp == "Mosher")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1053 r->color_method = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1054 else if (temp == "Daniels")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1055 r->color_method = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1056 else if (temp == "Halberstadt")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1057 r->color_method = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1058 else if (temp == "Naudts")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1059 r->color_method = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1060 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1061 r->color_method = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1062 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STYLE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1063 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1064 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1065 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1066 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "STYLE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1067 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1068 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1069 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1070 (xml->name() == "VERSION") || (xml->name() == "NOTES") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1071 (xml->name() == "PROFILE") || (xml->name() == "EXAMPLES") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1072 (xml->name() == "DISPLAY_OG_MIN") || (xml->name() == "DISPLAY_OG_MAX") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1073 (xml->name() == "DISPLAY_FG_MIN") || (xml->name() == "DISPLAY_FG_MAX") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1074 (xml->name() == "DISPLAY_IBU_MIN") || (xml->name() == "DISPLAY_IBU_MAX") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1075 (xml->name() == "DISPLAY_COLOR_MIN") || (xml->name() == "DISPLAY_COLOR_MAX") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1076 (xml->name() == "DISPLAY_CARB_MIN") || (xml->name() == "DISPLAY_CARB_MAX") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1077 (xml->name() == "DISPLAY_ABV_MIN") || (xml->name() == "DISPLAY_ABV_MAX") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1078 (xml->name() == "OG_RANGE") || (xml->name() == "FG_RANGE") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1079 (xml->name() == "IBU_RANGE") || (xml->name() == "CARB_RANGE") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1080 (xml->name() == "COLOR_RANGE") || (xml->name() == "ABV_RANGE"))) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1081 // Ignore.
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1082 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1083 r->st_name = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1084 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CATEGORY")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1085 r->st_category = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1086 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CATEGORY_NUMBER")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1087 r->st_category_number = xml->readElementText().toInt();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1088 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STYLE_LETTER")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1089 r->st_letter = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1090 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STYLE_GUIDE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1091 r->st_guide = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1092 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1093 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1094 if (temp == "Lager")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1095 r->st_type = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1096 else if (temp == "Ale")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1097 r->st_type = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1098 else if (temp == "Mead")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1099 r->st_type = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1100 else if (temp == "Wheat")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1101 r->st_type = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1102 else if (temp == "Mixed")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1103 r->st_type = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1104 else if (temp == "Cider")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1105 r->st_type = 5;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1106 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "OG_MIN")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1107 r->st_og_min = 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() == "OG_MAX")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1109 r->st_og_max = 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() == "FG_MIN")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1111 r->st_fg_min = 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() == "FG_MAX")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1113 r->st_fg_max = 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() == "IBU_MIN")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1115 r->st_ibu_min = 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() == "IBU_MAX")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1117 r->st_ibu_max = 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() == "COLOR_MIN")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1119 r->st_color_min = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1120 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COLOR_MAX")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1121 r->st_color_max = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1122 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CARB_MIN")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1123 r->st_carb_min = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1124 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "CARB_MAX")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1125 r->st_carb_max = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1126 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ABV_MIN")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1127 r->st_abv_min = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1128 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ABV_MAX")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1129 r->st_abv_max = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1130 } else {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1131 if (xml->tokenType() == QXmlStreamReader::StartElement)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1132 qDebug() << xml->tokenType() << " STYLE->" << xml->name();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1133 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1134 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1135 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "EQUIPMENT")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1136 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1137 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1138 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1139 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "EQUIPMENT")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1140 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1141 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1142 /*
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1143 * 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
1144 * be done after import.
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1145 */
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1146 }
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 /*
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1149 * Ingredients
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1150 */
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1151 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "HOPS")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1152 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1153 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1154 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1155 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "HOPS")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1156 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1157 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1158 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "HOP")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1159 /*
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1160 * Process hop
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1161 */
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1162 Hops *newh = new Hops();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1163 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1164 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1165 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1166 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "HOP")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1167 r->hops.append(*newh);
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1168 delete newh;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1169 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1170 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1171 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1172 newh->name = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1173 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ORIGIN")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1174 newh->origin = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1175 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1176 newh->notes = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1177 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TIME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1178 newh->time = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1179 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "AMOUNT")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1180 newh->amount = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1181 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FORM")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1182 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1183 if (temp == "Plug")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1184 newh->form = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1185 else if (temp == "Leaf")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1186 newh->form = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1187 else if (temp == "Leaf wet")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1188 newh->form = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1189 else if (temp == "Cryo")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1190 newh->form = 4;
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->form = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1193 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ALPHA")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1194 newh->alpha = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1195 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1196 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1197 if (temp == "Aroma")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1198 newh->type = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1199 else if (temp == "Both")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1200 newh->type = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1201 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1202 newh->type = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1203 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "USE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1204 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1205 if (temp == "First wort")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1206 newh->useat = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1207 else if (temp == "Boil")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1208 newh->useat = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1209 else if (temp == "Aroma")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1210 newh->useat = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1211 else if (temp == "Whirlpool")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1212 newh->useat = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1213 else if (temp == "Dry hop")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1214 newh->useat = 5;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1215 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1216 newh->useat = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1217 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "BETA")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1218 newh->beta = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1219 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "HSI")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1220 newh->hsi = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1221 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "SUBSTITUTES")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1222 newh->substitutes = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1223 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "HUMULENE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1224 newh->humulene = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1225 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) &&
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1226 ((xml->name() == "CARYOPHYLLENE") || (xml->name() == "CAROPHYLLENE"))) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1227 newh->caryophyllene = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1228 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COHUMULONE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1229 newh->cohumulone = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1230 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MYRCENE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1231 newh->myrcene = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1232 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TOTAL_OIL")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1233 newh->total_oil = xml->readElementText().toDouble();
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 }
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 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1238 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FERMENTABLES")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1239 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1240 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1241 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1242 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "FERMENTABLES")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1243 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1244 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1245 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FERMENTABLE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1246 /*
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1247 * Process fermentable
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1248 */
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1249 Fermentables *f = new Fermentables();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1250 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1251 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1252 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1253 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "FERMENTABLE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1254 r->fermentables.append(*f);
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1255 delete f;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1256 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1257 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1258 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1259 (xml->name() == "VERSION") || (xml->name() == "DISPLAY_STEP_TEMP") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1260 (xml->name() == "DISPLAY_AMOUNT") || (xml->name() == "COST") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1261 (xml->name() == "DISPLAY_COST") || (xml->name() == "INVENTORY") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1262 (xml->name() == "ALWAYS_ON_STOCK") || (xml->name() == "DISPLAY_COLOR") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1263 (xml->name() == "PERCENTAGE") || (xml->name() == "ADJUST_TO_TOTAL_100"))) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1264 // Ignore.
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1265 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1266 f->name = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1267 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1268 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1269 if (temp == "Sugar")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1270 f->type = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1271 else if (temp == "Extract")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1272 f->type = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1273 else if (temp == "Dry extract")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1274 f->type = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1275 else if (temp == "Adjunct")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1276 f->type = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1277 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1278 f->type = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1279 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ORIGIN")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1280 f->origin = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1281 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "SUPPLIER")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1282 f->supplier = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1283 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1284 f->notes = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1285 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "AMOUNT")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1286 f->amount = 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() == "YIELD")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1288 f->yield = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1289 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COARSE_FINE_DIFF")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1290 f->coarse_fine_diff = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1291 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MOISTURE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1292 f->moisture = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1293 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "DIASTATIC_POWER")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1294 f->diastatic_power = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1295 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MAX_IN_BATCH")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1296 f->max_in_batch = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1297 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "RECOMMEND_MASH")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1298 f->recommend_mash = (xml->readElementText() == "TRUE") ? true:false;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1299 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "GRAINTYPE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1300 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1301 if (temp == "Roast")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1302 f->graintype = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1303 else if (temp == "Crystal")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1304 f->graintype = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1305 else if (temp == "Kilned")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1306 f->graintype = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1307 else if (temp == "Sour Malt")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1308 f->graintype = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1309 else if (temp == "Special")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1310 f->graintype = 5;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1311 else if (temp == "No malt")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1312 f->graintype = 6;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1313 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1314 f->graintype = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1315 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ADDED")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1316 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1317 if (temp == "Boil")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1318 f->added = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1319 else if (temp == "Fermentation")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1320 f->added = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1321 else if (temp == "Lagering")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1322 f->added = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1323 else if (temp == "Bottle")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1324 f->added = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1325 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1326 f->added = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1327 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ADD_AFTER_BOIL")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1328 f->add_after_boil = (xml->readElementText() == "TRUE") ? true:false;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1329 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "COLOR")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1330 f->color = Utils::srm_to_ebc(xml->readElementText().toDouble());
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1331 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "PROTEIN")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1332 f->protein = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1333 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "DISSOLVED_PROTEIN")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1334 f->dissolved_protein = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1335 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "DI_pH")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1336 f->di_ph = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1337 } 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
1338 f->acid_to_ph_57 = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1339 } else {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1340 if (xml->tokenType() == QXmlStreamReader::StartElement)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1341 qDebug() << xml->tokenType() << "FERMENTABLE->" << xml->name();
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 }
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 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1346 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MISCS")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1347 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1348 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1349 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1350 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "MISCS")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1351 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1352 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1353 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MISC")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1354 /*
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1355 * Process misc
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1356 */
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1357 Miscs *m = new Miscs();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1358 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1359 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1360 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1361 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "MISC")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1362 r->miscs.append(*m);
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1363 delete m;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1364 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1365 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1366 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1367 (xml->name() == "VERSION") || (xml->name() == "DISPLAY_AMOUNT") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1368 (xml->name() == "FREE_FIELD") || (xml->name() == "FREE_FIELD_NAME") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1369 (xml->name() == "COST") || (xml->name() == "INVENTORY") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1370 (xml->name() == "DISPLAY_COST") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1371 (xml->name() == "ALWAYS_ON_STOCK") || (xml->name() == "DISPLAY_TIME"))) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1372 // Ignore.
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1373 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1374 m->name = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1375 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1376 m->notes = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1377 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "AMOUNT")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1378 m->amount = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1379 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "USE_FOR")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1380 m->use_for = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1381 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1382 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1383 if (temp == "Herb")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1384 m->type = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1385 else if (temp == "Flavor")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1386 m->type = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1387 else if (temp == "Fining")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1388 m->type = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1389 else if (temp == "Water agent")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1390 m->type = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1391 else if (temp == "Yeast nutrient")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1392 m->type = 5;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1393 else if (temp == "Other")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1394 m->type = 6;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1395 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1396 m->type = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1397 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "USE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1398 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1399 if (temp == "Mash")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1400 m->use_use = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1401 else if (temp == "Boil")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1402 m->use_use = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1403 else if (temp == "Primary")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1404 m->use_use = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1405 else if (temp == "Secondary")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1406 m->use_use = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1407 else if (temp == "Bottling")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1408 m->use_use = 5;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1409 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1410 m->use_use = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1411 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "AMOUNT_IS_WEIGHT")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1412 m->amount_is_weight = (xml->readElementText() == "TRUE") ? true:false;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1413 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TIME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1414 m->time = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1415 } else {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1416 if (xml->tokenType() == QXmlStreamReader::StartElement)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1417 qDebug() << xml->tokenType() << " MISC->" << xml->name();
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 }
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 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1422 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "YEASTS")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1423 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1424 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1425 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1426 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "YEASTS")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1427 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1428 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1429 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "YEAST")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1430 /*
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1431 * Process yeast
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1432 */
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1433 Yeasts *y = new Yeasts();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1434 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1435 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1436 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1437 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "YEAST")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1438 r->yeasts.append(*y);
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1439 delete y;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1440 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1441 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1442 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1443 y->name = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1444 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "LABORATORY")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1445 y->laboratory = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1446 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "PRODUCT_ID")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1447 y->product_id = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1448 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1449 y->notes = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1450 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "BEST_FOR")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1451 y->best_for = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1452 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "AMOUNT")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1453 y->amount = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1454 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1455 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1456 if (temp == "Ale")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1457 y->type = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1458 else if (temp == "Wheat")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1459 y->type = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1460 else if (temp == "Wine")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1461 y->type = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1462 else if (temp == "Champagne")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1463 y->type = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1464 else if (temp == "Brett")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1465 y->type = 5;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1466 else if (temp == "Kveik")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1467 y->type = 6;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1468 else if (temp == "Hybrid")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1469 y->type = 7;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1470 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1471 y->type = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1472 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FORM")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1473 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1474 if (temp == "Dry")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1475 y->form = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1476 else if (temp == "Slant")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1477 y->form = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1478 else if (temp == "Culture")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1479 y->form = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1480 else if (temp == "Frozen")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1481 y->form = 4;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1482 else if (temp == "Bottle")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1483 y->form = 5;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1484 else if (temp == "Dried")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1485 y->form = 6;
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->form = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1488 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FLOCCULATION")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1489 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1490 if (temp == "Medium")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1491 y->flocculation = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1492 else if (temp == "High")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1493 y->flocculation = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1494 else if (temp == "Very high")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1495 y->flocculation = 3;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1496 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1497 y->flocculation = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1498 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MIN_TEMPERATURE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1499 y->min_temperature = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1500 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MAX_TEMPERATURE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1501 y->max_temperature = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1502 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ATTENUATION")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1503 y->attenuation = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1504 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MAX_REUSE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1505 y->max_reuse = xml->readElementText().toInt();
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 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1508 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1509 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1510 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MASH")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1511 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1512 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1513 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1514 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "MASH")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1515 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1516 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1517 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1518 (xml->name() == "VERSION") || (xml->name() == "NOTES") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1519 (xml->name() == "GRAIN_TEMP") || (xml->name() == "TUN_TEMP") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1520 (xml->name() == "SG_LAST_RUNNINGS") || (xml->name() == "PH_LAST_RUNNINGS") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1521 (xml->name() == "TUN_WEIGHT") || (xml->name() == "TUN_SPECIFIC_HEAT") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1522 (xml->name() == "EQUIP_ADJUST"))) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1523 // Ignore.
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1524 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1525 r->mash_name = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1526 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "PH")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1527 r->mash_ph = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1528 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "SPARGE_TEMP")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1529 r->sparge_temp = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1530 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MASH_STEPS")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1531 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1532 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1533 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1534 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "MASH_STEPS")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1535 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1536 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1537 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MASH_STEP")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1538 /*
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1539 * Process mash step
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1540 */
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1541 MashSteps *ms = new MashSteps();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1542 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1543 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1544 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1545 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "MASH_STEP")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1546 r->mashs.append(*ms);
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1547 delete ms;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1548 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1549 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1550 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1551 (xml->name() == "VERSION") || (xml->name() == "DISPLAY_STEP_TEMP") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1552 (xml->name() == "PH") || (xml->name() == "WATER_GRAIN_RATIO") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1553 (xml->name() == "DECOCTION_AMT") || (xml->name() == "INFUSE_TEMP") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1554 (xml->name() == "INFUSE_AMOUNT") || (xml->name() == "DISPLAY_INFUSE_AMT")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1555 )) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1556 // Ignore.
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1557 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1558 ms->step_name = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1559 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1560 QString temp = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1561 if (temp == "Infusion")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1562 ms->step_type = 0;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1563 else if (temp == "Temperature")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1564 ms->step_type = 1;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1565 else if (temp == "Decoction")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1566 ms->step_type = 2;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1567 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STEP_TEMP")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1568 ms->step_temp = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1569 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "END_TEMP")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1570 ms->end_temp = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1571 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STEP_TIME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1572 ms->step_time = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1573 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "RAMP_TIME")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1574 ms->ramp_time = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1575 } else {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1576 if (xml->tokenType() == QXmlStreamReader::StartElement)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1577 qDebug() << xml->tokenType() << " MASH_STEP->" << xml->name();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1578 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1579 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1580 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1581 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1582 } else {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1583 if (xml->tokenType() == QXmlStreamReader::StartElement)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1584 qDebug() << xml->tokenType() << " MASH->" << xml->name();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1585 }
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 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "WATERS")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1588 int waterno = 0;
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() == "WATERS")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1593 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1594 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1595 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "WATER")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1596 /*
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1597 * Process water
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1598 */
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1599 while (xml->readNext()) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1600 if (xml->atEnd())
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1601 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1602 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "WATER")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1603 waterno++;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1604 break;
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1605 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1606 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1607 (xml->name() == "VERSION") || (xml->name() == "DISPLAY_STEP_TEMP") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1608 (xml->name() == "NOTES") || (xml->name() == "DISPLAY_AMOUNT") ||
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1609 (xml->name() == "ALWAYS_ON_STOCK") || (xml->name() == "DEFAULT_WATER")
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1610 )) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1611 // Ignore.
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1612 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
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_name = xml->readElementText();
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_name = xml->readElementText();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1617 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "PH")) {
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_ph = 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_ph = 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() == "AMOUNT")) {
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_amount = 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_amount = 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() == "CALCIUM")) {
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_calcium = 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_calcium = 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() == "BICARBONATE")) {
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_total_alkalinity = 1.22 * 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_total_alkalinity = 1.22 * 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() == "SULFATE")) {
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_sulfate = 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_sulfate = 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() == "CHLORIDE")) {
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_chloride = 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_chloride = 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() == "SODIUM")) {
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_sodium = 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_sodium = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1652 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MAGNESIUM")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1653 if (waterno)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1654 r->w2_magnesium = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1655 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1656 r->w1_magnesium = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1657 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TOTAL_ALKALINITY")) {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1658 if (waterno)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1659 r->w2_total_alkalinity = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1660 else
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1661 r->w1_total_alkalinity = xml->readElementText().toDouble();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1662 } else {
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1663 if (xml->tokenType() == QXmlStreamReader::StartElement)
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1664 qDebug() << xml->tokenType() << " WATER->" << xml->name();
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1665 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1666 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1667 }
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1668 }
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1669 } else {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1670 if (xml->tokenType() == QXmlStreamReader::StartElement)
289
12f915849e4a Added import recipes.
Michiel Broek <mbroek@mbse.eu>
parents: 288
diff changeset
1671 qDebug() << xml->tokenType() << " RECIPE" << xml->name();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1672 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1673 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1674 }
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 } 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
1677 /*
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1678 * Mashes
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 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1681 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1682 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1683 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "MASHS")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1684 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1685 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1686 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MASH")) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1687 /*
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1688 * Mash
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1689 */
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1690 total++;
288
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1691 Mashs *m = new Mashs();
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1692 m->name = m->notes = "";
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1693
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1694 while (xml->readNext()) {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1695 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1696 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1697 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "MASH")) {
288
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1698 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
1699 query.bindValue(":name", m->name);
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1700 query.bindValue(":notes", m->notes);
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1701 query.bindValue(":steps", m->steps.toJson(QJsonDocument::Compact));
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1702 query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36));
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1703 query.exec();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1704 if (query.lastError().isValid()) {
288
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1705 qWarning() << query.lastError();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1706 errors++;
288
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1707 } else {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1708 qInfo() << "Inserted mash step" << m->name;
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1709 }
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1710 ui->progressBar->setValue(round(100 * xml->characterOffset() / fsize));
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1711 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1712 }
288
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1713 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1714 (xml->name() == "VERSION") || (xml->name() == "GRAIN_TEMP") ||
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1715 (xml->name() == "TUN_TEMP") || (xml->name() == "SPARGE_TEMP") ||
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1716 (xml->name() == "SG_LAST_RUNNINGS") || (xml->name() == "PH_LAST_RUNNINGS") ||
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1717 (xml->name() == "PH") || (xml->name() == "TUN_WEIGHT") ||
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1718 (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
1719 // Ignore.
288
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1720 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1721 m->name = xml->readElementText();
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1722 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1723 m->notes = xml->readElementText();
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1724 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MASH_STEPS")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1725 QJsonArray array;
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1726 while (xml->readNext()) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1727 if (xml->atEnd())
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1728 break;
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1729 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "MASH_STEPS")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1730 m->steps.setArray(array);
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1731 break;
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1732 }
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1733 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MASH_STEP")) {
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 * Process mash step
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1736 */
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1737 QJsonObject obj;
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1738 while (xml->readNext()) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1739 if (xml->atEnd())
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1740 break;
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1741 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "MASH_STEP")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1742 array.append(obj);
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1743 break;
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1744 }
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1745 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1746 (xml->name() == "VERSION") || (xml->name() == "DISPLAY_STEP_TEMP") ||
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1747 (xml->name() == "PH") || (xml->name() == "WATER_GRAIN_RATIO") ||
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1748 (xml->name() == "DECOCTION_AMT") || (xml->name() == "INFUSE_TEMP") ||
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1749 (xml->name() == "INFUSE_AMOUNT") || (xml->name() == "DISPLAY_INFUSE_AMT"))) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1750 // Ignore.
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1751 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1752 obj.insert("step_name", xml->readElementText());
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1753 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1754 QString temp = xml->readElementText();
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1755 if (temp == "Infusion")
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1756 obj.insert("step_type", 0);
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1757 else if (temp == "Temperature")
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1758 obj.insert("step_type", 1);
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1759 else if (temp == "Decoction")
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1760 obj.insert("step_type", 2);
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1761 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STEP_TEMP")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1762 obj.insert("step_temp", xml->readElementText().toDouble());
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1763 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "END_TEMP")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1764 obj.insert("end_temp", xml->readElementText().toDouble());
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1765 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "STEP_TIME")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1766 obj.insert("step_time", xml->readElementText().toDouble());
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1767 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "RAMP_TIME")) {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1768 obj.insert("ramp_time", xml->readElementText().toDouble());
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1769 } else {
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1770 if (xml->tokenType() == QXmlStreamReader::StartElement)
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1771 qDebug() << "4 " << xml->tokenType() << xml->name();
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1772 }
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1773 }
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1774 }
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1775 }
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1776
717140ab5647 Added import mash profiles.
Michiel Broek <mbroek@mbse.eu>
parents: 286
diff changeset
1777 } else {
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1778 if (xml->tokenType() == QXmlStreamReader::StartElement)
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1779 qDebug() << "2 " << xml->tokenType() << xml->name();
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 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1782 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1783 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1784 } else {
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1785 qDebug() << "Unknown level 0" << xml->name();
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 if (xml->atEnd())
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1788 break;
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1789 }
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 log.append(QString(" total errors\n"));
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1792 log.append(QString(" ----- ------\n"));
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1793 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
1794 ui->logEdit->setPlainText(log);
277
2228d833c52a The equipment import is now final.
Michiel Broek <mbroek@mbse.eu>
parents: 276
diff changeset
1795 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
1796
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1797 ui->progressBar->setValue(100);
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1798 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
1799 qWarning() << "XML error" << xml->error() << xml->errorString();
275
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1800 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1801 file.close();
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1802 }
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1803
f472f9773782 Added import from xml, equipments and beerstyles.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1804

mercurial