1 #include <QApplication>
2 #include <LimeReport>
3 #include <QTranslator>
4 #include <QDebug>
5 #include "designersettingmanager.h"
6 
main(int argc,char * argv[])7 int main(int argc, char *argv[])
8 {
9     QApplication a(argc, argv);
10     DesignerSettingManager manager;
11 
12     QTranslator limeReportTranslator;
13     QTranslator qtBaseTranslator;
14 	QTranslator qtDesignerTranslator;
15 	QTranslator qtLinguistTranslator;
16 
17     QString translationPath = QApplication::applicationDirPath();
18     translationPath.append("/translations");
19     Qt::LayoutDirection layoutDirection = QLocale::system().textDirection();
20 
21     QString designerTranslation = QLocale(manager.getCurrentDefaultLanguage()).name();
22 
23     if (limeReportTranslator.load("limereport_"+designerTranslation, translationPath)){
24         qtBaseTranslator.load("qtbase_" + designerTranslation, translationPath);
25 		qtDesignerTranslator.load("designer_"+designerTranslation,translationPath);
26 
27         a.installTranslator(&qtBaseTranslator);
28 		a.installTranslator(&qtDesignerTranslator);
29         a.installTranslator(&limeReportTranslator);
30 
31         Qt::LayoutDirection layoutDirection = QLocale(manager.getCurrentDefaultLanguage()).textDirection();
32         a.setLayoutDirection(layoutDirection);
33     }
34 
35     LimeReport::ReportEngine report;
36     report.setPreviewLayoutDirection(layoutDirection);
37 
38     if (a.arguments().count()>1){
39         report.loadFromFile(a.arguments().at(1));
40     }
41     QObject::connect(&report, SIGNAL(getAvailableDesignerLanguages(QList<QLocale::Language>*)),
42                      &manager, SLOT(getAvailableLanguages(QList<QLocale::Language>*)));
43 
44     QObject::connect(&report, SIGNAL(getCurrentDefaultDesignerLanguage()),
45                      &manager, SLOT(getCurrentDefaultLanguage()));
46 
47     QObject::connect(&report, SIGNAL(currentDefaultDesignerLanguageChanged(QLocale::Language)),
48                      &manager, SLOT(currentDefaultLanguageChanged(QLocale::Language)));
49 
50     report.setShowDesignerModal(false);
51     report.designReport();
52     return a.exec();
53 }
54 
55