src/InventoryWaters.cpp

changeset 46
404b79f6a681
parent 29
76846c99f827
child 72
7992c686e349
equal deleted inserted replaced
45:4024b389f689 46:404b79f6a681
135 qDebug() << Q_FUNC_INFO; 135 qDebug() << Q_FUNC_INFO;
136 edit(-1); 136 edit(-1);
137 } 137 }
138 138
139 139
140 void InventoryWaters::on_exportButton_clicked()
141 {
142 qDebug() << Q_FUNC_INFO;
143
144 QSqlQuery query("SELECT * FROM inventory_waters ORDER BY name");
145
146 QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"), QDir::homePath() + "/waters.xml", tr("Files (*.xml)"));
147 if (fileName == 0) {
148 QMessageBox::warning(this, tr("Save File"), tr("No XML file selected."));
149 return;
150 }
151
152 QFile file(fileName);
153 file.open(QIODevice::WriteOnly);
154
155 QXmlStreamWriter *xmlWriter = new QXmlStreamWriter(&file);
156 xmlWriter->writeStartDocument();
157 xmlWriter->setAutoFormatting(true);
158 xmlWriter->setAutoFormattingIndent(1);
159 xmlWriter->writeStartElement("WATERS");
160
161 query.first();
162 for (int i = 0 ; i < query.size() ; i++ ) {
163 xmlWriter->writeStartElement("WATER");
164 xmlWriter->writeTextElement("VERSION", "1");
165 xmlWriter->writeTextElement("NAME", query.value(1).toString());
166 if (query.value(13).toDouble() > 0)
167 xmlWriter->writeTextElement("COST", QString::number(query.value(13).toDouble(), 'f', 5));
168 if (query.value(10).toString().length())
169 xmlWriter->writeTextElement("NOTES", query.value(10).toString());
170 xmlWriter->writeTextElement("CALCIUM", QString::number(query.value(3).toDouble(), 'f', 4));
171 xmlWriter->writeTextElement("BICARBONATE", QString::number(query.value(4).toDouble(), 'f', 4));
172 xmlWriter->writeTextElement("SULFATE", QString::number(query.value(5).toDouble(), 'f', 4));
173 xmlWriter->writeTextElement("CHLORIDE", QString::number(query.value(6).toDouble(), 'f', 4));
174 xmlWriter->writeTextElement("SODIUM", QString::number(query.value(7).toDouble(), 'f', 4));
175 xmlWriter->writeTextElement("MAGNESIUM", QString::number(query.value(8).toDouble(), 'f', 4));
176 xmlWriter->writeTextElement("TOTAL_ALKALINITY", QString::number(query.value(11).toDouble(), 'f', 4));
177 xmlWriter->writeTextElement("PH", QString::number(query.value(9).toDouble(), 'f', 5));
178 xmlWriter->writeEndElement();
179 query.next();
180 }
181
182 xmlWriter->writeEndElement();
183 xmlWriter->writeEndDocument();
184 QMessageBox::information(this, tr("Save File"), tr("XML export ready"));
185
186 file.close();
187 }
188
189
140 void InventoryWaters::on_quitButton_clicked() 190 void InventoryWaters::on_quitButton_clicked()
141 { 191 {
142 emit firstWindow(); 192 emit firstWindow();
143 } 193 }
144 194

mercurial