Sat, 19 Mar 2022 19:22:58 +0100
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.
15
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1 | /** |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2 | * Setup.cpp is part of bmsapp. |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
3 | * |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
4 | * bmsapp is free software: you can redistribute it and/or modify |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
5 | * it under the terms of the GNU General Public License as published by |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
6 | * the Free Software Foundation, either version 3 of the License, or |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
7 | * (at your option) any later version. |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
8 | * |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
9 | * bmsapp is distributed in the hope that it will be useful, |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
12 | * GNU General Public License for more details. |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
13 | * |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
14 | * You should have received a copy of the GNU General Public License |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
15 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
16 | */ |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
17 | #include "Setup.h" |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
18 | #include "../ui/ui_Setup.h" |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
19 | #include "config.h" |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
20 | #include "bmsapp.h" |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
21 | |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
22 | |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
23 | |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
24 | Setup::Setup(QWidget *parent) : QDialog(parent), ui(new Ui::Setup) |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
25 | { |
16
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
26 | QSqlQuery query; |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
27 | |
15
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
28 | qDebug() << "Setup start"; |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
29 | ui->setupUi(this); |
16
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
30 | setWindowTitle( QString("BMSapp - %1 - Setup").arg(VERSIONSTRING) ); |
15
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
31 | |
16
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
32 | query.prepare("SELECT * FROM profile_setup WHERE record='1'"); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
33 | query.exec(); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
34 | query.next(); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
35 | |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
36 | ui->breweryEdit->setText(query.value(1).toString()); // max 128 |
17
f0bcdbd3d36f
Forgot one signal in Setup. EditSupplier now has signals to track edit changes. The Window header has ** mark if anything is changed. Added errors message boxes.
Michiel Broek <mbroek@mbse.eu>
parents:
16
diff
changeset
|
37 | connect(ui->breweryEdit, &QLineEdit::textChanged, this, &Setup::is_changed); |
16
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
38 | |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
39 | ui->fwhEdit->setValue(query.value(4).toInt()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
40 | ui->mashhopEdit->setValue(query.value(3).toInt()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
41 | ui->pelletEdit->setValue(query.value(5).toInt()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
42 | ui->hopplugEdit->setValue(query.value(6).toInt()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
43 | ui->wethopEdit->setValue(query.value(7).toInt()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
44 | ui->cryohopEdit->setValue(query.value(8).toInt()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
45 | connect(ui->fwhEdit, &QSpinBox::textChanged, this, &Setup::is_changed); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
46 | connect(ui->mashhopEdit, &QSpinBox::textChanged, this, &Setup::is_changed); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
47 | connect(ui->pelletEdit, &QSpinBox::textChanged, this, &Setup::is_changed); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
48 | connect(ui->hopplugEdit, &QSpinBox::textChanged, this, &Setup::is_changed); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
49 | connect(ui->wethopEdit, &QSpinBox::textChanged, this, &Setup::is_changed); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
50 | connect(ui->cryohopEdit, &QSpinBox::textChanged, this, &Setup::is_changed); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
51 | |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
52 | ui->grainEdit->setValue(query.value(12).toDouble()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
53 | ui->brixEdit->setValue(query.value(11).toDouble()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
54 | connect(ui->grainEdit, &QDoubleSpinBox::textChanged, this, &Setup::is_changed); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
55 | connect(ui->brixEdit, &QDoubleSpinBox::textChanged, this, &Setup::is_changed); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
56 | |
31
ab17a56a47dd
Setup translation system and started the Dutch translation
Michiel Broek <mbroek@mbse.eu>
parents:
17
diff
changeset
|
57 | ui->colorEdit->addItem("Morey"); |
ab17a56a47dd
Setup translation system and started the Dutch translation
Michiel Broek <mbroek@mbse.eu>
parents:
17
diff
changeset
|
58 | ui->colorEdit->addItem("Mosher"); |
ab17a56a47dd
Setup translation system and started the Dutch translation
Michiel Broek <mbroek@mbse.eu>
parents:
17
diff
changeset
|
59 | ui->colorEdit->addItem("Daniels"); |
ab17a56a47dd
Setup translation system and started the Dutch translation
Michiel Broek <mbroek@mbse.eu>
parents:
17
diff
changeset
|
60 | ui->colorEdit->addItem("Halberstadt"); |
ab17a56a47dd
Setup translation system and started the Dutch translation
Michiel Broek <mbroek@mbse.eu>
parents:
17
diff
changeset
|
61 | ui->colorEdit->addItem("Naudts"); |
16
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
62 | ui->colorEdit->setEditable(true); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
63 | ui->colorEdit->setCurrentIndex(query.value(10).toInt()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
64 | connect(ui->colorEdit, &QComboBox::currentTextChanged, this, &Setup::is_changed); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
65 | |
31
ab17a56a47dd
Setup translation system and started the Dutch translation
Michiel Broek <mbroek@mbse.eu>
parents:
17
diff
changeset
|
66 | ui->ibuEdit->addItem("Tinseth"); |
ab17a56a47dd
Setup translation system and started the Dutch translation
Michiel Broek <mbroek@mbse.eu>
parents:
17
diff
changeset
|
67 | ui->ibuEdit->addItem("Rager"); |
ab17a56a47dd
Setup translation system and started the Dutch translation
Michiel Broek <mbroek@mbse.eu>
parents:
17
diff
changeset
|
68 | ui->ibuEdit->addItem("Daniels"); |
16
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
69 | ui->ibuEdit->setEditable(true); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
70 | ui->ibuEdit->setCurrentIndex(query.value(9).toInt()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
71 | connect(ui->ibuEdit, &QComboBox::currentTextChanged, this, &Setup::is_changed); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
72 | |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
73 | QSqlQuery query2("SELECT record,name FROM inventory_waters"); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
74 | query2.first(); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
75 | int pos = -1; |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
76 | ui->waterEdit->setEditable(true); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
77 | ui->waterEdit->setPlaceholderText(tr("Choose default water")); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
78 | for (int i = 0 ; i < query2.size() ; i++ ) { |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
79 | ui->waterEdit->addItem(query2.value(1).toString()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
80 | if (query2.value(0).toInt() == query.value(13).toInt()) { |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
81 | pos = i; |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
82 | } |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
83 | query2.next(); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
84 | } |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
85 | if (pos >= 0) |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
86 | ui->waterEdit->setCurrentIndex(pos); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
87 | connect(ui->waterEdit, &QComboBox::currentTextChanged, this, &Setup::is_changed); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
88 | |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
89 | QSqlQuery query3("SELECT DISTINCT laboratory FROM inventory_yeasts ORDER BY laboratory"); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
90 | query3.first(); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
91 | pos = -1; |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
92 | ui->yeastEdit->setEditable(true); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
93 | ui->yeastEdit->setPlaceholderText(tr("Choose laboratory")); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
94 | for (int i = 0 ; i < query3.size() ; i++ ) { |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
95 | ui->yeastEdit->addItem(query3.value(0).toString()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
96 | if (QString::compare(query.value(14).toString(), query3.value(0).toString(), Qt::CaseSensitive) == 0) |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
97 | pos = i; |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
98 | query3.next(); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
99 | } |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
100 | if (pos >= 0) |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
101 | ui->yeastEdit->setCurrentIndex(pos); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
102 | connect(ui->yeastEdit, &QComboBox::currentTextChanged, this, &Setup::is_changed); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
103 | |
41
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
104 | /* logo */ |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
105 | logoByteArray = query.value(2).toByteArray(); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
106 | QPixmap outPixmap = QPixmap(); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
107 | outPixmap.loadFromData(logoByteArray); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
108 | ui->logoLabel->setPixmap(outPixmap); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
109 | ui->logoLabel->adjustSize(); |
15
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
110 | } |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
111 | |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
112 | |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
113 | Setup::~Setup() |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
114 | { |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
115 | qDebug() << "Setup done"; |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
116 | delete ui; |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
117 | } |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
118 | |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
119 | |
41
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
120 | bool Setup::loadFile(const QString &fileName) |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
121 | { |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
122 | QImageReader reader(fileName); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
123 | reader.setAutoTransform(true); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
124 | const QImage newImage = reader.read(); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
125 | if (newImage.isNull()) { |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
126 | QMessageBox::information(this, QGuiApplication::applicationDisplayName(), tr("Cannot load %1: %2") |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
127 | .arg(QDir::toNativeSeparators(fileName), reader.errorString())); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
128 | return false; |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
129 | } |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
130 | setImage(newImage); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
131 | setWindowFilePath(fileName); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
132 | is_changed(); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
133 | return true; |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
134 | } |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
135 | |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
136 | |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
137 | void Setup::setImage(const QImage &newImage) |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
138 | { |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
139 | image = newImage; |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
140 | |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
141 | qDebug() << "setImage" << image.width() << image.height() << "size" << image.sizeInBytes(); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
142 | |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
143 | QBuffer buffer(&logoByteArray); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
144 | buffer.open(QIODevice::WriteOnly); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
145 | image.save(&buffer, "PNG"); // writes image into logoByteArray in PNG format |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
146 | |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
147 | ui->logoLabel->setPixmap(QPixmap::fromImage(image)); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
148 | scaleFactor = 1.0; |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
149 | |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
150 | // ui->logoLabel->resize(scaleFactor * ui->logoLabel->pixmap(Qt::ReturnByValue).size()); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
151 | ui->logoLabel->adjustSize(); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
152 | } |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
153 | |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
154 | |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
155 | void Setup::on_openButton_clicked() |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
156 | { |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
157 | static bool firstDialog = true; |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
158 | |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
159 | qDebug() << "Setup open"; |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
160 | |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
161 | QFileDialog dialog(this, tr("Open File")); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
162 | |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
163 | if (firstDialog) { |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
164 | firstDialog = false; |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
165 | const QStringList picturesLocations = QStandardPaths::standardLocations(QStandardPaths::PicturesLocation); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
166 | dialog.setDirectory(picturesLocations.isEmpty() ? QDir::currentPath() : picturesLocations.last()); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
167 | } |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
168 | |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
169 | /* Only a few image formats are valid */ |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
170 | QStringList mimeTypeFilters ({ "image/bmp", "image/gif", "image/jpeg", "image/png", "image/svg+xml" }); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
171 | dialog.setMimeTypeFilters(mimeTypeFilters); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
172 | dialog.setNameFilter("Images (*.bmp *.BMP *.gif *.GIF *.jpg *.JPG *.png *.PNG *.svg *.SVG)"); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
173 | dialog.setAcceptMode(QFileDialog::AcceptOpen); |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
174 | |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
175 | while (dialog.exec() == QDialog::Accepted && !loadFile(dialog.selectedFiles().constFirst())) {} |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
176 | } |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
177 | |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
178 | |
16
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
179 | /* |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
180 | * Also called from the Quit button if there are changes to save. |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
181 | */ |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
182 | void Setup::on_saveButton_clicked() |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
183 | { |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
184 | QSqlQuery query; |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
185 | |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
186 | /* |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
187 | * Search record number of the current water. |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
188 | */ |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
189 | query.prepare("SELECT record FROM inventory_waters WHERE name=:name"); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
190 | query.bindValue(":name", ui->waterEdit->currentText()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
191 | query.exec(); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
192 | query.first(); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
193 | int record = query.value(0).toInt(); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
194 | |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
195 | /* |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
196 | * Update all other data |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
197 | */ |
41
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
198 | query.prepare("UPDATE profile_setup SET brewery_name=:brewery, brewery_logo=:logo, factor_mashhop=:mashhop, factor_fwh=:fwh, " |
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
199 | "factor_pellet=:pellet, factor_plug=:plug, factor_wethop=:wet, factor_cryohop=:cryo, color_method=:color, ibu_method=:ibu, " |
16
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
200 | "brix_correction=:brix, grain_absorbtion=:grain, default_water=:water, my_yeastlab=:yeast WHERE record='1'"); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
201 | query.bindValue(":brewery", ui->breweryEdit->text()); |
41
dc4b659a320b
Added logo load and save in profile setup.
Michiel Broek <mbroek@mbse.eu>
parents:
31
diff
changeset
|
202 | query.bindValue(":logo", logoByteArray); |
16
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
203 | query.bindValue(":mashhop", ui->mashhopEdit->value()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
204 | query.bindValue(":fwh", ui->fwhEdit->value()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
205 | query.bindValue(":pellet", ui->pelletEdit->value()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
206 | query.bindValue(":plug", ui->hopplugEdit->value()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
207 | query.bindValue(":wet", ui->wethopEdit->value()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
208 | query.bindValue(":cryo", ui->cryohopEdit->value()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
209 | query.bindValue(":color", ui->colorEdit->currentIndex()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
210 | query.bindValue(":ibu", ui->ibuEdit->currentIndex()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
211 | query.bindValue(":brix", ui->brixEdit->value()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
212 | query.bindValue(":grain", ui->grainEdit->value()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
213 | query.bindValue(":water", record); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
214 | query.bindValue(":yeast", ui->yeastEdit->currentText()); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
215 | query.exec(); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
216 | if (query.lastError().isValid()) { |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
217 | qDebug() << "Setup Save error:" << query.lastError(); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
218 | QMessageBox::warning(this, tr("Database error"), |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
219 | tr("MySQL error: %1\n%2\n%3") |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
220 | .arg(query.lastError().nativeErrorCode()) |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
221 | .arg(query.lastError().driverText()) |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
222 | .arg(query.lastError().databaseText())); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
223 | } else { |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
224 | qDebug() << "Setup Saved"; |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
225 | } |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
226 | |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
227 | this->fieldIsChanged = false; |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
228 | setWindowTitle( QString("BMSapp - %1 - Setup").arg(VERSIONSTRING) ); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
229 | } |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
230 | |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
231 | |
15
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
232 | void Setup::on_quitButton_clicked() |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
233 | { |
16
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
234 | if (this->fieldIsChanged) { |
60
0d65238ebedc
Updated translations and some messages.
Michiel Broek <mbroek@mbse.eu>
parents:
41
diff
changeset
|
235 | int rc = QMessageBox::warning(this, tr("Setup changed"), tr("The global setup has been modified. Save changes?"), |
16
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
236 | QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel, QMessageBox::Save); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
237 | switch (rc) { |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
238 | case QMessageBox::Save: |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
239 | on_saveButton_clicked(); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
240 | break; /* Saved and then Quit */ |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
241 | case QMessageBox::Discard: |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
242 | break; /* Quit without Save */ |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
243 | case QMessageBox::Cancel: |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
244 | return; /* Return to the setup page */ |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
245 | } |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
246 | } |
15
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
247 | emit firstWindow(); |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
248 | } |
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
249 | |
16
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
250 | |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
251 | void Setup::is_changed() |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
252 | { |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
253 | this->fieldIsChanged = true; |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
254 | setWindowTitle( QString("BMSapp - %1 - Setup **").arg(VERSIONSTRING) ); |
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
255 | } |