mirror of
https://github.com/python-LimeReport/LimeReport.git
synced 2024-12-25 04:54:40 +03:00
54 lines
1.9 KiB
C++
54 lines
1.9 KiB
C++
#include <QApplication>
|
|
#include <LimeReport>
|
|
#include <QTranslator>
|
|
#include <QDebug>
|
|
#include "designersettingmanager.h"
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
QApplication a(argc, argv);
|
|
DesignerSettingManager manager;
|
|
|
|
QTranslator limeReportTranslator;
|
|
QTranslator qtBaseTranslator;
|
|
QTranslator qtDesignerTranslator;
|
|
QTranslator qtLinguistTranslator;
|
|
|
|
QString translationPath = QApplication::applicationDirPath();
|
|
translationPath.append("/translations");
|
|
Qt::LayoutDirection layoutDirection = QLocale::system().textDirection();
|
|
|
|
QString designerTranslation = QLocale(manager.getCurrentDefaultLanguage()).name();
|
|
|
|
if (limeReportTranslator.load("limereport_"+designerTranslation, translationPath)){
|
|
qtBaseTranslator.load("qtbase_" + designerTranslation, translationPath);
|
|
qtDesignerTranslator.load("designer_"+designerTranslation,translationPath);
|
|
|
|
a.installTranslator(&qtBaseTranslator);
|
|
a.installTranslator(&qtDesignerTranslator);
|
|
a.installTranslator(&limeReportTranslator);
|
|
|
|
Qt::LayoutDirection layoutDirection = QLocale(manager.getCurrentDefaultLanguage()).textDirection();
|
|
a.setLayoutDirection(layoutDirection);
|
|
}
|
|
|
|
LimeReport::ReportEngine report;
|
|
report.setPreviewLayoutDirection(layoutDirection);
|
|
|
|
if (a.arguments().count()>1){
|
|
report.loadFromFile(a.arguments().at(1));
|
|
}
|
|
QObject::connect(&report, SIGNAL(getAvailableDesignerLanguages(QList<QLocale::Language>*)),
|
|
&manager, SLOT(getAvailableLanguages(QList<QLocale::Language>*)));
|
|
|
|
QObject::connect(&report, SIGNAL(getCurrentDefaultDesignerLanguage()),
|
|
&manager, SLOT(getCurrentDefaultLanguage()));
|
|
|
|
QObject::connect(&report, SIGNAL(currentDefaultDesignerLanguageChanged(QLocale::Language)),
|
|
&manager, SLOT(currentDefaultLanguageChanged(QLocale::Language)));
|
|
|
|
report.designReport();
|
|
return a.exec();
|
|
}
|
|
|