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