src/main.cpp

changeset 2
a1e435907f3a
parent 1
d38df7b58026
child 6
f8474f2c5db9
--- a/src/main.cpp	Sun Feb 06 16:52:20 2022 +0100
+++ b/src/main.cpp	Mon Feb 07 21:28:26 2022 +0100
@@ -16,9 +16,14 @@
  */
 #include <QApplication>
 #include <QCommandLineParser>
+#include <QDebug>
+#include <QDate>
+#include <QMessageBox>
+
 //#include <QLocale>
 //#include <QTranslator>
 
+#include "bmsapp.h"
 #include "config.h"
 
 
@@ -33,6 +38,36 @@
 #endif
     );
     app.setApplicationVersion(VERSIONSTRING);
+    app.setOrganizationName("mbse");
 
-    return app.exec();
+    /* Setup user ini format */
+    QSettings::setDefaultFormat(QSettings::IniFormat);
+
+    /* Setup commandline parser */
+    QCommandLineParser parser;
+    parser.setApplicationDescription("Brewery Management System Application.");
+    parser.addOptions({
+        // A boolean option with multiple names (-f, --force)
+        {{"c", "config"},
+            QCoreApplication::translate("main", "Start the configuration editor.")},
+	{{"d", "develop"},
+	    QCoreApplication::translate("main", "Use the development database.")},
+    });
+    parser.addHelpOption();
+    parser.addVersionOption();
+    parser.process(app);
+
+    qDebug().noquote() << "Starting" << app.applicationName() << app.applicationVersion() << QDateTime::currentDateTime().toString();
+
+    try {
+	auto mainAppReturnValue = Bmsapp::run();
+	qDebug().noquote() << "Finished" << app.applicationName() << app.applicationVersion() << QDateTime::currentDateTime().toString();
+	return mainAppReturnValue;
+    }
+    catch (const QString &error) {
+	QMessageBox::critical(0,
+            QApplication::tr("Application terminates"),
+            QApplication::tr("The application encountered a fatal error.\nError message:\n%1").arg(error));
+    }
+    return EXIT_FAILURE;
 }

mercurial