src/InventoryEquipments.cpp

Sat, 19 Mar 2022 19:22:58 +0100

author
Michiel Broek <mbroek@mbse.eu>
date
Sat, 19 Mar 2022 19:22:58 +0100
changeset 64
b0d30697af67
parent 47
160e4b407a7d
child 73
ebd2fc719b1a
permissions
-rw-r--r--

First step in loading the Inventory Suppliers database on the mainscreen. But, it is loaded at program start en not removed when done. Weird programming to get this working.

30
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 /**
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 * InventoryEquipments.cpp is part of bmsapp.
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 *
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 * bmsapp is free software: you can redistribute it and/or modify
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 * it under the terms of the GNU General Public License as published by
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 * the Free Software Foundation, either version 3 of the License, or
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 * (at your option) any later version.
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 *
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 * bmsapp is distributed in the hope that it will be useful,
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 * GNU General Public License for more details.
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 *
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 * You should have received a copy of the GNU General Public License
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 */
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17 #include "InventoryEquipments.h"
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18 #include "EditEquipment.h"
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19 #include "../ui/ui_InventoryEquipments.h"
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20 #include "config.h"
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21 #include "bmsapp.h"
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
24 InventoryEquipments::InventoryEquipments(QWidget *parent) : QDialog(parent), ui(new Ui::InventoryEquipments)
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
25 {
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26 qDebug() << "InventoryEquipments start";
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28 ui->setupUi(this);
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29 emit refreshTable();
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
30
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
31 setWindowTitle( QString("BMSapp - %1 - Inventory Equipments").arg(VERSIONSTRING) );
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
32 }
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
33
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
34
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
35 void InventoryEquipments::refreshTable()
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
36 {
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
37 QString w;
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
38
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
39 qDebug() << "InventoryEquipments reload";
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
40
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
41 QSqlQuery query("SELECT * FROM inventory_equipments ORDER BY name");
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
42 const QStringList labels({tr("Name"), tr("Boil volume"), tr("Batch size"), tr("Notes"), tr("Edit")});
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
43
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
44 ui->tableEquipments->setColumnCount(5);
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
45 ui->tableEquipments->setColumnWidth(0, 180); /* Name */
31
ab17a56a47dd Setup translation system and started the Dutch translation
Michiel Broek <mbroek@mbse.eu>
parents: 30
diff changeset
46 ui->tableEquipments->setColumnWidth(1, 90); /* Boil volume */
ab17a56a47dd Setup translation system and started the Dutch translation
Michiel Broek <mbroek@mbse.eu>
parents: 30
diff changeset
47 ui->tableEquipments->setColumnWidth(2, 90); /* Batch size */
30
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
48 ui->tableEquipments->setColumnWidth(3, 680); /* Notes */
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49 ui->tableEquipments->setColumnWidth(4, 80); /* Edit button */
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
50 ui->tableEquipments->setRowCount(query.size());
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
51 ui->tableEquipments->setHorizontalHeaderLabels(labels);
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
52 ui->tableEquipments->verticalHeader()->hide();
31
ab17a56a47dd Setup translation system and started the Dutch translation
Michiel Broek <mbroek@mbse.eu>
parents: 30
diff changeset
53 ui->tableEquipments->setFixedSize(1120 + 24, 640); /* Even if this is too large, it works */
30
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
54
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
55 QTableWidgetItem *rightitem = new QTableWidgetItem();
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
56 rightitem->setTextAlignment(Qt::AlignRight);
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
57
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
58 query.first();
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
59 for (int ridx = 0 ; ridx < query.size() ; ridx++ ) {
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
60 ui->tableEquipments->setItem(ridx, 0, new QTableWidgetItem(query.value(1).toString())); /* Name */
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
61 w = QString("%1 L").arg(query.value(2).toDouble(), 2, 'f', 1, '0' ); /* Boil volume */
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
62 QTableWidgetItem *item = new QTableWidgetItem(w);
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
63 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter);
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
64 ui->tableEquipments->setItem(ridx, 1, item);
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
65 w = QString("%1 L").arg(query.value(3).toDouble(), 2, 'f', 1, '0' ); /* Batch size */
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
66 item = new QTableWidgetItem(w);
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
67 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter);
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
68 ui->tableEquipments->setItem(ridx, 2, item);
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
69 ui->tableEquipments->setItem(ridx, 3, new QTableWidgetItem(query.value(16).toString())); /* Notes */
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
70
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
71 /* Add the Edit button */
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
72 QWidget* pWidget = new QWidget();
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
73 QPushButton* btn_edit = new QPushButton();
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
74 btn_edit->setObjectName(QString("%1").arg(query.value(0).toString())); /* Send record with the button */
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
75 btn_edit->setText(tr("Edit"));
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
76 connect(btn_edit, SIGNAL(clicked()), this, SLOT(on_editButton_clicked()));
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
77 QHBoxLayout* pLayout = new QHBoxLayout(pWidget);
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
78 pLayout->addWidget(btn_edit);
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
79 pLayout->setContentsMargins(5, 0, 5, 0);
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
80 pWidget->setLayout(pLayout);
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
81 ui->tableEquipments->setCellWidget(ridx, 4, pWidget);
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
82 query.next();
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
83 }
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
84
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
85 setWindowTitle( QString("BMSapp - %1 - Inventory Equipments").arg(VERSIONSTRING) );
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
86 }
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
87
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
88
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
89 InventoryEquipments::~InventoryEquipments()
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
90 {
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
91 qDebug() << "InventoryEquipments done";
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
92 delete ui;
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
93 }
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
94
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
95
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
96 void InventoryEquipments::edit(int recno)
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
97 {
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
98 qDebug() << "InventoryEquipments edit:" << recno;
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
99
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
100 EditEquipment dialog(recno, this);
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
101 /* Signal from editor if a refresh is needed */
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
102 connect(&dialog, SIGNAL(entry_changed()), this, SLOT(refreshTable()));
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
103 dialog.setModal(true);
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
104 dialog.exec();
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
105 }
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
106
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
107
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
108 void InventoryEquipments::on_editButton_clicked()
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
109 {
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
110 QPushButton *pb = qobject_cast<QPushButton *>(QObject::sender());
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
111 int recno = pb->objectName().toInt();
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
112 qDebug() << Q_FUNC_INFO << recno;
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
113 edit(recno);
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
114 }
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
115
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
116
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
117 void InventoryEquipments::on_insertButton_clicked()
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
118 {
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
119 qDebug() << Q_FUNC_INFO;
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
120 edit(-1);
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
121 }
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
122
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
123
47
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
124 void InventoryEquipments::on_exportButton_clicked()
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
125 {
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
126 qDebug() << Q_FUNC_INFO;
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
127
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
128 QSqlQuery query("SELECT * FROM inventory_equipments ORDER BY name");
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
129
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
130 QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"), QDir::homePath() + "/equipments.xml", tr("Files (*.xml)"));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
131 if (fileName == 0) {
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
132 QMessageBox::warning(this, tr("Save File"), tr("No XML file selected."));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
133 return;
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
134 }
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
135
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
136 QFile file(fileName);
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
137 file.open(QIODevice::WriteOnly);
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
138
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
139 QXmlStreamWriter *xmlWriter = new QXmlStreamWriter(&file);
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
140 xmlWriter->writeStartDocument();
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
141 xmlWriter->setAutoFormatting(true);
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
142 xmlWriter->setAutoFormattingIndent(1);
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
143 xmlWriter->writeStartElement("EQUIPMENTS");
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
144
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
145 query.first();
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
146 for (int i = 0 ; i < query.size() ; i++ ) {
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
147 xmlWriter->writeStartElement("EQUIPMENT");
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
148 xmlWriter->writeTextElement("VERSION", "1");
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
149 xmlWriter->writeTextElement("NAME", query.value(1).toString());
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
150 xmlWriter->writeTextElement("NOTES", query.value(16).toString());
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
151 xmlWriter->writeTextElement("BOIL_SIZE", QString::number(query.value(2).toDouble(), 'f', 4));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
152 xmlWriter->writeTextElement("BATCH_SIZE", QString::number(query.value(3).toDouble(), 'f', 4));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
153 xmlWriter->writeTextElement("TUN_VOLUME", QString::number(query.value(4).toDouble(), 'f', 5));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
154 xmlWriter->writeTextElement("TUN_WEIGHT", QString::number(query.value(5).toDouble(), 'f', 5));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
155 xmlWriter->writeTextElement("TUN_SPECIFIC_HEAT", QString::number(query.value(6).toDouble(), 'f', 5));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
156 xmlWriter->writeTextElement("TUN_HEIGHT", QString::number(query.value(8).toDouble(), 'f', 5));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
157 xmlWriter->writeTextElement("TRUB_CHILLER_LOSS", QString::number(query.value(10).toDouble(), 'f', 5));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
158 xmlWriter->writeTextElement("EVAP_RATE", QString::number(query.value(11).toDouble(), 'f', 5));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
159 xmlWriter->writeTextElement("BOIL_TIME", QString::number(query.value(12).toDouble(), 'f', 5));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
160 xmlWriter->writeTextElement("CALC_BOIL_VOLUME", query.value(13).toInt() ? "TRUE":"FALSE");
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
161 xmlWriter->writeTextElement("TOP_UP_KETTLE", QString::number(query.value(14).toDouble(), 'f', 5));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
162 xmlWriter->writeTextElement("HOP_UTILIZATION", QString::number(query.value(15).toDouble(), 'f', 5));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
163 xmlWriter->writeTextElement("LAUTER_VOLUME", QString::number(query.value(17).toDouble(), 'f', 5));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
164 xmlWriter->writeTextElement("LAUTER_HEIGHT", QString::number(query.value(18).toDouble(), 'f', 5));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
165 xmlWriter->writeTextElement("LAUTER_DEADSPACE", QString::number(query.value(19).toDouble(), 'f', 5));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
166 xmlWriter->writeTextElement("KETTLE_VOLUME", QString::number(query.value(20).toDouble(), 'f', 5));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
167 xmlWriter->writeTextElement("KETTLE_HEIGHT", QString::number(query.value(21).toDouble(), 'f', 5));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
168 xmlWriter->writeTextElement("MASH_VOLUME", QString::number(query.value(22).toDouble(), 'f', 5));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
169 xmlWriter->writeTextElement("EFFICIENCY", QString::number(query.value(24).toDouble(), 'f', 5));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
170 xmlWriter->writeEndElement();
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
171 query.next();
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
172 }
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
173
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
174 xmlWriter->writeEndElement();
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
175 xmlWriter->writeEndDocument();
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
176 QMessageBox::information(this, tr("Save File"), tr("XML export ready"));
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
177
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
178 file.close();
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
179 }
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
180
160e4b407a7d Added export XML equipments.
Michiel Broek <mbroek@mbse.eu>
parents: 31
diff changeset
181
30
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
182 void InventoryEquipments::on_quitButton_clicked()
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
183 {
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
184 emit firstWindow();
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
185 }
0fec6a1abd13 Added inventory equipment table and editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
186

mercurial