Thu, 21 Apr 2022 17:22:01 +0200
New recipe, calculate the boil_size. Lot's of ignoreChanges removeals and where needed QSignalBlocker is used. Bottle priming calculation added. In fermentables editor block and release to100 settings only in mash to fermentation steps, bottle and kegging are ignored. Update the IBU slider after hop changes. Set the mash name when another mash profile is selected. Don't backup initial infuse amount if there was no mash table. A small cosmetic layout change on the mash tab.
1 | 1 | /** |
2 | * main.cpp is part of bmsapp. | |
3 | * | |
4 | * bmsapp is free software: you can redistribute it and/or modify | |
5 | * it under the terms of the GNU General Public License as published by | |
6 | * the Free Software Foundation, either version 3 of the License, or | |
7 | * (at your option) any later version. | |
8 | * | |
9 | * bmsapp is distributed in the hope that it will be useful, | |
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | * GNU General Public License for more details. | |
13 | * | |
14 | * You should have received a copy of the GNU General Public License | |
15 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | |
16 | */ | |
17 | #include <QApplication> | |
18 | #include <QCommandLineParser> | |
2
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
19 | #include <QDebug> |
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
20 | #include <QDate> |
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
21 | #include <QMessageBox> |
90
2396457a8167
Moved functions from bmsapp.cpp to MainWindow.cpp
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
22 | #include <QSettings> |
2
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
23 | |
90
2396457a8167
Moved functions from bmsapp.cpp to MainWindow.cpp
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
24 | #include "MainWindow.h" |
1 | 25 | #include "config.h" |
26 | ||
27 | ||
28 | int main(int argc, char *argv[]) | |
29 | { | |
30 | QApplication app(argc, argv); | |
31
ab17a56a47dd
Setup translation system and started the Dutch translation
Michiel Broek <mbroek@mbse.eu>
parents:
18
diff
changeset
|
31 | QString locale = QLocale::system().name(); |
ab17a56a47dd
Setup translation system and started the Dutch translation
Michiel Broek <mbroek@mbse.eu>
parents:
18
diff
changeset
|
32 | |
85 | 33 | app.setApplicationName("bmsapp"); |
1 | 34 | app.setApplicationVersion(VERSIONSTRING); |
2
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
35 | app.setOrganizationName("mbse"); |
1 | 36 | |
15
c58b82549713
Started adding the global setup screen.
Michiel Broek <mbroek@mbse.eu>
parents:
14
diff
changeset
|
37 | /* Stylesheet setup */ |
18
d0ca50776b0b
Fixed missing arrows on combobox and spinboxes in the qdarkstyle theme. Changed suppliers editor icon in the menu.
Michiel Broek <mbroek@mbse.eu>
parents:
16
diff
changeset
|
38 | QFile f(":/qdarkstyle/theme/style.qss"); |
16
a5d8e783a7b0
Completed the global setup editor.
Michiel Broek <mbroek@mbse.eu>
parents:
15
diff
changeset
|
39 | //QFile f(":dummy"); |
14
8a304c898a75
Added QDarkStyle stylesheet and images. Updated About window. Some minor layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents:
6
diff
changeset
|
40 | if (!f.exists()) { |
8a304c898a75
Added QDarkStyle stylesheet and images. Updated About window. Some minor layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents:
6
diff
changeset
|
41 | printf("Unable to set stylesheet, file not found\n"); |
8a304c898a75
Added QDarkStyle stylesheet and images. Updated About window. Some minor layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents:
6
diff
changeset
|
42 | } else { |
8a304c898a75
Added QDarkStyle stylesheet and images. Updated About window. Some minor layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents:
6
diff
changeset
|
43 | f.open(QFile::ReadOnly | QFile::Text); |
8a304c898a75
Added QDarkStyle stylesheet and images. Updated About window. Some minor layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents:
6
diff
changeset
|
44 | QTextStream ts(&f); |
8a304c898a75
Added QDarkStyle stylesheet and images. Updated About window. Some minor layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents:
6
diff
changeset
|
45 | qApp->setStyleSheet(ts.readAll()); |
8a304c898a75
Added QDarkStyle stylesheet and images. Updated About window. Some minor layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents:
6
diff
changeset
|
46 | } |
8a304c898a75
Added QDarkStyle stylesheet and images. Updated About window. Some minor layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents:
6
diff
changeset
|
47 | |
2
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
48 | /* Setup user ini format */ |
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
49 | QSettings::setDefaultFormat(QSettings::IniFormat); |
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
50 | |
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
51 | /* Setup commandline parser */ |
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
52 | QCommandLineParser parser; |
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
53 | parser.setApplicationDescription("Brewery Management System Application."); |
6
f8474f2c5db9
We can fetch a list of suppliers and show it in the wrong window. Still a lot to learn about Qt5
Michiel Broek <mbroek@mbse.eu>
parents:
2
diff
changeset
|
54 | QCommandLineOption const startConfigOption({"c", "config"}, "Start the configuration editor."); |
f8474f2c5db9
We can fetch a list of suppliers and show it in the wrong window. Still a lot to learn about Qt5
Michiel Broek <mbroek@mbse.eu>
parents:
2
diff
changeset
|
55 | parser.addOption(startConfigOption); |
f8474f2c5db9
We can fetch a list of suppliers and show it in the wrong window. Still a lot to learn about Qt5
Michiel Broek <mbroek@mbse.eu>
parents:
2
diff
changeset
|
56 | QCommandLineOption const useDevelopOption({"d", "develop"}, "Use the development database."); |
f8474f2c5db9
We can fetch a list of suppliers and show it in the wrong window. Still a lot to learn about Qt5
Michiel Broek <mbroek@mbse.eu>
parents:
2
diff
changeset
|
57 | parser.addOption(useDevelopOption); |
2
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
58 | parser.addHelpOption(); |
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
59 | parser.addVersionOption(); |
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
60 | parser.process(app); |
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
61 | |
31
ab17a56a47dd
Setup translation system and started the Dutch translation
Michiel Broek <mbroek@mbse.eu>
parents:
18
diff
changeset
|
62 | QTranslator translator; |
ab17a56a47dd
Setup translation system and started the Dutch translation
Michiel Broek <mbroek@mbse.eu>
parents:
18
diff
changeset
|
63 | translator.load(QString("bmsapp_") + locale); |
ab17a56a47dd
Setup translation system and started the Dutch translation
Michiel Broek <mbroek@mbse.eu>
parents:
18
diff
changeset
|
64 | app.installTranslator(&translator); |
ab17a56a47dd
Setup translation system and started the Dutch translation
Michiel Broek <mbroek@mbse.eu>
parents:
18
diff
changeset
|
65 | |
2
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
66 | qDebug().noquote() << "Starting" << app.applicationName() << app.applicationVersion() << QDateTime::currentDateTime().toString(); |
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
67 | |
90
2396457a8167
Moved functions from bmsapp.cpp to MainWindow.cpp
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
68 | MainWindow w(parser.isSet(useDevelopOption), parser.isSet(startConfigOption)); |
2396457a8167
Moved functions from bmsapp.cpp to MainWindow.cpp
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
69 | w.show(); |
2396457a8167
Moved functions from bmsapp.cpp to MainWindow.cpp
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
70 | |
2
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
71 | try { |
90
2396457a8167
Moved functions from bmsapp.cpp to MainWindow.cpp
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
72 | auto mainAppReturnValue = app.exec(); |
2
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
73 | qDebug().noquote() << "Finished" << app.applicationName() << app.applicationVersion() << QDateTime::currentDateTime().toString(); |
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
74 | return mainAppReturnValue; |
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
75 | } |
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
76 | catch (const QString &error) { |
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
77 | QMessageBox::critical(0, |
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
78 | QApplication::tr("Application terminates"), |
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
79 | QApplication::tr("The application encountered a fatal error.\nError message:\n%1").arg(error)); |
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
80 | } |
a1e435907f3a
Added commandline parameters. Added initial app functions. Added user configuration read/write/create.
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
81 | return EXIT_FAILURE; |
1 | 82 | } |