src/EditMisc.cpp

Sat, 16 Apr 2022 21:54:43 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sat, 16 Apr 2022 21:54:43 +0200
changeset 139
f947c6988e91
parent 90
2396457a8167
child 292
b6ec2e275736
permissions
-rw-r--r--

Fixed complains about missing signals. Added add misc row, misc amount changed, misc time changed, misc select changed and misc instock changed. Silence false changed trigger.

28
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 /**
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 * EditMisc.cpp is part of bmsapp.
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 *
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 * bmsapp is free software: you can redistribute it and/or modify
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 * it under the terms of the GNU General Public License as published by
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 * the Free Software Foundation, either version 3 of the License, or
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 * (at your option) any later version.
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 *
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 * bmsapp is distributed in the hope that it will be useful,
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 * GNU General Public License for more details.
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 *
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 * You should have received a copy of the GNU General Public License
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 */
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17 #include "EditMisc.h"
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18 #include "../ui/ui_EditMisc.h"
90
2396457a8167 Moved functions from bmsapp.cpp to MainWindow.cpp
Michiel Broek <mbroek@mbse.eu>
parents: 60
diff changeset
19 #include "MainWindow.h"
28
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22 EditMisc::EditMisc(int id, QWidget *parent) : QDialog(parent), ui(new Ui::EditMisc)
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23 {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
24 QSqlQuery query;
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
25
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26 qDebug() << "EditMisc record:" << id;
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27 ui->setupUi(this);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28 this->recno = id;
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
30 WindowTitle();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
31
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
32 ui->typeEdit->addItem(tr("Spice"));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
33 ui->typeEdit->addItem(tr("Herb"));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
34 ui->typeEdit->addItem(tr("Flavor"));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
35 ui->typeEdit->addItem(tr("Fining"));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
36 ui->typeEdit->addItem(tr("Water agent"));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
37 ui->typeEdit->addItem(tr("Yeast nutrient"));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
38 ui->typeEdit->addItem(tr("Other"));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
39
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
40 ui->useEdit->addItem(tr("Starter"));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
41 ui->useEdit->addItem(tr("Mash"));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
42 ui->useEdit->addItem(tr("Boil"));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
43 ui->useEdit->addItem(tr("Primary"));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
44 ui->useEdit->addItem(tr("Secondary"));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
45 ui->useEdit->addItem(tr("Bottling"));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
46
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
47 if (id >= 0) {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
48 query.prepare("SELECT * FROM inventory_miscs WHERE record = :recno");
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49 query.bindValue(":recno", id);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
50 query.exec();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
51 query.next();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
52
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
53 ui->nameEdit->setText(query.value(1).toString());
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
54 ui->typeEdit->setCurrentIndex(query.value(2).toInt());
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
55 ui->useEdit->setCurrentIndex(query.value(3).toInt());
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
56 ui->timeEdit->setValue(query.value(4).toInt());
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
57 ui->isweightEdit->setChecked(query.value(5).toInt() ? true:false);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
58 ui->useforEdit->setPlainText(query.value(6).toString());
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
59 ui->notesEdit->setPlainText(query.value(7).toString());
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
60 ui->alwaysEdit->setChecked(query.value(8).toInt() ? true:false);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
61 ui->inventoryEdit->setValue(query.value(9).toDouble());
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
62 ui->costEdit->setValue(query.value(10).toDouble());
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
63 ui->valueEdit->setValue(query.value(9).toDouble() * query.value(10).toDouble());
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
64 if (query.value(11).toString().length() == 10) {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
65 ui->prodEdit->setDate(query.value(11).toDate());
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
66 } else {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
67 ui->prodEdit->clear();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
68 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
69 if (query.value(12).toString().length() == 10) {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
70 ui->thtEdit->setDate(query.value(12).toDate());
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
71 } else {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
72 ui->thtEdit->clear();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
73 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
74 } else {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
75 /* Set some defaults */
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
76 ui->typeEdit->setCurrentIndex(0);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
77 ui->useEdit->setCurrentIndex(0);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
78 ui->timeEdit->setValue(0);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
79 ui->prodEdit->clear();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
80 ui->thtEdit->clear();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
81 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
82 TimeSet();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
83 connect(ui->nameEdit, &QLineEdit::textChanged, this, &EditMisc::is_changed);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
84 connect(ui->typeEdit, &QComboBox::currentTextChanged, this, &EditMisc::is_changed);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
85 connect(ui->useEdit, &QComboBox::currentTextChanged, this, &EditMisc::is_changed);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
86 connect(ui->timeEdit, &QSpinBox::textChanged, this, &EditMisc::time_changed);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
87 connect(ui->isweightEdit, &QCheckBox::stateChanged, this, &EditMisc::is_changed);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
88 connect(ui->useforEdit, SIGNAL(textChanged()), this, SLOT(is_changed()));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
89 connect(ui->notesEdit, SIGNAL(textChanged()), this, SLOT(is_changed()));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
90 connect(ui->alwaysEdit, &QCheckBox::stateChanged, this, &EditMisc::is_changed);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
91 connect(ui->inventoryEdit, &QDoubleSpinBox::textChanged, this, &EditMisc::is_changed);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
92 connect(ui->costEdit, &QDoubleSpinBox::textChanged, this, &EditMisc::is_changed);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
93 connect(ui->prodEdit, &QDateEdit::dateChanged, this, &EditMisc::is_changed);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
94 connect(ui->thtEdit, &QDateEdit::dateChanged, this, &EditMisc::is_changed);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
95
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
96 ui->saveButton->setEnabled(false);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
97 ui->deleteButton->setEnabled((ui->inventoryEdit->value() == 0 && id >= 0) ? true:false);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
98 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
99
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
100
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
101 EditMisc::~EditMisc()
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
102 {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
103 qDebug() << "EditMisc done";
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
104 delete ui;
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
105 emit entry_changed();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
106 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
107
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
108
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
109 /*
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
110 * Window header, mark any change with '**'
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
111 */
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
112 void EditMisc::WindowTitle()
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
113 {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
114 QString txt;
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
115
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
116 if (this->recno < 0) {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
117 txt = QString(tr("BMSapp - Add new misc ingredient"));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
118 } else {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
119 txt = QString(tr("BMSapp - Edit misc ingredient %1").arg(this->recno));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
120 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
121
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
122 if (this->textIsChanged) {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
123 txt.append((QString(" **")));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
124 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
125 setWindowTitle(txt);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
126 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
127
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
128
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
129 void EditMisc::on_saveButton_clicked()
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
130 {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
131 QSqlQuery query;
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
132
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
133 /* If there are errors in the form, show a message and do "return;" */
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
134 if (ui->nameEdit->text().length() < 2) {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
135 QMessageBox::warning(this, tr("Edit Misc"), tr("Name empty or too short."));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
136 return;
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
137 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
138
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
139 if (this->textIsChanged) {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
140 if (this->recno == -1) {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
141 query.prepare("INSERT INTO inventory_miscs SET name=:name, type=:type, use_use=:use, "
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
142 "time=:time, amount_is_weight=:isweight, use_for=:usefor, notes=:notes, "
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
143 "always_on_stock=:always, inventory=:inventory, cost=:cost, production_date=:prod, "
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
144 "tht_date=:tht, uuid = :uuid");
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
145 } else {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
146 query.prepare("UPDATE inventory_miscs SET name=:name, type=:type, use_use=:use, "
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
147 "time=:time, amount_is_weight=:isweight, use_for=:usefor, notes=:notes, "
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
148 "always_on_stock=:always, inventory=:inventory, cost=:cost, production_date=:prod, "
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
149 "tht_date=:tht WHERE record = :recno");
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
150 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
151 query.bindValue(":name", ui->nameEdit->text());
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
152 query.bindValue(":type", ui->typeEdit->currentIndex());
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
153 query.bindValue(":use", ui->useEdit->currentIndex());
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
154 query.bindValue(":time", ui->timeEdit->value());
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
155 query.bindValue(":isweight", ui->isweightEdit->isChecked() ? 1:0);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
156 query.bindValue(":usefor", ui->useforEdit->toPlainText());
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
157 query.bindValue(":notes", ui->notesEdit->toPlainText());
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
158 query.bindValue(":always", ui->alwaysEdit->isChecked() ? 1:0);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
159 query.bindValue(":inventory", QString("%1").arg(ui->inventoryEdit->value() / 1000.0, 5, 'f', 4, '0'));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
160 query.bindValue(":cost", QString("%1").arg(ui->costEdit->value(), 3, 'f', 2, '0'));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
161 /* Uses https://www.qtcentre.org/threads/17295-How-to-put-empty-value-in-QDateEdit */
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
162 query.bindValue(":prod", ui->prodEdit->nullDate());
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
163 query.bindValue(":tht", ui->thtEdit->nullDate());
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
164 if (this->recno == -1) {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
165 query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
166 } else {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
167 query.bindValue(":recno", this->recno);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
168 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
169 query.exec();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
170 if (query.lastError().isValid()) {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
171 qDebug() << "EditMisc" << query.lastError();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
172 QMessageBox::warning(this, tr("Database error"),
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
173 tr("MySQL error: %1\n%2\n%3")
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
174 .arg(query.lastError().nativeErrorCode())
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
175 .arg(query.lastError().driverText())
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
176 .arg(query.lastError().databaseText()));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
177 } else {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
178 qDebug() << "EditMisc Saved";
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
179 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
180 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
181
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
182 ui->saveButton->setEnabled(false);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
183 this->textIsChanged = false;
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
184 WindowTitle();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
185 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
186
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
187
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
188 void EditMisc::on_deleteButton_clicked()
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
189 {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
190 QSqlQuery query;
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
191
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
192 query.prepare("DELETE FROM inventory_miscs WHERE record = :recno");
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
193 query.bindValue(":recno", this->recno);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
194 query.exec();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
195 if (query.lastError().isValid()) {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
196 qDebug() << "EditMisc" << query.lastError();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
197 QMessageBox::warning(this, tr("Database error"),
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
198 tr("MySQL error: %1\n%2\n%3")
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
199 .arg(query.lastError().nativeErrorCode())
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
200 .arg(query.lastError().driverText())
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
201 .arg(query.lastError().databaseText()));
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
202 } else {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
203 qDebug() << "EditMisc Deleted" << this->recno;
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
204 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
205
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
206 this->close();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
207 this->setResult(1);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
208 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
209
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
210
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
211 void EditMisc::TimeSet()
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
212 {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
213 int time = ui->timeEdit->value();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
214 QString w = QString("");
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
215
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
216 if (time == 0) {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
217 ui->timeEdit->setSingleStep(1);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
218
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
219 } else if (time == 1) {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
220 w = QString("1 minute");
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
221 ui->timeEdit->setSingleStep(1);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
222
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
223 } else if (time < 180) {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
224 w = QString("%1 minutes").arg(time);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
225 ui->timeEdit->setSingleStep(1);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
226
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
227 } else if (time == 180) {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
228 w = QString("3 hours");
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
229 if (lasttime == 240)
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
230 ui->timeEdit->setSingleStep(1); /* Going down */
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
231 else
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
232 ui->timeEdit->setSingleStep(60);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
233
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
234 } else if (time < 1440) {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
235 w = QString("%1 hours").arg(time / 60);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
236 ui->timeEdit->setSingleStep(60);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
237
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
238 } else if (time == 1440) {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
239 w = QString("1 day");
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
240 if (lasttime == 2880)
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
241 ui->timeEdit->setSingleStep(60); /* Going down */
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
242 else
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
243 ui->timeEdit->setSingleStep(1440);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
244
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
245 } else {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
246 w = QString("%1 days").arg(time / 1440);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
247 ui->timeEdit->setSingleStep(1440);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
248
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
249 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
250 ui->timeShow->setText(w);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
251 lasttime = time;
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
252 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
253
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
254
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
255 void EditMisc::is_changed()
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
256 {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
257 ui->valueEdit->setValue(ui->inventoryEdit->value() * ui->costEdit->value());
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
258 ui->saveButton->setEnabled(true);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
259 ui->deleteButton->setEnabled((ui->inventoryEdit->value() == 0 && this->recno >= 0) ? true:false);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
260 this->textIsChanged = true;
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
261 WindowTitle();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
262 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
263
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
264
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
265 void EditMisc::time_changed()
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
266 {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
267 TimeSet();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
268 is_changed();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
269 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
270
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
271
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
272 void EditMisc::on_quitButton_clicked()
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
273 {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
274 if (this->textIsChanged) {
60
0d65238ebedc Updated translations and some messages.
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
275 int rc = QMessageBox::warning(this, tr("Misc changed"), tr("The ingredient has been modified. Save changes?"),
28
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
276 QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel, QMessageBox::Save);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
277 switch (rc) {
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
278 case QMessageBox::Save:
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
279 on_saveButton_clicked();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
280 break; /* Saved and then Quit */
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
281 case QMessageBox::Discard:
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
282 break; /* Quit without Save */
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
283 case QMessageBox::Cancel:
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
284 return; /* Return to the editor page */
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
285 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
286 }
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
287
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
288 this->close();
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
289 this->setResult(1);
93a70b1502ca Added the inventory miscs table.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
290 }

mercurial