Wed, 20 Apr 2022 22:48:20 +0200
Implemented the last widgets on the first tab and added the needed functions for them such as scaling the recipe. This is the last part of the recipe editor, now ready for testing.
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 | } |