diff --git a/common.pri b/common.pri
index f0cd913..2cebc25 100644
--- a/common.pri
+++ b/common.pri
@@ -32,13 +32,12 @@ contains(CONFIG, easy_profiler){
!contains(CONFIG, qtscriptengine){
greaterThan(QT_MAJOR_VERSION, 4){
+greaterThan(QT_MINOR_VERSION, 5){
CONFIG *= qjsengine
-#greaterThan(QT_MINOR_VERSION, 5){
-# CONFIG *= qjsengine
-#}
-#lessThan(QT_MINOR_VERSION, 6){
-# CONFIG *= qtscriptengine
-#}
+}
+lessThan(QT_MINOR_VERSION, 6){
+ CONFIG *= qtscriptengine
+}
}
lessThan(QT_MAJOR_VERSION, 5){
CONFIG *= qtscriptengine
diff --git a/designer/main.cpp b/designer/main.cpp
index d36ee1d..413f33f 100644
--- a/designer/main.cpp
+++ b/designer/main.cpp
@@ -10,17 +10,24 @@ int main(int argc, char *argv[])
DesignerSettingManager manager;
QTranslator limeReportTranslator;
- QTranslator qtTranslator;
+ QTranslator qtBaseTranslator;
+ QTranslator qtDesignerTranslator;
+ QTranslator qtLinguistTranslator;
+
QString translationPath = QApplication::applicationDirPath();
- translationPath.append("/languages");
+ translationPath.append("/translations");
Qt::LayoutDirection layoutDirection = QLocale::system().textDirection();
QString designerTranslation = QLocale(manager.getCurrentDefaultLanguage()).name();
if (limeReportTranslator.load("limereport_"+designerTranslation, translationPath)){
- qtTranslator.load("qt_" + designerTranslation, translationPath);
- a.installTranslator(&qtTranslator);
+ 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);
}
diff --git a/include/lrglobal.h b/include/lrglobal.h
index d1cb8b9..103edfc 100644
--- a/include/lrglobal.h
+++ b/include/lrglobal.h
@@ -157,6 +157,7 @@ namespace Const{
static inline QJSValue getJSValue(QJSEngine &e, T *p)
{
QJSValue res = e.newQObject(p);
+ QQmlEngine::setObjectOwnership(p, QQmlEngine::CppOwnership);
return res;
}
#else
diff --git a/limereport/lrglobal.h b/limereport/lrglobal.h
index d1cb8b9..103edfc 100644
--- a/limereport/lrglobal.h
+++ b/limereport/lrglobal.h
@@ -157,6 +157,7 @@ namespace Const{
static inline QJSValue getJSValue(QJSEngine &e, T *p)
{
QJSValue res = e.newQObject(p);
+ QQmlEngine::setObjectOwnership(p, QQmlEngine::CppOwnership);
return res;
}
#else
diff --git a/limereport/lrpreviewreportwidget.cpp b/limereport/lrpreviewreportwidget.cpp
index c8c2378..fb24404 100644
--- a/limereport/lrpreviewreportwidget.cpp
+++ b/limereport/lrpreviewreportwidget.cpp
@@ -203,7 +203,11 @@ void PreviewReportWidget::print()
printer.setPrinterName(pi.defaultPrinter().printerName());
#endif
#ifdef HAVE_QT5
+#if (QT_VERSION >= QT_VERSION_CHECK(5, 3, 0))
printer.setPrinterName(pi.defaultPrinterName());
+#else
+ printer.setPrinterName(pi.defaultPrinter().printerName());
+#endif
#endif
QPrintDialog dialog(&printer,QApplication::activeWindow());
if (dialog.exec()==QDialog::Accepted){
diff --git a/limereport/lrreportengine.cpp b/limereport/lrreportengine.cpp
index 9b1ab37..9f656f0 100644
--- a/limereport/lrreportengine.cpp
+++ b/limereport/lrreportengine.cpp
@@ -404,7 +404,11 @@ bool ReportEnginePrivate::printReport(QPrinter* printer)
m_printer.data()->setPrinterName(pi.defaultPrinter().printerName());
#endif
#ifdef HAVE_QT5
+#if (QT_VERSION >= QT_VERSION_CHECK(5, 3, 0))
m_printer.data()->setPrinterName(pi.defaultPrinterName());
+#else
+ m_printer.data()->setPrinterName(pi.defaultPrinter().printerName());
+#endif
#endif
QPrintDialog dialog(m_printer.data(),QApplication::activeWindow());
m_printerSelected = dialog.exec()!=QDialog::Rejected;
@@ -437,7 +441,11 @@ bool ReportEnginePrivate::printPages(ReportPages pages, QPrinter *printer)
m_printer.data()->setPrinterName(pi.defaultPrinter().printerName());
#endif
#ifdef HAVE_QT5
+#if (QT_VERSION >= QT_VERSION_CHECK(5, 3, 0))
m_printer.data()->setPrinterName(pi.defaultPrinterName());
+#else
+ m_printer.data()->setPrinterName(pi.defaultPrinter().printerName());
+#endif
#endif
QPrintDialog dialog(m_printer.data(),QApplication::activeWindow());
m_printerSelected = dialog.exec()!=QDialog::Rejected;
@@ -1219,9 +1227,9 @@ ReportPages ReportEnginePrivate::renderToPages()
emit renderFinished();
m_reportRender.clear();
- foreach(PageItemDesignIntf* page, m_renderingPages){
- delete page;
- }
+ //foreach(PageItemDesignIntf* page, m_renderingPages){
+ // delete page;
+ //}
m_renderingPages.clear();
}
m_reportRendering = false;
diff --git a/limereport/objectinspector/lrobjectitemmodel.cpp b/limereport/objectinspector/lrobjectitemmodel.cpp
index b39c4d0..2addb1e 100644
--- a/limereport/objectinspector/lrobjectitemmodel.cpp
+++ b/limereport/objectinspector/lrobjectitemmodel.cpp
@@ -154,6 +154,7 @@ void QObjectPropertyModel::translatePropertyName()
tr("replaceCRwithBR");
tr("hideIfEmpty");
tr("hideEmptyItems");
+ tr("useExternalPainter");
}
void QObjectPropertyModel::clearObjectsList()
diff --git a/translations/limereport_ru.qm b/translations/limereport_ru.qm
index 0b912bd..aa82093 100644
Binary files a/translations/limereport_ru.qm and b/translations/limereport_ru.qm differ
diff --git a/translations/limereport_ru.ts b/translations/limereport_ru.ts
index cca8845..9d72224 100644
--- a/translations/limereport_ru.ts
+++ b/translations/limereport_ru.ts
@@ -384,6 +384,14 @@ p, li { white-space: pre-wrap; }
Print if empty
Печатать, если пустое
+
+ Cut
+ Вырезать
+
+
+ Copy
+ Копировать
+
LimeReport::BaseDesignIntf
@@ -1086,6 +1094,10 @@ p, li { white-space: pre-wrap; }
LimeReport::ImageItem
+
+ Ext.
+ Внешний
+
Image
Изображение
@@ -1864,6 +1876,10 @@ p, li { white-space: pre-wrap; }
hideEmptyItems
Скрывать пустые элементы
+
+ useExternalPainter
+ Использовать внешний отрисовщик
+
LimeReport::RectMMPropItem