-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.cpp
77 lines (64 loc) · 1.99 KB
/
main.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include "ui/mainwindow.h"
#include <QApplication>
#ifdef QT_DEBUG
#include "tests/billitemdaotest.h"
#include "tests/customerdaotest.h"
#include "tests/billdaotest.h"
#include "tests/materialdaotest.h"
#include "tests/templatedaotest.h"
#include "tests/offerdaotest.h"
#include "tests/letterdaotest.h"
#include "tests/decimaltest.h"
#endif
bool execUnitTests();
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QApplication::setStyle("fusion");
#ifdef QT_DEBUG
// exec unit tests
if(!execUnitTests()) {
return EXIT_FAILURE;
}
#else
//disable logging messages
QLoggingCategory::setFilterRules(QStringLiteral("*.debug=false"));
#endif
QString applicationDir = QApplication::applicationDirPath();
QString lang = QLocale::system().name().split("_").first();
applicationDir.append("/languages");
// install translator for qt strings
QTranslator qtTranslator;
qtTranslator.load("qt_" + lang,applicationDir);
a.installTranslator(&qtTranslator);
// install translator for application strings
QTranslator translator;
translator.load("BusinessManager2_" + lang, applicationDir);
a.installTranslator(&translator);
MainWindow w;
w.showMaximized();
return a.exec();
}
#ifdef QT_DEBUG
bool execUnitTests()
{
bool success = true;
BillItemDAOTest billItemDAOTest;
CustomerDAOTest customerDAOTest;
BillDAOTest billDAOTest;
MaterialDAOTest materialDAOTest;
TemplateDAOTest templateDAOTest;
OfferDAOTest offerDAOTest;
LetterDAOTest letterDAOTest;
DecimalTest decimalTest;
success &= QTest::qExec(&billItemDAOTest) == 0;
success &= QTest::qExec(&customerDAOTest) == 0;
success &= QTest::qExec(&billDAOTest) == 0;
success &= QTest::qExec(&materialDAOTest) == 0;
success &= QTest::qExec(&templateDAOTest) == 0;
success &= QTest::qExec(&offerDAOTest) == 0;
success &= QTest::qExec(&letterDAOTest) == 0;
success &= QTest::qExec(&decimalTest) == 0;
return success;
}
#endif