From ca6241f61eb8ea3f777749f493a4883bd05d53d1 Mon Sep 17 00:00:00 2001 From: Arin Alexander Date: Thu, 23 Apr 2020 21:03:22 +0300 Subject: [PATCH 01/36] Band moving in design mode has been fixed --- common.pri | 2 +- limereport/lrbasedesignintf.cpp | 34 +++++++++++++------ limereport/lrbasedesignintf.h | 4 +++ limereport/lrpageitemdesignintf.cpp | 7 ++-- .../objectinspector/lrobjectitemmodel.cpp | 1 + translations/limereport_ru.ts | 4 +++ 6 files changed, 38 insertions(+), 14 deletions(-) diff --git a/common.pri b/common.pri index 32339c3..24a0708 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 49 +LIMEREPORT_VERSION_RELEASE = 50 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/lrbasedesignintf.cpp b/limereport/lrbasedesignintf.cpp index 91fa79c..5df12fd 100644 --- a/limereport/lrbasedesignintf.cpp +++ b/limereport/lrbasedesignintf.cpp @@ -84,7 +84,8 @@ BaseDesignIntf::BaseDesignIntf(const QString &storageTypeName, QObject *owner, Q m_selectionMarker(0), m_fillTransparentInDesignMode(true), m_unitType(Millimeters), - m_itemGeometryLocked(false) + m_itemGeometryLocked(false), + m_isChangingPos(false) { setGeometry(QRectF(0, 0, m_width, m_height)); if (BaseDesignIntf *item = dynamic_cast(parent)) { @@ -389,6 +390,7 @@ void BaseDesignIntf::setFixedPos(bool fixedPos) void BaseDesignIntf::mousePressEvent(QGraphicsSceneMouseEvent *event) { if (event->button() == Qt::LeftButton) { + m_isChangingPos = true; m_resizeDirectionFlags = resizeDirectionFlags(event->pos()); m_startPos = pos(); m_oldGeometry = geometry(); @@ -398,6 +400,17 @@ void BaseDesignIntf::mousePressEvent(QGraphicsSceneMouseEvent *event) else QGraphicsItem::mousePressEvent(event); } +void BaseDesignIntf::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) +{ + QRectF newGeometry = geometry(); + m_isChangingPos = false; + if (newGeometry != m_oldGeometry) { + geometryChangedEvent(newGeometry, m_oldGeometry); + emit posChanged(this, newGeometry.topLeft(), m_oldGeometry.topLeft()); + } + QGraphicsItem::mouseReleaseEvent(event); +} + void BaseDesignIntf::paint(QPainter *ppainter, const QStyleOptionGraphicsItem *option, QWidget *widget) { Q_UNUSED(option); @@ -732,6 +745,16 @@ void BaseDesignIntf::updatePossibleDirectionFlags(){ } } +bool BaseDesignIntf::isChangingPos() const +{ + return m_isChangingPos; +} + +void BaseDesignIntf::setIsChangingPos(bool isChangingPos) +{ + m_isChangingPos = isChangingPos; +} + bool BaseDesignIntf::isGeometryLocked() const { return m_itemGeometryLocked; @@ -1257,15 +1280,6 @@ void BaseDesignIntf::setItemPos(const QPointF &newPos) emit posChanging(this, finalPos, oldPos); } -void BaseDesignIntf::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) -{ - QRectF newGeometry = geometry(); - if (newGeometry != m_oldGeometry) { - geometryChangedEvent(newGeometry, m_oldGeometry); - emit posChanged(this, newGeometry.topLeft(), m_oldGeometry.topLeft()); - } - QGraphicsItem::mouseReleaseEvent(event); -} QWidget* findRootWidget(QWidget* widget){ while (widget->parentWidget()) { diff --git a/limereport/lrbasedesignintf.h b/limereport/lrbasedesignintf.h index d9fbfc9..07d4ed8 100644 --- a/limereport/lrbasedesignintf.h +++ b/limereport/lrbasedesignintf.h @@ -331,6 +331,9 @@ public: bool isGeometryLocked() const; void setGeometryLocked(bool itemLocked); + bool isChangingPos() const; + void setIsChangingPos(bool isChangingPos); + protected: //ICollectionContainer @@ -460,6 +463,7 @@ private: QRect m_itemGeometry; UnitType m_unitType; bool m_itemGeometryLocked; + bool m_isChangingPos; signals: void geometryChanged(QObject* object, QRectF newGeometry, QRectF oldGeometry); void posChanging(QObject* object, QPointF newPos, QPointF oldPos); diff --git a/limereport/lrpageitemdesignintf.cpp b/limereport/lrpageitemdesignintf.cpp index 927784e..42a1b71 100644 --- a/limereport/lrpageitemdesignintf.cpp +++ b/limereport/lrpageitemdesignintf.cpp @@ -876,8 +876,8 @@ void PageItemDesignIntf::moveBandFromTo(int from, int to) void PageItemDesignIntf::bandPositionChanged(QObject* object, QPointF newPos, QPointF oldPos) { - if (itemMode() == DesignMode){ - BandDesignIntf* band = dynamic_cast(object); + BandDesignIntf* band = dynamic_cast(object); + if (band && !band->isChangingPos() && (itemMode() == DesignMode)){ int curIndex = band->bandIndex(); BandDesignIntf* bandToSwap = 0; foreach(BandDesignIntf* curBand, bands()){ @@ -906,7 +906,8 @@ void PageItemDesignIntf::bandPositionChanged(QObject* object, QPointF newPos, QP page()->saveCommand(BandMoveFromToCommand::create(page(), band->bandIndex(), bandToSwap->bandIndex()), true); } } - relocateBands(); + if (band && !band->isChangingPos()) + relocateBands(); } void PageItemDesignIntf::bandGeometryChanged(QObject* object, QRectF newGeometry, QRectF oldGeometry) diff --git a/limereport/objectinspector/lrobjectitemmodel.cpp b/limereport/objectinspector/lrobjectitemmodel.cpp index 8e28ff6..0b0fbdb 100644 --- a/limereport/objectinspector/lrobjectitemmodel.cpp +++ b/limereport/objectinspector/lrobjectitemmodel.cpp @@ -164,6 +164,7 @@ void QObjectPropertyModel::translatePropertyName() tr("geometryLocked"); tr("printBehavior"); tr("shiftItems"); + tr("showLegend"); tr("removeGap"); } diff --git a/translations/limereport_ru.ts b/translations/limereport_ru.ts index 9a85f2b..2d935f0 100644 --- a/translations/limereport_ru.ts +++ b/translations/limereport_ru.ts @@ -2030,6 +2030,10 @@ p, li { white-space: pre-wrap; } removeGap Удалять разрыв + + showLegend + Показывать легенду + LimeReport::RectPropItem From ccf81340122b332a581bb661d199756a49f721c6 Mon Sep 17 00:00:00 2001 From: Arin Alexander Date: Fri, 8 May 2020 14:19:02 +0300 Subject: [PATCH 02/36] Using variables in the connection describer has been extended --- common.pri | 2 +- limereport/databrowser/images/closed_eye.png | Bin 0 -> 232 bytes limereport/databrowser/images/eye.png | Bin 0 -> 429 bytes limereport/databrowser/lrconnectiondialog.cpp | 10 ++- limereport/databrowser/lrconnectiondialog.h | 2 + limereport/databrowser/lrconnectiondialog.ui | 62 +++++++++++++++--- limereport/databrowser/lrdatabrowser.qrc | 2 + limereport/lrdatadesignintf.cpp | 8 +-- limereport/lrdatadesignintf.h | 8 +-- limereport/lrdatasourcemanager.cpp | 6 +- 10 files changed, 77 insertions(+), 23 deletions(-) create mode 100755 limereport/databrowser/images/closed_eye.png create mode 100755 limereport/databrowser/images/eye.png diff --git a/common.pri b/common.pri index 24a0708..558ecc7 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 50 +LIMEREPORT_VERSION_RELEASE = 51 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/databrowser/images/closed_eye.png b/limereport/databrowser/images/closed_eye.png new file mode 100755 index 0000000000000000000000000000000000000000..754840646a21a3974dcd5757efdadff1068181e5 GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#Xvd&gc&Ptc_#rGvpiiK zLo9lq1|1Y+GUT|kmC0*E%akJ32q&)%BHkNVyf;jFogiCs^2Ob~d*&M*R$&pF#-N(m zFH^R#UWf7IwoiE+ClxGtWBeMQ-25i!Fx_PRLVberQ=v`+K@^;KP|~D=LlLNHDiNd>SAD9VQ2yW&%sDFS zsKfRH5LH!(IuxM_35U2~5Jy4?0rALe-ZrmI9fDPxeLM5s% zPFg3%G;-Yr5qxu1+Z#(vo|wke6>4vCD@{HQ4tKWIhzTB0&rntS zCV??NbN_hvh3@Gdnyv6$UW%;hI0?b@#EdINBp7IJpHuV6S#t%B(hM9h#QGQ~F>l5* zp0~O08R^1+@vTrw9%A%=!Ns#=_D(Z_oPdO@xC3U}XA+TkIhsqNrK*N^uy*%setName(ConnectionDesc::connectionNameForReport(ui->leConnectionName->text())); result ->setHost(ui->leServerName->text()); if (!ui->lePort->text().isEmpty()) - result->setPort(ui->lePort->text().toInt()); + result->setPort(ui->lePort->text()); result ->setDriver(ui->cbbDrivers->currentText()); result ->setUserName(ui->leUserName->text()); result ->setPassword(ui->lePassword->text()); @@ -141,7 +141,7 @@ void ConnectionDialog::connectionToUI() ui->cbbDrivers->setCurrentIndex(ui->cbbDrivers->findText(m_connection->driver())); ui->cbAutoConnect->setChecked(m_connection->autoconnect()); ui->cbbKeepCredentials->setChecked(!m_connection->keepDBCredentials()); - ui->lePort->setText(m_connection->port()!=-1?QString::number(m_connection->port()):""); + ui->lePort->setText(m_connection->port()); } void ConnectionDialog::on_toolButton_clicked() @@ -160,6 +160,10 @@ void ConnectionDialog::on_cbbUseDefaultConnection_toggled(bool checked) ui->leConnectionName->setEnabled(true); } } +void ConnectionDialog::on_toolButton_2_toggled(bool checked) +{ + ui->lePassword->setEchoMode(checked ? QLineEdit::Normal : QLineEdit::Password); +} } // namespace LimeReport @@ -167,3 +171,5 @@ void ConnectionDialog::on_cbbUseDefaultConnection_toggled(bool checked) + + diff --git a/limereport/databrowser/lrconnectiondialog.h b/limereport/databrowser/lrconnectiondialog.h index 531666a..12140b1 100644 --- a/limereport/databrowser/lrconnectiondialog.h +++ b/limereport/databrowser/lrconnectiondialog.h @@ -60,6 +60,8 @@ private slots: void on_toolButton_clicked(); void on_cbbUseDefaultConnection_toggled(bool checked); + void on_toolButton_2_toggled(bool checked); + private: Ui::ConnectionDialog *ui; ConnectionDesc* m_connection; diff --git a/limereport/databrowser/lrconnectiondialog.ui b/limereport/databrowser/lrconnectiondialog.ui index d76b765..4b0e996 100644 --- a/limereport/databrowser/lrconnectiondialog.ui +++ b/limereport/databrowser/lrconnectiondialog.ui @@ -7,7 +7,7 @@ 0 0 420 - 323 + 363 @@ -44,7 +44,7 @@ - + @@ -114,14 +114,39 @@ - - - + + + 2 - - QLineEdit::Password - - + + + + + + + QLineEdit::Password + + + + + + + Qt::ClickFocus + + + + + + + :/databrowser/images/closed_eye.png + :/databrowser/images/eye.png:/databrowser/images/closed_eye.png + + + true + + + + @@ -137,6 +162,9 @@ + + Qt::ClickFocus + ... @@ -221,8 +249,24 @@ + + leConnectionName + cbbUseDefaultConnection + cbbDrivers + leServerName + lePort + leUserName + lePassword + leDataBase + cbAutoConnect + cbbKeepCredentials + pbCheckConnection + pbCancel + pbOk + + diff --git a/limereport/databrowser/lrdatabrowser.qrc b/limereport/databrowser/lrdatabrowser.qrc index aa4f852..de2ce88 100644 --- a/limereport/databrowser/lrdatabrowser.qrc +++ b/limereport/databrowser/lrdatabrowser.qrc @@ -44,5 +44,7 @@ images/value_edit2.png images/value1.png images/varToReport.png + images/eye.png + images/closed_eye.png diff --git a/limereport/lrdatadesignintf.cpp b/limereport/lrdatadesignintf.cpp index aca04e3..b16d77d 100644 --- a/limereport/lrdatadesignintf.cpp +++ b/limereport/lrdatadesignintf.cpp @@ -336,13 +336,13 @@ void ModelToDataSource::slotModelDestroed() ConnectionDesc::ConnectionDesc(QSqlDatabase db, QObject *parent) : QObject(parent), m_connectionName(db.connectionName()), m_connectionHost(db.hostName()), m_connectionDriver(db.driverName()), - m_databaseName(db.databaseName()), m_user(db.userName()), m_password(db.password()), m_port(-1), m_autoconnect(false), + m_databaseName(db.databaseName()), m_user(db.userName()), m_password(db.password()), m_port(""), m_autoconnect(false), m_internal(false), m_keepDBCredentials(true) {} ConnectionDesc::ConnectionDesc(QObject *parent) :QObject(parent),m_connectionName(""),m_connectionHost(""), m_connectionDriver(""), - m_databaseName(""), m_user(""), m_password(""), m_port(-1), m_autoconnect(false), + m_databaseName(""), m_user(""), m_password(""), m_port(""), m_autoconnect(false), m_internal(false), m_keepDBCredentials(true) {} @@ -377,12 +377,12 @@ QString ConnectionDesc::connectionNameForReport(const QString &connectionName) return connectionName.compare(tr("defaultConnection")) == 0 ? QSqlDatabase::defaultConnection : connectionName; } -int ConnectionDesc::port() const +QString ConnectionDesc::port() const { return m_port; } -void ConnectionDesc::setPort(int port) +void ConnectionDesc::setPort(QString port) { m_port = port; } diff --git a/limereport/lrdatadesignintf.h b/limereport/lrdatadesignintf.h index 867cbbb..71543cb 100644 --- a/limereport/lrdatadesignintf.h +++ b/limereport/lrdatadesignintf.h @@ -78,7 +78,7 @@ class ConnectionDesc : public QObject{ Q_PROPERTY(QString host READ host WRITE setHost) Q_PROPERTY(bool autoconnect READ autoconnect WRITE setAutoconnect) Q_PROPERTY(bool keepDBCredentials READ keepDBCredentials WRITE setKeepDBCredentials) - Q_PROPERTY(int port READ port WRITE setPort) + Q_PROPERTY(QString port READ port WRITE setPort) public: typedef QSharedPointer Ptr; ConnectionDesc(QSqlDatabase db, QObject* parent=0); @@ -103,8 +103,8 @@ public: void setInternal(bool value) {m_internal = value;} bool keepDBCredentials() const; void setKeepDBCredentials(bool keepDBCredentials); - int port() const; - void setPort(int port); + QString port() const; + void setPort(QString port); public: static QString connectionNameForUser(const QString& connectionName); static QString connectionNameForReport(const QString& connectionName); @@ -117,7 +117,7 @@ private: QString m_databaseName; QString m_user; QString m_password; - int m_port; + QString m_port; bool m_autoconnect; bool m_internal; bool m_keepDBCredentials; diff --git a/limereport/lrdatasourcemanager.cpp b/limereport/lrdatasourcemanager.cpp index 9b9b876..668aa71 100644 --- a/limereport/lrdatasourcemanager.cpp +++ b/limereport/lrdatasourcemanager.cpp @@ -808,12 +808,12 @@ bool DataSourceManager::initAndOpenDB(QSqlDatabase& db, ConnectionDesc& connecti bool connected = false; - db.setHostName(replaceVariables(connectionDesc.host())); db.setUserName(replaceVariables(connectionDesc.userName())); db.setPassword(replaceVariables(connectionDesc.password())); - if (connectionDesc.port()!=-1) - db.setPort(connectionDesc.port()); + db.setDatabaseName(replaceVariables(connectionDesc.databaseName())); + if (connectionDesc.port()!="") + db.setPort(replaceVariables(connectionDesc.port()).toInt()); if (!connectionDesc.keepDBCredentials() && m_dbCredentialsProvider){ if (!m_dbCredentialsProvider->getUserName(connectionDesc.name()).isEmpty()) From c5ef44c1a9c424305c71088cf75e246eee9238aa Mon Sep 17 00:00:00 2001 From: Arin Alexander Date: Tue, 12 May 2020 14:11:58 +0300 Subject: [PATCH 03/36] quote() changed to \" --- demo_r1/demo_r1.pro | 4 ++-- demo_r2/demo_r2.pro | 4 ++-- limereport/limereport.pro | 29 +++++++++++------------------ 3 files changed, 15 insertions(+), 22 deletions(-) diff --git a/demo_r1/demo_r1.pro b/demo_r1/demo_r1.pro index 6a780f9..36505d3 100644 --- a/demo_r1/demo_r1.pro +++ b/demo_r1/demo_r1.pro @@ -33,7 +33,7 @@ macx{ unix:{ DESTDIR = $$DEST_DIR # QMAKE_POST_LINK += mkdir -p $$quote($$REPORTS_DIR) | - QMAKE_POST_LINK += $$QMAKE_COPY_DIR $$quote($$EXTRA_DIR) $$quote($$REPORTS_DIR) $$escape_expand(\n\t) + QMAKE_POST_LINK += $$QMAKE_COPY_DIR \"$$EXTRA_DIR\" \"$$REPORTS_DIR\" $$escape_expand(\n\t) linux{ #Link share lib to ../lib rpath @@ -49,7 +49,7 @@ unix:{ win32 { DESTDIR = $$DEST_DIR contains(QMAKE_HOST.os, Linux){ - QMAKE_POST_LINK += $$QMAKE_COPY_DIR $$quote($$EXTRA_DIR) $$quote($$REPORTS_DIR) $$escape_expand(\n\t) + QMAKE_POST_LINK += $$QMAKE_COPY_DIR \"$$EXTRA_DIR\" \"$$REPORTS_DIR\" $$escape_expand(\n\t) } else { EXTRA_DIR ~= s,/,\\,g DEST_DIR ~= s,/,\\,g diff --git a/demo_r2/demo_r2.pro b/demo_r2/demo_r2.pro index bcb7fc2..c8abe1f 100644 --- a/demo_r2/demo_r2.pro +++ b/demo_r2/demo_r2.pro @@ -33,7 +33,7 @@ macx{ unix:{ DESTDIR = $$DEST_DIR - QMAKE_POST_LINK += $$QMAKE_COPY_DIR $$quote($$EXTRA_DIR) $$quote($$REPORTS_DIR) $$escape_expand(\n\t) + QMAKE_POST_LINK += $$QMAKE_COPY_DIR \"$$EXTRA_DIR\" \"$$REPORTS_DIR\" $$escape_expand(\n\t) linux{ #Link share lib to ../lib rpath QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN @@ -48,7 +48,7 @@ unix:{ win32 { DESTDIR = $$DEST_DIR contains(QMAKE_HOST.os, Linux){ - QMAKE_POST_LINK += $$QMAKE_COPY_DIR $$quote($$EXTRA_DIR) $$quote($$REPORTS_DIR) $$escape_expand(\n\t) + QMAKE_POST_LINK += $$QMAKE_COPY_DIR \"$$EXTRA_DIR\" \"$$REPORTS_DIR\" $$escape_expand(\n\t) } else { EXTRA_DIR ~= s,/,\\,g DEST_DIR ~= s,/,\\,g diff --git a/limereport/limereport.pro b/limereport/limereport.pro index d1ac03d..20bda83 100644 --- a/limereport/limereport.pro +++ b/limereport/limereport.pro @@ -48,28 +48,28 @@ include(limereport.pri) unix:{ DESTDIR = $${DEST_LIBS} linux{ - QMAKE_POST_LINK += mkdir -p $$quote($${DEST_INCLUDE_DIR}) $$escape_expand(\\n\\t) # qmake need make mkdir -p on subdirs more than root/ + QMAKE_POST_LINK += mkdir -p \"$${DEST_INCLUDE_DIR}\" $$escape_expand(\\n\\t) # qmake need make mkdir -p on subdirs more than root/ for(FILE,EXTRA_FILES){ - QMAKE_POST_LINK += $$QMAKE_COPY $$quote($$FILE) $$quote($${DEST_INCLUDE_DIR}) $$escape_expand(\\n\\t) # inside of libs make /include/files + QMAKE_POST_LINK += $$QMAKE_COPY \"$$FILE\" \"$${DEST_INCLUDE_DIR}\" $$escape_expand(\\n\\t) # inside of libs make /include/files } } macx{ for(FILE,EXTRA_FILES){ - QMAKE_POST_LINK += $$QMAKE_COPY $$quote($$FILE) $$quote($${DEST_INCLUDE_DIR}) $$escape_expand(\\n\\t) + QMAKE_POST_LINK += $$QMAKE_COPY \"$$FILE\" \"$${DEST_INCLUDE_DIR}\" $$escape_expand(\\n\\t) } - QMAKE_POST_LINK += mkdir -p $$quote($${DESTDIR}/include) $$escape_expand(\\n\\t) + QMAKE_POST_LINK += mkdir -p \"$${DESTDIR}/include\" $$escape_expand(\\n\\t) } - QMAKE_POST_LINK += $$QMAKE_COPY_DIR $$quote($${DEST_INCLUDE_DIR}) $$quote($${DESTDIR}) + QMAKE_POST_LINK += $$QMAKE_COPY_DIR \"$${DEST_INCLUDE_DIR}\" \"$${DESTDIR}\" } win32 { DESTDIR = $${DEST_LIBS} contains(QMAKE_HOST.os, Linux){ - QMAKE_POST_LINK += mkdir -p $$quote($${DEST_INCLUDE_DIR}) $$escape_expand(\\n\\t) # qmake need make mkdir -p on subdirs more than root/ + QMAKE_POST_LINK += mkdir -p \"$${DEST_INCLUDE_DIR}\" $$escape_expand(\\n\\t) # qmake need make mkdir -p on subdirs more than root/ for(FILE,EXTRA_FILES){ - QMAKE_POST_LINK += $$QMAKE_COPY $$quote($$FILE) $$quote($${DEST_INCLUDE_DIR}) $$escape_expand(\\n\\t) # inside of libs make /include/files + QMAKE_POST_LINK += $$QMAKE_COPY \"$$FILE\" \"$${DEST_INCLUDE_DIR}\" $$escape_expand(\\n\\t) # inside of libs make /include/files } - QMAKE_POST_LINK += $$QMAKE_COPY_DIR $$quote($${DEST_INCLUDE_DIR}) $$quote($${DESTDIR}) + QMAKE_POST_LINK += $$QMAKE_COPY_DIR \"$${DEST_INCLUDE_DIR}\" \"$${DESTDIR}\" } else { EXTRA_FILES ~= s,/,\\,g BUILD_DIR ~= s,/,\\,g @@ -119,23 +119,16 @@ contains(CONFIG,build_translations){ return($$result) } - TRANSLATIONS = $$prependAll(LANGUAGES, $$TRANSLATIONS_PATH/limereport_,.ts) + TRANSLATIONS = $$prependAll(LANGUAGES, \"$$TRANSLATIONS_PATH/limereport_,.ts\") qtPrepareTool(LUPDATE, lupdate) - -greaterThan(QT_MAJOR_VERSION, 4) { - ts.commands = $$LUPDATE $$shell_quote($$PWD) -noobsolete -ts $$TRANSLATIONS -} -lessThan(QT_MAJOR_VERSION, 5){ - ts.commands = $$LUPDATE $$quote($$PWD) -noobsolete -ts $$TRANSLATIONS -} + ts.commands = $$LUPDATE \"$$PWD\" -noobsolete -ts $$TRANSLATIONS TRANSLATIONS_FILES = qtPrepareTool(LRELEASE, lrelease) for(tsfile, TRANSLATIONS) { qmfile = $$tsfile - qmfile ~= s,".ts$",".qm", + qmfile ~= s,".ts\"$",".qm\"", qm.commands += $$LRELEASE -removeidentical $$tsfile -qm $$qmfile $$escape_expand(\\n\\t) - tmp_command = $$LRELEASE -removeidentical $$tsfile -qm $$qmfile $$escape_expand(\\n\\t) TRANSLATIONS_FILES += $$qmfile } qm.depends = ts From ed8e1eccb4b0f26c4626a7c88db05217b9625046 Mon Sep 17 00:00:00 2001 From: fralx Date: Mon, 18 May 2020 22:12:05 +0300 Subject: [PATCH 04/36] ChartItem has been fixed --- common.pri | 2 +- limereport/items/charts/lrhorizontalbarchart.cpp | 2 ++ limereport/items/charts/lrlineschart.cpp | 2 ++ limereport/items/charts/lrpiechart.cpp | 4 ++-- limereport/items/charts/lrverticalbarchart.cpp | 6 ++++++ limereport/items/lrchartitem.cpp | 11 +++++++++-- 6 files changed, 22 insertions(+), 5 deletions(-) diff --git a/common.pri b/common.pri index 558ecc7..a0fcb3b 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 51 +LIMEREPORT_VERSION_RELEASE = 53 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/items/charts/lrhorizontalbarchart.cpp b/limereport/items/charts/lrhorizontalbarchart.cpp index e2713dd..3d539d9 100644 --- a/limereport/items/charts/lrhorizontalbarchart.cpp +++ b/limereport/items/charts/lrhorizontalbarchart.cpp @@ -28,6 +28,8 @@ void HorizontalBarChart::paintChart(QPainter *painter, QRectF chartRect) void HorizontalBarChart::paintHorizontalBars(QPainter *painter, QRectF barsRect) { + if (seriesCount() == 0) return; + painter->save(); painter->setRenderHint(QPainter::Antialiasing,false); int delta = int(maxValue()-minValue()); diff --git a/limereport/items/charts/lrlineschart.cpp b/limereport/items/charts/lrlineschart.cpp index 30f2949..9ee2b81 100644 --- a/limereport/items/charts/lrlineschart.cpp +++ b/limereport/items/charts/lrlineschart.cpp @@ -65,6 +65,8 @@ void LinesChart::drawDesignMode(QPainter* painter, qreal hStep, qreal vStep, qre void LinesChart::paintSerialLines(QPainter* painter, QRectF barsRect) { + if (valuesCount() == 0) return; + painter->save(); painter->setRenderHint(QPainter::Antialiasing,true); int delta = int(maxValue() - minValue()); diff --git a/limereport/items/charts/lrpiechart.cpp b/limereport/items/charts/lrpiechart.cpp index f54e62d..d6afb0c 100644 --- a/limereport/items/charts/lrpiechart.cpp +++ b/limereport/items/charts/lrpiechart.cpp @@ -70,7 +70,7 @@ void PieChart::paintChart(QPainter *painter, QRectF chartRect) drawPercent(painter, chartRect, currentDegree, sectorDegree); currentDegree += sectorDegree; } - } else { + } else if (m_chartItem->itemMode() == DesignMode){ painter->setBrush(color_map[0]); painter->drawPie(chartRect,0,260*16); drawPercent(painter, chartRect, 0, 260); @@ -122,7 +122,7 @@ void PieChart::paintChartLegend(QPainter *painter, QRectF legendRect) ); cw += painter->fontMetrics().height(); } - } else { + } else if (m_chartItem->itemMode() == DesignMode){ qreal cw = 0; for (int i=0;iseries().isEmpty() && (m_chartItem->itemMode() != DesignMode)){ int curSeries = 0; foreach (SeriesItem* series, m_chartItem->series()) { @@ -93,6 +97,8 @@ void VerticalBarChart::paintVerticalBars(QPainter *painter, QRectF barsRect) void VerticalBarChart::paintSerialLines(QPainter* painter, QRectF barsRect) { + if (valuesCount() == 0 ) return; + painter->save(); painter->setRenderHint(QPainter::Antialiasing,true); int delta = int(maxValue() - minValue()); diff --git a/limereport/items/lrchartitem.cpp b/limereport/items/lrchartitem.cpp index 5d1ca0e..15f76fa 100644 --- a/limereport/items/lrchartitem.cpp +++ b/limereport/items/lrchartitem.cpp @@ -584,7 +584,10 @@ QSizeF AbstractSeriesChart::calcChartLegendSize(const QFont &font) return QSizeF(maxWidth+fm.height()*2,cw); } -bool AbstractSeriesChart::verticalLabels(QPainter* painter, QRectF labelsRect){ +bool AbstractSeriesChart::verticalLabels(QPainter* painter, QRectF labelsRect) +{ + if (valuesCount() == 0) return false; + qreal hStep = (labelsRect.width() / valuesCount()); QFontMetrics fm = painter->fontMetrics(); foreach(QString label, m_chartItem->labels()){ @@ -597,6 +600,8 @@ bool AbstractSeriesChart::verticalLabels(QPainter* painter, QRectF labelsRect){ void AbstractSeriesChart::paintHorizontalLabels(QPainter *painter, QRectF labelsRect) { + if (valuesCount() == 0) return; + painter->save(); qreal hStep = (labelsRect.width() / valuesCount()); if (!m_chartItem->labels().isEmpty()){ @@ -623,6 +628,8 @@ void AbstractSeriesChart::paintHorizontalLabels(QPainter *painter, QRectF labels void AbstractSeriesChart::paintVerticalLabels(QPainter *painter, QRectF labelsRect) { + if (valuesCount() == 0) return; + painter->save(); painter->setFont(adaptLabelsFont(labelsRect.adjusted(0, 0, -hPadding(m_chartItem->rect()), 0), painter->font())); @@ -771,7 +778,7 @@ void AbstractBarChart::paintChartLegend(QPainter *painter, QRectF legendRect) ); cw += painter->fontMetrics().height(); } - } else { + } else if (m_chartItem->itemMode() == DesignMode){ qreal cw = 0; for (int i=0;i Date: Tue, 19 May 2020 11:48:43 +0300 Subject: [PATCH 05/36] dropPrinterMargins property has been added to page --- common.pri | 2 +- limereport/lrpageitemdesignintf.cpp | 20 ++++++++++++++++---- limereport/lrpageitemdesignintf.h | 5 +++++ limereport/lrreportengine.cpp | 7 +++---- 4 files changed, 25 insertions(+), 9 deletions(-) diff --git a/common.pri b/common.pri index a0fcb3b..d905d94 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 53 +LIMEREPORT_VERSION_RELEASE = 54 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/lrpageitemdesignintf.cpp b/limereport/lrpageitemdesignintf.cpp index 42a1b71..f65c085 100644 --- a/limereport/lrpageitemdesignintf.cpp +++ b/limereport/lrpageitemdesignintf.cpp @@ -50,8 +50,9 @@ PageItemDesignIntf::PageItemDesignIntf(QObject *owner, QGraphicsItem *parent) : m_topMargin(0), m_bottomMargin(0), m_leftMargin(0), m_rightMargin(0), m_pageOrientaion(Portrait), m_pageSize(A4), m_sizeChainging(false), m_fullPage(false), m_oldPrintMode(false), m_resetPageNumber(false), - m_isExtendedInDesignMode(false), m_extendedHeight(1000), m_isTOC(false), m_setPageSizeToPrinter(false), - m_endlessHeight(false), m_printable(true), m_pageFooter(0), m_printBehavior(Split) + m_isExtendedInDesignMode(false), m_extendedHeight(1000), m_isTOC(false), + m_setPageSizeToPrinter(false), m_endlessHeight(false), m_printable(true), + m_pageFooter(0), m_printBehavior(Split), m_dropPrinterMargins(false) { setFixedPos(true); setPossibleResizeDirectionFlags(Fixed); @@ -64,8 +65,9 @@ PageItemDesignIntf::PageItemDesignIntf(const PageSize pageSize, const QRectF &re m_topMargin(0), m_bottomMargin(0), m_leftMargin(0), m_rightMargin(0), m_pageOrientaion(Portrait), m_pageSize(pageSize), m_sizeChainging(false), m_fullPage(false), m_oldPrintMode(false), m_resetPageNumber(false), - m_isExtendedInDesignMode(false), m_extendedHeight(1000), m_isTOC(false), m_setPageSizeToPrinter(false), - m_endlessHeight(false), m_printable(true), m_pageFooter(0), m_printBehavior(Split) + m_isExtendedInDesignMode(false), m_extendedHeight(1000), m_isTOC(false), + m_setPageSizeToPrinter(false), m_endlessHeight(false), m_printable(true), + m_pageFooter(0), m_printBehavior(Split), m_dropPrinterMargins(false) { setFixedPos(true); setPossibleResizeDirectionFlags(Fixed); @@ -345,6 +347,16 @@ void PageItemDesignIntf::initColumnsPos(QVector &posByColumns, qreal pos, } } +bool PageItemDesignIntf::dropPrinterMargins() const +{ + return m_dropPrinterMargins; +} + +void PageItemDesignIntf::setDropPrinterMargins(bool dropPrinterMargins) +{ + m_dropPrinterMargins = dropPrinterMargins; +} + void PageItemDesignIntf::setPrintBehavior(const PrintBehavior &printBehavior) { m_printBehavior = printBehavior; diff --git a/limereport/lrpageitemdesignintf.h b/limereport/lrpageitemdesignintf.h index 3d968d1..d5918c3 100644 --- a/limereport/lrpageitemdesignintf.h +++ b/limereport/lrpageitemdesignintf.h @@ -61,6 +61,7 @@ class PageItemDesignIntf : public ItemsContainerDesignInft Q_PROPERTY(QString printerName READ printerName WRITE setPrinterName) Q_PROPERTY(UnitType units READ unitType WRITE setUnitTypeProperty) Q_PROPERTY(PrintBehavior printBehavior READ printBehavior WRITE setPrintBehavior) + Q_PROPERTY(bool dropPrinterMargins READ dropPrinterMargins WRITE setDropPrinterMargins) friend class ReportRender; public: enum Orientation { Portrait = QPrinter::Portrait, Landscape = QPrinter::Landscape }; @@ -177,6 +178,9 @@ public: PrintBehavior printBehavior() const; void setPrintBehavior(const PrintBehavior &printBehavior); + bool dropPrinterMargins() const; + void setDropPrinterMargins(bool dropPrinterMargins); + signals: void beforeFirstPageRendered(); void afterLastPageRendered(); @@ -220,6 +224,7 @@ private: QString m_printerName; BandDesignIntf* m_pageFooter; PrintBehavior m_printBehavior; + bool m_dropPrinterMargins; }; diff --git a/limereport/lrreportengine.cpp b/limereport/lrreportengine.cpp index 52aba2c..5ba24bd 100644 --- a/limereport/lrreportengine.cpp +++ b/limereport/lrreportengine.cpp @@ -1797,9 +1797,6 @@ bool PrintProcessor::printPage(PageItemDesignIntf::Ptr page) if (!m_firstPage && !m_painter->isActive()) return false; PageDesignIntf* backupPage = dynamic_cast(page->scene()); - //LimeReport::PageDesignIntf m_renderPage; - //m_renderPage.setItemMode(PrintMode); - QPointF backupPagePos = page->pos(); page->setPos(0,0); m_renderPage.setPageItem(page); @@ -1869,13 +1866,15 @@ void PrintProcessor::initPrinter(PageItemDesignIntf* page) m_printer->setPaperSize(pageSize,QPrinter::Millimeter); } else { m_printer->setFullPage(page->fullPage()); + if (page->dropPrinterMargins()) + m_printer->setPageMargins(0, 0, 0, 0, QPrinter::Point); m_printer->setOrientation(static_cast(page->pageOrientation())); if (page->pageSize()==PageItemDesignIntf::Custom){ QSizeF pageSize = (page->pageOrientation()==PageItemDesignIntf::Landscape)? QSizeF(page->sizeMM().height(),page->sizeMM().width()): page->sizeMM(); if (page->getSetPageSizeToPrinter() || m_printer->outputFormat() == QPrinter::PdfFormat) - m_printer->setPaperSize(pageSize,QPrinter::Millimeter); + m_printer->setPaperSize(pageSize, QPrinter::Millimeter); } else { if (page->getSetPageSizeToPrinter() || m_printer->outputFormat() == QPrinter::PdfFormat) m_printer->setPaperSize(static_cast(page->pageSize())); From 07f469d4b40ed71d78f06c7068d9be4333db8086 Mon Sep 17 00:00:00 2001 From: fralx Date: Wed, 20 May 2020 11:36:39 +0300 Subject: [PATCH 06/36] The printing process has been modified --- common.pri | 2 +- limereport/lrreportengine.cpp | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/common.pri b/common.pri index d905d94..df213d2 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 54 +LIMEREPORT_VERSION_RELEASE = 55 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/lrreportengine.cpp b/limereport/lrreportengine.cpp index 5ba24bd..c28f921 100644 --- a/limereport/lrreportengine.cpp +++ b/limereport/lrreportengine.cpp @@ -1843,7 +1843,14 @@ bool PrintProcessor::printPage(PageItemDesignIntf::Ptr page) } } else { - m_renderPage.render(m_painter); + if (page->getSetPageSizeToPrinter()){ + QRectF source = page->geometry(); + QSizeF inchSize = source.size() / (100 * 2.54); + QRectF target = QRectF(QPoint(0,0), inchSize * m_printer->resolution()); + m_renderPage.render(m_painter, target, source); + } else { + m_renderPage.render(m_painter); + } } page->setPos(backupPagePos); m_renderPage.removePageItem(page); From acab0853f5acac666da8e5ea0fcff7e2f56c6771 Mon Sep 17 00:00:00 2001 From: fralx Date: Mon, 25 May 2020 13:22:02 +0300 Subject: [PATCH 07/36] TableBuilder has been fixed --- common.pri | 2 +- limereport/lrscriptenginemanager.cpp | 23 +++++++++++++---------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/common.pri b/common.pri index df213d2..f4c3afb 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 55 +LIMEREPORT_VERSION_RELEASE = 56 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/lrscriptenginemanager.cpp b/limereport/lrscriptenginemanager.cpp index ba990d4..cf92071 100644 --- a/limereport/lrscriptenginemanager.cpp +++ b/limereport/lrscriptenginemanager.cpp @@ -1987,16 +1987,19 @@ void TableBuilder::fillInRowData(QObject* row) void TableBuilder::buildTable(const QString& datasourceName) { checkBaseLayout(); - m_dataManager->dataSourceHolder(datasourceName)->invalidate(IDataSource::RENDER_MODE); - IDataSource* ds = m_dataManager->dataSource(datasourceName); - if (ds){ - bool firstTime = true; - QObject* row = m_horizontalLayout; - while(!ds->eof()){ - if (!firstTime) row = addRow(); - else firstTime = false; - fillInRowData(row); - ds->next(); + IDataSourceHolder* dh = m_dataManager->dataSourceHolder(datasourceName); + if (dh) { + dh->invalidate(IDataSource::RENDER_MODE); + IDataSource* ds = m_dataManager->dataSource(datasourceName); + if (ds){ + bool firstTime = true; + QObject* row = m_horizontalLayout; + while(!ds->eof()){ + if (!firstTime) row = addRow(); + else firstTime = false; + fillInRowData(row); + ds->next(); + } } } } From aadf6431307e60ad249766ce4adafe9baad7d765 Mon Sep 17 00:00:00 2001 From: Arin Alexander Date: Tue, 2 Jun 2020 14:54:58 +0300 Subject: [PATCH 08/36] Prepared pages loading has been fixed --- common.pri | 2 +- limereport/lrpreparedpages.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/common.pri b/common.pri index f4c3afb..465a8e1 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 56 +LIMEREPORT_VERSION_RELEASE = 57 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/lrpreparedpages.cpp b/limereport/lrpreparedpages.cpp index 2cc7a1b..5408d70 100644 --- a/limereport/lrpreparedpages.cpp +++ b/limereport/lrpreparedpages.cpp @@ -60,6 +60,7 @@ void PreparedPages::clear() bool PreparedPages::readPages(ItemsReaderIntf::Ptr reader) { + clear(); if (reader->first()){ PageItemDesignIntf::Ptr page = PageItemDesignIntf::create(0); if (!reader->readItem(page.data())) From 9aadc5b0774669d48670577961146e81b10ba7bb Mon Sep 17 00:00:00 2001 From: Arin Alexander Date: Thu, 4 Jun 2020 21:58:33 +0300 Subject: [PATCH 09/36] TableBuilder has been fixed --- common.pri | 2 +- limereport/lrscriptenginemanager.cpp | 5 ++++- limereport/lrscriptenginemanager.h | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/common.pri b/common.pri index 465a8e1..ba97b71 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 57 +LIMEREPORT_VERSION_RELEASE = 58 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/lrscriptenginemanager.cpp b/limereport/lrscriptenginemanager.cpp index cf92071..804a758 100644 --- a/limereport/lrscriptenginemanager.cpp +++ b/limereport/lrscriptenginemanager.cpp @@ -1937,7 +1937,10 @@ bool DatasourceFunctions::invalidate(const QString& datasourceName) QObject* DatasourceFunctions::createTableBuilder(QObject* horizontalLayout) { - return new TableBuilder(dynamic_cast(horizontalLayout), dynamic_cast(m_dataManager)); + LimeReport::HorizontalLayout* l = dynamic_cast(horizontalLayout); + if (l) + return new TableBuilder(l, m_dataManager); + return 0; } TableBuilder::TableBuilder(HorizontalLayout* layout, DataSourceManager* dataManager) diff --git a/limereport/lrscriptenginemanager.h b/limereport/lrscriptenginemanager.h index 7f86a33..c5271f3 100644 --- a/limereport/lrscriptenginemanager.h +++ b/limereport/lrscriptenginemanager.h @@ -332,7 +332,7 @@ class DatasourceFunctions : public QObject{ Q_OBJECT public: explicit DatasourceFunctions(IDataSourceManager* dataManager) - : m_dataManager(dataManager){} + : m_dataManager(dynamic_cast(dataManager)){} Q_INVOKABLE bool first(const QString& datasourceName); Q_INVOKABLE bool next(const QString& datasourceName); Q_INVOKABLE bool prior(const QString& datasourceName); @@ -340,7 +340,7 @@ public: Q_INVOKABLE bool invalidate(const QString& datasourceName); Q_INVOKABLE QObject *createTableBuilder(QObject *horizontalLayout); private: - IDataSourceManager* m_dataManager; + DataSourceManager* m_dataManager; }; class ScriptFunctionsManager : public QObject{ From d6fe74e29e118bd30912e0b68520902687d716fe Mon Sep 17 00:00:00 2001 From: Arin Alexander Date: Sat, 20 Jun 2020 10:10:53 +0300 Subject: [PATCH 10/36] Finish endless_optimization --- limereport/lritemscontainerdesignitf.cpp | 11 ++++++++--- limereport/lritemscontainerdesignitf.h | 3 ++- limereport/lrpageitemdesignintf.cpp | 9 ++++++--- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/limereport/lritemscontainerdesignitf.cpp b/limereport/lritemscontainerdesignitf.cpp index ea5eafc..836fbea 100644 --- a/limereport/lritemscontainerdesignitf.cpp +++ b/limereport/lritemscontainerdesignitf.cpp @@ -1,5 +1,6 @@ #include "lritemscontainerdesignitf.h" #include "lritemdesignintf.h" +#include "lrbanddesignintf.h" namespace LimeReport { @@ -37,11 +38,15 @@ bool itemSortContainerLessThen(const PItemSortContainer c1, const PItemSortConta else return c1->m_rect.y()m_rect.y(); } -void ItemsContainerDesignInft::snapshotItemsLayout() +void ItemsContainerDesignInft::snapshotItemsLayout(SnapshotType type) { m_containerItems.clear(); - foreach(BaseDesignIntf *childItem,childBaseItems()){ - m_containerItems.append(PItemSortContainer(new ItemSortContainer(childItem))); + foreach(BaseDesignIntf *childItem, childBaseItems()){ + if (type == IgnoreBands){ + if (!dynamic_cast(childItem)) + m_containerItems.append(PItemSortContainer(new ItemSortContainer(childItem))); + } else + m_containerItems.append(PItemSortContainer(new ItemSortContainer(childItem))); } qSort(m_containerItems.begin(),m_containerItems.end(),itemSortContainerLessThen); } diff --git a/limereport/lritemscontainerdesignitf.h b/limereport/lritemscontainerdesignitf.h index b9aa421..483bf95 100644 --- a/limereport/lritemscontainerdesignitf.h +++ b/limereport/lritemscontainerdesignitf.h @@ -42,8 +42,9 @@ class ItemsContainerDesignInft : public BookmarkContainerDesignIntf{ public: ItemsContainerDesignInft(const QString& xmlTypeName, QObject* owner = 0, QGraphicsItem* parent=0): BookmarkContainerDesignIntf(xmlTypeName, owner, parent){} + enum SnapshotType{Full, IgnoreBands}; protected: - void snapshotItemsLayout(); + void snapshotItemsLayout(SnapshotType type = Full); void arrangeSubItems(RenderPass pass, DataSourceManager *dataManager, ArrangeType type = AsNeeded); qreal findMaxBottom() const; qreal findMaxHeight() const; diff --git a/limereport/lrpageitemdesignintf.cpp b/limereport/lrpageitemdesignintf.cpp index f65c085..3bcb402 100644 --- a/limereport/lrpageitemdesignintf.cpp +++ b/limereport/lrpageitemdesignintf.cpp @@ -131,7 +131,8 @@ BaseDesignIntf *PageItemDesignIntf::createSameTypeItem(QObject *owner, QGraphics void PageItemDesignIntf::geometryChangedEvent(QRectF newRect, QRectF) { Q_UNUSED(newRect) - updateMarginRect(); + if (itemMode() == DesignMode || !endlessHeight()) + updateMarginRect(); PageSize oldSize = m_pageSize; if (!m_sizeChainging && !isLoading()) m_pageSize = Custom; @@ -490,8 +491,10 @@ void PageItemDesignIntf::setResetPageNumber(bool resetPageNumber) void PageItemDesignIntf::updateSubItemsSize(RenderPass pass, DataSourceManager *dataManager) { - snapshotItemsLayout(); - arrangeSubItems(pass, dataManager); + if (!endlessHeight()){ + snapshotItemsLayout(IgnoreBands); + arrangeSubItems(pass, dataManager); + } } bool PageItemDesignIntf::oldPrintMode() const From 1ae5c2fa8233741a93fccb55b2374b790d8ff6a9 Mon Sep 17 00:00:00 2001 From: Arin Alexander Date: Sat, 27 Jun 2020 11:23:36 +0300 Subject: [PATCH 11/36] DataSourceManager::clear() has been fixed --- limereport/lrdatasourcemanager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/limereport/lrdatasourcemanager.cpp b/limereport/lrdatasourcemanager.cpp index 668aa71..4517ff7 100644 --- a/limereport/lrdatasourcemanager.cpp +++ b/limereport/lrdatasourcemanager.cpp @@ -1437,13 +1437,13 @@ void DataSourceManager::clear(ClearMethod method) case All: invalidateLinkedDatasources(dit.key()); delete dit.value(); - m_datasources.erase(dit++); + dit = m_datasources.erase(dit); break; default: if (owned){ invalidateLinkedDatasources(dit.key()); delete dit.value(); - m_datasources.erase(dit++); + dit = m_datasources.erase(dit); } else { ++dit; } From 1306d3658af76188740a224fd32b2ce6b5da1abf Mon Sep 17 00:00:00 2001 From: lifof Date: Sat, 27 Jun 2020 22:48:52 +0100 Subject: [PATCH 12/36] Update qzint.h Fixes a compilation issue on msys2's Qt5.15 --- 3rdparty/zint-2.6.1/backend_qt/qzint.h | 1 + 1 file changed, 1 insertion(+) diff --git a/3rdparty/zint-2.6.1/backend_qt/qzint.h b/3rdparty/zint-2.6.1/backend_qt/qzint.h index 70b5acc..7343e55 100644 --- a/3rdparty/zint-2.6.1/backend_qt/qzint.h +++ b/3rdparty/zint-2.6.1/backend_qt/qzint.h @@ -18,6 +18,7 @@ #define BARCODERENDER_H #include #include +#include #include "qzint_global.h" #include "zint.h" From 334f590efd4bad8e036d37e5db7372f9d3e72aee Mon Sep 17 00:00:00 2001 From: Arin Alexander Date: Tue, 14 Jul 2020 19:57:29 +0300 Subject: [PATCH 13/36] Calculation of subtotals has been fixed --- common.pri | 2 +- limereport/lrbanddesignintf.cpp | 5 +++++ limereport/lrbanddesignintf.h | 2 ++ limereport/lrgroupfunctions.cpp | 8 ++++++++ limereport/lrgroupfunctions.h | 1 + limereport/lrreportrender.cpp | 7 ++++++- 6 files changed, 23 insertions(+), 2 deletions(-) diff --git a/common.pri b/common.pri index ba97b71..88f260c 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 58 +LIMEREPORT_VERSION_RELEASE = 60 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/lrbanddesignintf.cpp b/limereport/lrbanddesignintf.cpp index 008e9a6..19e63c0 100644 --- a/limereport/lrbanddesignintf.cpp +++ b/limereport/lrbanddesignintf.cpp @@ -752,6 +752,11 @@ void BandDesignIntf::emitBandRendered(BandDesignIntf* band) emit bandRendered(band); } +void BandDesignIntf::emitBandReRendered(BandDesignIntf *oldBand, BandDesignIntf *newBand) +{ + emit bandReRendered(oldBand, newBand); +} + void BandDesignIntf::setSplittable(bool value){ if (m_splitable!=value){ bool oldValue = m_splitable; diff --git a/limereport/lrbanddesignintf.h b/limereport/lrbanddesignintf.h index d093831..02e70dc 100644 --- a/limereport/lrbanddesignintf.h +++ b/limereport/lrbanddesignintf.h @@ -216,6 +216,7 @@ public: void parentObjectLoadFinished(); void objectLoadFinished(); void emitBandRendered(BandDesignIntf *band); + void emitBandReRendered(BandDesignIntf* oldBand, BandDesignIntf* newBand); bool isSplittable() const {return m_splitable;} void setSplittable(bool value); @@ -273,6 +274,7 @@ public: signals: void bandRendered(BandDesignIntf* band); + void bandReRendered(BandDesignIntf* oldBand, BandDesignIntf* newBand); void preparedForRender(); void bandRegistred(); protected: diff --git a/limereport/lrgroupfunctions.cpp b/limereport/lrgroupfunctions.cpp index 1061ea5..edc516e 100644 --- a/limereport/lrgroupfunctions.cpp +++ b/limereport/lrgroupfunctions.cpp @@ -97,6 +97,14 @@ void GroupFunction::slotBandRendered(BandDesignIntf *band) } } +void GroupFunction::slotBandReRendered(BandDesignIntf *oldBand, BandDesignIntf *newBand) +{ + if (m_valuesByBand.contains(oldBand)){ + m_valuesByBand.insert(newBand, m_valuesByBand.value(oldBand)); + m_valuesByBand.remove(oldBand); + } +} + QVariant GroupFunction::addition(QVariant value1, QVariant value2) { return value1.toDouble()+value2.toDouble(); diff --git a/limereport/lrgroupfunctions.h b/limereport/lrgroupfunctions.h index 28cc08b..0c4acba 100644 --- a/limereport/lrgroupfunctions.h +++ b/limereport/lrgroupfunctions.h @@ -56,6 +56,7 @@ public: virtual QVariant calculate(PageItemDesignIntf* page = 0)=0; public slots: void slotBandRendered(BandDesignIntf* band); + void slotBandReRendered(BandDesignIntf* oldBand, BandDesignIntf* newBand); protected: void setName(const QString& value){m_name=value;} QVariant addition(QVariant value1, QVariant value2); diff --git a/limereport/lrreportrender.cpp b/limereport/lrreportrender.cpp index 65e39c9..b18c71c 100644 --- a/limereport/lrreportrender.cpp +++ b/limereport/lrreportrender.cpp @@ -386,7 +386,10 @@ void ReportRender::extractGroupFuntionsFromItem(ContentItemDesignIntf* contentIt if (dataBand){ GroupFunction* gf = datasources()->addGroupFunction(functionName,captures.at(Const::VALUE_INDEX),band->objectName(),dataBand->objectName()); if (gf){ - connect(dataBand,SIGNAL(bandRendered(BandDesignIntf*)),gf,SLOT(slotBandRendered(BandDesignIntf*))); + connect(dataBand, SIGNAL(bandRendered(BandDesignIntf*)), + gf, SLOT(slotBandRendered(BandDesignIntf*))); + connect(dataBand, SIGNAL(bandReRendered(BandDesignIntf*, BandDesignIntf*)), + gf, SLOT(slotBandReRendered(BandDesignIntf*, BandDesignIntf*))); } } else { GroupFunction* gf = datasources()->addGroupFunction(functionName,captures.at(Const::VALUE_INDEX),band->objectName(),captures.at(dsIndex)); @@ -547,6 +550,7 @@ BandDesignIntf* ReportRender::renderBand(BandDesignIntf *patternBand, BandDesign if (!bandIsSliced){ BandDesignIntf* t = renderData(patternBand); t->copyBookmarks(bandClone); + patternBand->emitBandReRendered(bandClone, t); delete bandClone; bandClone = t; } @@ -554,6 +558,7 @@ BandDesignIntf* ReportRender::renderBand(BandDesignIntf *patternBand, BandDesign if (!registerBand(bandClone)) { BandDesignIntf* upperPart = dynamic_cast(bandClone->cloneUpperPart(m_maxHeightByColumn[m_currentColumn])); registerBand(upperPart); + patternBand->emitBandReRendered(bandClone, upperPart); delete bandClone; bandClone = NULL; }; From ec625fabf4a44d1cfea86a92e25d2a022fe842bd Mon Sep 17 00:00:00 2001 From: Arin Alexander Date: Fri, 24 Jul 2020 10:11:24 +0300 Subject: [PATCH 14/36] "Designer crash when open, close and open database connection" issue has been fixed --- common.pri | 2 +- limereport/lrdatasourcemanager.cpp | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/common.pri b/common.pri index 88f260c..2c1a41c 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 60 +LIMEREPORT_VERSION_RELEASE = 61 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/lrdatasourcemanager.cpp b/limereport/lrdatasourcemanager.cpp index 4517ff7..f45bf4d 100644 --- a/limereport/lrdatasourcemanager.cpp +++ b/limereport/lrdatasourcemanager.cpp @@ -1011,14 +1011,15 @@ void DataSourceManager::disconnectConnection(const QString& connectionName) foreach(QString datasourceName, dataSourceNames()){ if (isQuery(datasourceName) || isSubQuery(datasourceName)){ QueryHolder* qh = dynamic_cast(dataSourceHolder(datasourceName)); - if (qh && qh->connectionName().compare(connectionName,Qt::CaseInsensitive)==0){ - qh->invalidate(designTime()?IDataSource::DESIGN_MODE:IDataSource::RENDER_MODE); + if (qh && qh->connectionName().compare(connectionName, Qt::CaseInsensitive) == 0){ + qh->invalidate(designTime() ? IDataSource::DESIGN_MODE : IDataSource::RENDER_MODE, true); qh->setLastError(tr("invalid connection")); } } } ConnectionDesc* connectionDesc = connectionByName(connectionName); + if (connectionDesc->isInternal()){ { QSqlDatabase db = QSqlDatabase::database(connectionName); From e74bc09eda8ecb4c961906438f76d86a7669d504 Mon Sep 17 00:00:00 2001 From: silverhawk89 Date: Tue, 28 Jul 2020 21:09:45 -0400 Subject: [PATCH 15/36] Fix Lime Report Designer's Title Bar not showing Report's Name after saving. --- limereport/lrreportdesignwindow.cpp | 2 ++ limereport/lrreportengine.cpp | 1 + 2 files changed, 3 insertions(+) diff --git a/limereport/lrreportdesignwindow.cpp b/limereport/lrreportdesignwindow.cpp index d863ee9..57af790 100644 --- a/limereport/lrreportdesignwindow.cpp +++ b/limereport/lrreportdesignwindow.cpp @@ -1126,6 +1126,7 @@ void ReportDesignWindow::slotSaveReport() QString filename = m_reportDesignWidget->reportFileName(); m_lblReportName->setText(filename); if(!filename.isEmpty()) addRecentFile(filename); + setWindowTitle(m_reportDesignWidget->report()->reportName() + " - Lime Report Designer"); } void ReportDesignWindow::slotSaveReportAs() @@ -1137,6 +1138,7 @@ void ReportDesignWindow::slotSaveReportAs() m_reportDesignWidget->saveToFile(fileName); m_lblReportName->setText(m_reportDesignWidget->reportFileName()); addRecentFile(fileName); + setWindowTitle(m_reportDesignWidget->report()->reportName() + " - Lime Report Designer"); } } diff --git a/limereport/lrreportengine.cpp b/limereport/lrreportengine.cpp index c28f921..4ebc0c9 100644 --- a/limereport/lrreportengine.cpp +++ b/limereport/lrreportengine.cpp @@ -876,6 +876,7 @@ bool ReportEnginePrivate::saveToFile(const QString &fileName) } } dropChanges(); + this->setReportName(fi.baseName()); return saved; } From b704dee5c3c197cfc3b7c5805643846410e3f8a2 Mon Sep 17 00:00:00 2001 From: Arin Alexandex Date: Sat, 8 Aug 2020 00:18:27 +0300 Subject: [PATCH 16/36] #281 Has been fixed --- common.pri | 2 +- limereport/lrreportengine.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common.pri b/common.pri index 2c1a41c..4926f46 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 61 +LIMEREPORT_VERSION_RELEASE = 62 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/lrreportengine.cpp b/limereport/lrreportengine.cpp index 4ebc0c9..0165e9d 100644 --- a/limereport/lrreportengine.cpp +++ b/limereport/lrreportengine.cpp @@ -206,7 +206,7 @@ void ReportEnginePrivate::collectionLoadFinished(const QString &) page->setReportSettings(&m_reportSettings); page->setSceneRect(-Const::SCENE_MARGIN,-Const::SCENE_MARGIN, page->pageItem()->width()+Const::SCENE_MARGIN*2, - page->pageItem()->height()+Const::SCENE_MARGIN*2); + page->pageItem()->boundingRect().height()+Const::SCENE_MARGIN*2); } emit pagesLoadFinished(); } From 6d3e50f387711b3a83aa2430f2193c4f636c2442 Mon Sep 17 00:00:00 2001 From: Arin Alexandex Date: Mon, 10 Aug 2020 21:33:49 +0300 Subject: [PATCH 17/36] Script support added to the barcode item --- common.pri | 2 +- limereport/items/lrbarcodeitem.cpp | 23 ++++++++++++++--------- limereport/items/lrbarcodeitem.h | 7 +++---- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/common.pri b/common.pri index 4926f46..04efeb8 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 62 +LIMEREPORT_VERSION_RELEASE = 63 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/items/lrbarcodeitem.cpp b/limereport/items/lrbarcodeitem.cpp index 9161c20..bbdcfee 100644 --- a/limereport/items/lrbarcodeitem.cpp +++ b/limereport/items/lrbarcodeitem.cpp @@ -333,6 +333,13 @@ bool BarcodeItem::isEmpty() const return m_content.isEmpty(); } +void BarcodeItem::expandContent(QString data, DataSourceManager* dataManager, RenderPass pass) +{ + setContent(expandUserVariables(data, pass, NoEscapeSymbols, dataManager)); + setContent(expandScripts(content(), dataManager)); + setContent(expandDataFields(content(), NoEscapeSymbols, dataManager)); +} + void BarcodeItem::updateItemSize(DataSourceManager* dataManager, RenderPass pass, int maxHeight) { if (content().isEmpty()) @@ -346,21 +353,19 @@ void BarcodeItem::updateItemSize(DataSourceManager* dataManager, RenderPass pass if (data.isValid()) { switch(pass) - { - case FirstPass: - setContent(expandUserVariables(data.toString(),pass,NoEscapeSymbols, dataManager)); - setContent(expandDataFields(data.toString(), NoEscapeSymbols, dataManager)); - break; - default:; - } + { + case FirstPass: + expandContent(data.toString(), dataManager, pass); + break; + default:; + } } } } } else { switch(pass){ case FirstPass: - setContent(expandUserVariables(content(),pass,NoEscapeSymbols, dataManager)); - setContent(expandDataFields(content(), NoEscapeSymbols, dataManager)); + expandContent(content(), dataManager, pass); break; default:; } diff --git a/limereport/items/lrbarcodeitem.h b/limereport/items/lrbarcodeitem.h index 8dc091d..c09fbe9 100644 --- a/limereport/items/lrbarcodeitem.h +++ b/limereport/items/lrbarcodeitem.h @@ -191,20 +191,19 @@ public: void setSecurityLevel(int securityLevel); int pdf417CodeWords() const; void setPdf417CodeWords(int pdf417CodeWords); - InputMode inputMode() const; void setInputMode(const InputMode &inputMode); - bool hideText() const; void setHideText(bool hideText); - int option3() const; void setOption3(int option3); - bool hideIfEmpty() const; void setHideIfEmpty(bool hideIfEmpty); bool isEmpty() const; +private: + void expandContent(QString data, DataSourceManager *dataManager, RenderPass pass); + private: QString m_content; QString m_datasource; From 5b127ce99c7e0c84991129f60aaec9ef061f00dc Mon Sep 17 00:00:00 2001 From: Arin Alexandex Date: Tue, 11 Aug 2020 20:37:21 +0300 Subject: [PATCH 18/36] #284 Issue has been fixed. The objects will get new names in paste process --- common.pri | 2 +- limereport/lrbanddesignintf.h | 1 + limereport/lrbasedesignintf.h | 23 +++++++++++----------- limereport/lrpagedesignintf.cpp | 32 +++++++++++++------------------ limereport/lrpagedesignintf.h | 3 ++- limereport/lrpageitemdesignintf.h | 1 + 6 files changed, 29 insertions(+), 33 deletions(-) diff --git a/common.pri b/common.pri index 04efeb8..7837d48 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 63 +LIMEREPORT_VERSION_RELEASE = 64 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/lrbanddesignintf.h b/limereport/lrbanddesignintf.h index 02e70dc..6c33d08 100644 --- a/limereport/lrbanddesignintf.h +++ b/limereport/lrbanddesignintf.h @@ -253,6 +253,7 @@ public: bool startFromNewPage() const; void setStartFromNewPage(bool startFromNewPage); bool canContainChildren() const{ return true;} + bool canAcceptPaste() const{ return true;} bool printAlways() const; void setPrintAlways(bool printAlways); bool repeatOnEachRow() const; diff --git a/limereport/lrbasedesignintf.h b/limereport/lrbasedesignintf.h index 07d4ed8..00fc807 100644 --- a/limereport/lrbasedesignintf.h +++ b/limereport/lrbasedesignintf.h @@ -297,6 +297,7 @@ public: void setBorderColor(const QColor &borderColor); void setItemVisible(const bool& value); virtual bool canContainChildren() const { return false;} + virtual bool canAcceptPaste() const{ return false;} ReportSettings* reportSettings() const; void setReportSettings(ReportSettings *reportSettings); void setZValueProperty(qreal value); @@ -311,6 +312,15 @@ public: virtual void setWatermark(bool watermark); void updateSelectionMarker(); void turnOnSelectionMarker(bool value); + bool fillTransparentInDesignMode() const; + void setFillTransparentInDesignMode(bool fillTransparentInDesignMode); + void emitPosChanged(QPointF oldPos, QPointF newPos); + void emitObjectNamePropertyChanged(const QString& oldName, const QString& newName); + bool isGeometryLocked() const; + void setGeometryLocked(bool itemLocked); + bool isChangingPos() const; + void setIsChangingPos(bool isChangingPos); + Q_INVOKABLE QString setItemWidth(qreal width); Q_INVOKABLE QString setItemHeight(qreal height); Q_INVOKABLE qreal getItemWidth(); @@ -322,18 +332,6 @@ public: Q_INVOKABLE QString setItemPosX(qreal xValue); Q_INVOKABLE QString setItemPosY(qreal yValue); - bool fillTransparentInDesignMode() const; - void setFillTransparentInDesignMode(bool fillTransparentInDesignMode); - - void emitPosChanged(QPointF oldPos, QPointF newPos); - void emitObjectNamePropertyChanged(const QString& oldName, const QString& newName); - - bool isGeometryLocked() const; - void setGeometryLocked(bool itemLocked); - - bool isChangingPos() const; - void setIsChangingPos(bool isChangingPos); - protected: //ICollectionContainer @@ -404,6 +402,7 @@ private: void moveSelectedItems(QPointF delta); Qt::CursorShape getPossibleCursor(int cursorFlags); void updatePossibleDirectionFlags(); + private: QPointF m_startPos; int m_resizeHandleSize; diff --git a/limereport/lrpagedesignintf.cpp b/limereport/lrpagedesignintf.cpp index b767128..71aa0fe 100644 --- a/limereport/lrpagedesignintf.cpp +++ b/limereport/lrpagedesignintf.cpp @@ -132,23 +132,6 @@ void PageDesignIntf::updatePageRect() emit sceneRectChanged(sceneRect()); } -//PageDesignIntf::Orientation PageDesignIntf::getOrientation() -//{ -// return m_orientation; -//} - -//void PageDesignIntf::setPageSize(PageDesignIntf::PageSize sizeType, QSizeF sizeValue) -//{ -// m_pageSize = sizeType; -// m_pageSizeValue = sizeValue; -// updatePageRect(); -//} - -//PageDesignIntf::PageSize PageDesignIntf::pageSize() const -//{ -// return m_pageSize; -//} - void PageDesignIntf::keyPressEvent(QKeyEvent *event) { if (event->modifiers() == Qt::NoModifier || @@ -1342,9 +1325,9 @@ void PageDesignIntf::copy() } BaseDesignIntf* PageDesignIntf::findDestObject(BaseDesignIntf* item){ - if (item && item->canContainChildren()) return item; + if (item && item->canAcceptPaste()) return item; BaseDesignIntf * curItem = item; - while (curItem && !curItem->canContainChildren()){ + while (curItem && !curItem->canAcceptPaste()){ curItem = dynamic_cast(curItem->parentItem()); } return curItem; @@ -2110,6 +2093,9 @@ bool PasteCommand::insertItem(ItemsReaderIntf::Ptr reader) if (page()->reportItemsByName(item->objectName()).size()>1){ item->setObjectName(objectName); } + foreach(QObject* child, item->children()){ + changeName(page(), child); + }; m_itemNames.push_back(item->objectName()); } return true; @@ -2117,6 +2103,14 @@ bool PasteCommand::insertItem(ItemsReaderIntf::Ptr reader) return false; } +void PasteCommand::changeName(PageDesignIntf *page, QObject* item) +{ + item->setObjectName(page->genObjectName(*item)); + foreach(QObject* child, item->children()){ + changeName(page, child); + }; +} + CommandIf::Ptr CutCommand::create(PageDesignIntf *page) { CutCommand *command = new CutCommand(); diff --git a/limereport/lrpagedesignintf.h b/limereport/lrpagedesignintf.h index 1256c7a..6e38063 100644 --- a/limereport/lrpagedesignintf.h +++ b/limereport/lrpagedesignintf.h @@ -266,7 +266,7 @@ namespace LimeReport { void bandDeleted(QObject* band); void slotPageItemLoaded(QObject *); void slotSelectionChanged(); - void slotAnimationStoped(QObject *animation); + void slotAnimationStoped(QObject *animation); private: template BaseDesignIntf* internalAddBand(T bandType); @@ -430,6 +430,7 @@ namespace LimeReport { void setItemsXML(const QString& itemsXML); void setParent(BaseDesignIntf* parent){m_parentItemName = parent->objectName();} bool insertItem(ItemsReaderIntf::Ptr reader); + void changeName(PageDesignIntf* page, QObject *item); private: QString m_itemsXML; QString m_parentItemName; diff --git a/limereport/lrpageitemdesignintf.h b/limereport/lrpageitemdesignintf.h index d5918c3..19ea35a 100644 --- a/limereport/lrpageitemdesignintf.h +++ b/limereport/lrpageitemdesignintf.h @@ -144,6 +144,7 @@ public: bool oldPrintMode() const; void setOldPrintMode(bool oldPrintMode); bool canContainChildren() const{ return true;} + bool canAcceptPaste() const{ return true;} bool resetPageNumber() const; void setResetPageNumber(bool resetPageNumber); void updateSubItemsSize(RenderPass pass, DataSourceManager *dataManager); From 1fb652e134ec0cec41d82e59c3e92829d33298c1 Mon Sep 17 00:00:00 2001 From: Arin Alexandex Date: Wed, 12 Aug 2020 16:45:05 +0300 Subject: [PATCH 19/36] #286 Alternate colors issue has been fixed --- common.pri | 2 +- limereport/lrbanddesignintf.cpp | 6 ++++++ limereport/lrbanddesignintf.h | 2 +- limereport/lrreportrender.cpp | 21 +++++++++++---------- limereport/lrreportrender.h | 5 +---- 5 files changed, 20 insertions(+), 16 deletions(-) diff --git a/common.pri b/common.pri index 7837d48..fd781a9 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 64 +LIMEREPORT_VERSION_RELEASE = 65 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/lrbanddesignintf.cpp b/limereport/lrbanddesignintf.cpp index 19e63c0..6bd6af8 100644 --- a/limereport/lrbanddesignintf.cpp +++ b/limereport/lrbanddesignintf.cpp @@ -249,6 +249,12 @@ bool BandDesignIntf::isNeedUpdateSize(RenderPass pass) const{ return false; } +void BandDesignIntf::copyBandAttributes(BandDesignIntf *source) +{ + this->copyBookmarks(source); + this->setBackgroundColor(source->backgroundColor()); +} + void BandDesignIntf::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { prepareRect(painter, option, widget); diff --git a/limereport/lrbanddesignintf.h b/limereport/lrbanddesignintf.h index 6c33d08..59bec04 100644 --- a/limereport/lrbanddesignintf.h +++ b/limereport/lrbanddesignintf.h @@ -272,7 +272,7 @@ public: int shiftItems() const; void setShiftItems(int shiftItems); bool isNeedUpdateSize(RenderPass) const; - + void copyBandAttributes(BandDesignIntf* source); signals: void bandRendered(BandDesignIntf* band); void bandReRendered(BandDesignIntf* oldBand, BandDesignIntf* newBand); diff --git a/limereport/lrreportrender.cpp b/limereport/lrreportrender.cpp index b18c71c..8d270a3 100644 --- a/limereport/lrreportrender.cpp +++ b/limereport/lrreportrender.cpp @@ -466,6 +466,15 @@ void ReportRender::replaceGroupsFunction(BandDesignIntf *band) replaceGroupFunctionsInContainer(band, band); } +QColor ReportRender::makeBackgroundColor(BandDesignIntf* band){ + if (band->useAlternateBackgroundColor()){ + return datasources()->variable(QLatin1String("line_") + band->objectName().toLower()).toInt() %2 == 0 ? + band->backgroundColor() : + band->alternateBackgroundColor(); + } + return band->backgroundColor(); +} + BandDesignIntf* ReportRender::renderBand(BandDesignIntf *patternBand, BandDesignIntf* bandData, ReportRender::DataRenderMode mode, bool isLast) { QCoreApplication::processEvents(); @@ -493,15 +502,7 @@ BandDesignIntf* ReportRender::renderBand(BandDesignIntf *patternBand, BandDesign if (patternBand->isFooter()) m_lastRenderedFooter = patternBand; - if (bandClone->useAlternateBackgroundColor()){ - bandClone->setBackgroundColor( - (datasources()->variable(QLatin1String("line_")+patternBand->objectName().toLower()).toInt() %2 == 0 ? - bandClone->backgroundColor() : - bandClone->alternateBackgroundColor() - ) - ); - } - + bandClone->setBackgroundColor(makeBackgroundColor(patternBand)); patternBand->emitBandRendered(bandClone); m_scriptEngineContext->setCurrentBand(bandClone); emit(patternBand->afterRender()); @@ -549,7 +550,7 @@ BandDesignIntf* ReportRender::renderBand(BandDesignIntf *patternBand, BandDesign startNewPage(); if (!bandIsSliced){ BandDesignIntf* t = renderData(patternBand); - t->copyBookmarks(bandClone); + t->copyBandAttributes(bandClone); patternBand->emitBandReRendered(bandClone, t); delete bandClone; bandClone = t; diff --git a/limereport/lrreportrender.h b/limereport/lrreportrender.h index 739018e..104f8c2 100644 --- a/limereport/lrreportrender.h +++ b/limereport/lrreportrender.h @@ -173,8 +173,6 @@ private: void startNewColumn(); void startNewPage(bool isFirst = false); void resetPageNumber(ResetPageNuberType resetType); - //int findLastPageNumber(int currentPage); - //int findPageNumber(int currentPage); void savePage(bool isLast = false); QString toString(); void initColumns(); @@ -187,8 +185,8 @@ private: void renameChildItems(BaseDesignIntf *item); void renderGroupFooterByHeader(BandDesignIntf *groupHeader); void updateTOC(BaseDesignIntf* item, int pageNumber); - //PagesRange& currentRange(bool isTOC = false){ return (isTOC) ? m_ranges.first(): m_ranges.last();} void placeBandOnPage(BandDesignIntf *band, int columnIndex); + QColor makeBackgroundColor(BandDesignIntf *band); private: DataSourceManager* m_datasources; ScriptEngineContext* m_scriptEngineContext; @@ -223,7 +221,6 @@ private: bool m_newPageStarted; bool m_lostHeadersMoved; - }; } // namespace LimeReport #endif // LRREPORTRENDER_H From 6528943c13bd8521a23818971d70f04b0f277ecb Mon Sep 17 00:00:00 2001 From: Arin Alexandex Date: Wed, 12 Aug 2020 18:01:20 +0300 Subject: [PATCH 20/36] Typos have been fixed --- common.pri | 2 +- limereport/databrowser/lrconnectiondialog.ui | 4 +- translations/limereport_ar.ts | 481 +++++++- translations/limereport_es.ts | 247 +++- translations/limereport_fr.ts | 906 ++++++++------- translations/limereport_pl.ts | 1056 +++++++++--------- translations/limereport_ru.ts | 8 +- translations/limereport_zh.ts | 62 +- 8 files changed, 1734 insertions(+), 1032 deletions(-) diff --git a/common.pri b/common.pri index fd781a9..97b4d1d 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 65 +LIMEREPORT_VERSION_RELEASE = 66 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/databrowser/lrconnectiondialog.ui b/limereport/databrowser/lrconnectiondialog.ui index 4b0e996..e7b7367 100644 --- a/limereport/databrowser/lrconnectiondialog.ui +++ b/limereport/databrowser/lrconnectiondialog.ui @@ -7,7 +7,7 @@ 0 0 420 - 363 + 365 @@ -186,7 +186,7 @@ - Dont keep credentals in lrxml + Don't keep credentials in lrxml diff --git a/translations/limereport_ar.ts b/translations/limereport_ar.ts index 0240adc..dff2574 100644 --- a/translations/limereport_ar.ts +++ b/translations/limereport_ar.ts @@ -55,6 +55,29 @@ + + ImageItemEditor + + Image Item Editor + + + + Image + صورة + + + ... + + + + Resource path + + + + Select image file + + + LRVariableDialog @@ -375,18 +398,22 @@ p, li { white-space: pre-wrap; } Keep bottom space - - Start from new page - - - - Start new page - - Keep top space + + Cut + قص + + + Copy + نسخ + + + Print if empty + + LimeReport::BaseDesignIntf @@ -422,6 +449,14 @@ p, li { white-space: pre-wrap; } Create Horizontal Layout + + Lock item geometry + + + + Create Vertical Layout + + LimeReport::ConnectionDesc @@ -500,10 +535,6 @@ p, li { white-space: pre-wrap; } Use default application connection - - Dont keep credentals in lrxml - - defaultConnection @@ -516,6 +547,10 @@ p, li { white-space: pre-wrap; } Port + + Don't keep credentials in lrxml + + LimeReport::DataBand @@ -527,6 +562,26 @@ p, li { white-space: pre-wrap; } Use alternate background color + + Keep footer together + + + + Keep subdetail together + + + + Slice last row + + + + Start from new page + + + + Start new page + + LimeReport::DataBrowser @@ -621,6 +676,10 @@ p, li { white-space: pre-wrap; } DataFooter ذيل جدول البيانات + + Print always + + LimeReport::DataHeaderBand @@ -628,6 +687,18 @@ p, li { white-space: pre-wrap; } DataHeader رأس جدول البيانات + + Reprint on each page + + + + Repeat on each row + + + + Print always + + LimeReport::DataSourceManager @@ -659,6 +730,10 @@ p, li { white-space: pre-wrap; } Datasource with name "%1" already exists! + + Unknown parameter "%1" for variable "%2" found! + + LimeReport::DataSourceModel @@ -932,6 +1007,30 @@ p, li { white-space: pre-wrap; } TitleAlignCenter + + Layout + + + + Table + + + + Millimeters + + + + Inches + + + + Scale + + + + Split + + LimeReport::FlagsPropItem @@ -1049,6 +1148,18 @@ p, li { white-space: pre-wrap; } Watermark + + Edit + تحرير + + + Images (*.gif *.icns *.ico *.jpeg *.tga *.tiff *.wbmp *.webp *.png *.jpg *.bmp);;All(*.*) + + + + Ext. + + LimeReport::ItemLocationPropItem @@ -1156,6 +1267,28 @@ p, li { white-space: pre-wrap; } الكائن + + LimeReport::ObjectInspectorWidget + + Clear + + + + Filter + + + + Translate properties + + + + + LimeReport::PDFExporter + + Export to PDF + + + LimeReport::PageFooter @@ -1207,14 +1340,14 @@ p, li { white-space: pre-wrap; } Form نموذج - - PDF file name - أسم ملف PDF - Report file name أسم التقرير + + %1 file name + + LimeReport::PreviewReportWindow @@ -1226,10 +1359,6 @@ p, li { white-space: pre-wrap; } Report تقرير - - toolBar - شريط الأدوات - Print طباعة @@ -1330,6 +1459,46 @@ p, li { white-space: pre-wrap; } Text align + + MainToolBar + + + + EditModeTools + + + + InsertTextItem + + + + Add new TextItem + + + + Selection Mode + + + + Delete Item + + + + Del + + + + Printing + + + + Attention + Attention + + + The printing is in process + + LimeReport::ProxyHolder @@ -1800,16 +1969,65 @@ p, li { white-space: pre-wrap; } variable - - - LimeReport::RectMMPropItem - width - العرض + replaceCRwithBR + - height - الأرتفاع + hideIfEmpty + + + + hideEmptyItems + + + + useExternalPainter + + + + layoutSpacing + + + + printerName + + + + fontLetterSpacing + + + + hideText + + + + option3 + + + + units + + + + geometryLocked + + + + printBehavior + + + + shiftItems + + + + showLegend + + + + removeGap + @@ -1823,6 +2041,17 @@ p, li { white-space: pre-wrap; } الأرتفاع + + LimeReport::RectUnitPropItem + + width + العرض + + + height + الأرتفاع + + LimeReport::ReportDesignWidget @@ -2020,18 +2249,6 @@ p, li { white-space: pre-wrap; } Report file name أسم التقرير - - Rendering report - جاري قراءة التقرير - - - Abort - إجهاض - - - page rendered - تم إنشاء الصفحة - Warning تحذير @@ -2120,6 +2337,38 @@ p, li { white-space: pre-wrap; } Hide right panel | Alt+R + + Rendered %1 pages + + + + Cancel report rendering + + + + Vertical layout + + + + Lock selected items + + + + Unlock selected items + + + + Select one level items + + + + Attention + Attention + + + The rendering is in process + + LimeReport::ReportEnginePrivate @@ -2149,6 +2398,10 @@ This preview is no longer valid. Designer not found! + + %1 file name + + LimeReport::ReportFooter @@ -2285,6 +2538,41 @@ This preview is no longer valid. Datasource with name: "%1" already exists! + + CSV + + + + Separator + + + + ; + + + + Use first row as header + + + + + LimeReport::SVGItem + + SVG Image + + + + SVG (*.svg) + + + + Edit + تحرير + + + Watermark + + LimeReport::ScriptBrowser @@ -2457,6 +2745,10 @@ This preview is no longer valid. Function manager with name "%1" already exists! + + RowIndex + + LimeReport::SettingDialog @@ -2480,24 +2772,40 @@ This preview is no longer valid. Horizontal grid step تباعد الشبكة الأفقي - - Designer Setting - - - - Report Setting - - Suppress absent fields and variables warning - Use dark theme + Language - Language + Designer settings + + + + Theme + + + + Report units + + + + Script editor settings + + + + Font + خط + + + Indent size + + + + Report settings @@ -2515,6 +2823,13 @@ This preview is no longer valid. رأس البيانات الفرعية + + LimeReport::SvgEditor + + Select image file + + + LimeReport::TearOffBand @@ -2591,6 +2906,10 @@ This preview is no longer valid. Watermark + + Hide if empty + + LimeReport::TextItemEditor @@ -2602,22 +2921,10 @@ This preview is no longer valid. Content المحتوى - - Editor settings - إعدادات المحرر - - - Editor font - خطوط المحرر - Cancel إلغاء الأمر - - ... - - Ok موافق @@ -2915,5 +3222,57 @@ This preview is no longer valid. Datasource manager not found + + Export to PDF + + + + SVG Item + + + + VLayout + + + + image + + + + Dark + + + + Light + + + + Default + + + + Millimeters + + + + Inches + + + + margin + + + + '' + + + + series + + + + Series + + diff --git a/translations/limereport_es.ts b/translations/limereport_es.ts index 5123997..f8baa0b 100644 --- a/translations/limereport_es.ts +++ b/translations/limereport_es.ts @@ -55,6 +55,29 @@ Nombre de la Serie + + ImageItemEditor + + Image Item Editor + + + + Image + Imagen + + + ... + + + + Resource path + + + + Select image file + + + LRVariableDialog @@ -515,6 +538,10 @@ p, li { white-space: pre-wrap; } Print if empty Imprimir si está vacío + + Keep top space + + LimeReport::BaseDesignIntf @@ -554,6 +581,10 @@ p, li { white-space: pre-wrap; } Create Vertical Layout Crear diseño vertical + + Lock item geometry + + LimeReport::ConnectionDesc @@ -632,10 +663,6 @@ p, li { white-space: pre-wrap; } Use default application connection Utilice la conexión de aplicación predeterminada - - Dont keep credentals in lrxml - No mantener credentals en el lrxml - defaultConnection Conexión por defecto @@ -648,6 +675,10 @@ p, li { white-space: pre-wrap; } Port Puerto + + Don't keep credentials in lrxml + No mantener credentals en el lrxml + LimeReport::DataBand @@ -1112,6 +1143,22 @@ p, li { white-space: pre-wrap; } Table Tabla + + Millimeters + + + + Inches + + + + Scale + + + + Split + + LimeReport::FlagsPropItem @@ -1233,6 +1280,14 @@ p, li { white-space: pre-wrap; } Ext. Ext. + + Edit + Editar + + + Images (*.gif *.icns *.ico *.jpeg *.tga *.tiff *.wbmp *.webp *.png *.jpg *.bmp);;All(*.*) + + LimeReport::ItemLocationPropItem @@ -1350,6 +1405,10 @@ p, li { white-space: pre-wrap; } Filter Filtrar + + Translate properties + + LimeReport::PDFExporter @@ -1432,10 +1491,6 @@ p, li { white-space: pre-wrap; } Report Reporte - - toolBar - Barra herramientas - Print Imprimir @@ -1532,10 +1587,6 @@ p, li { white-space: pre-wrap; } Show toolbar Mostrar barra herramientas - - toolBar_2 - barra herramientas_2 - InsertTextItem Insertar objeto de texto @@ -1556,6 +1607,26 @@ p, li { white-space: pre-wrap; } Del Supr + + MainToolBar + + + + EditModeTools + + + + Printing + + + + Attention + Atención + + + The printing is in process + + LimeReport::ProxyHolder @@ -2062,16 +2133,29 @@ p, li { white-space: pre-wrap; } option3 Opción3 - - - LimeReport::RectMMPropItem - width - ancho + units + - height - alto + geometryLocked + + + + printBehavior + + + + shiftItems + + + + showLegend + + + + removeGap + @@ -2085,6 +2169,17 @@ p, li { white-space: pre-wrap; } alto + + LimeReport::RectUnitPropItem + + width + ancho + + + height + alto + + LimeReport::ReportDesignWidget @@ -2302,18 +2397,6 @@ p, li { white-space: pre-wrap; } Report file name Nombre de archivo del reporte - - Rendering report - Generando reporte - - - Abort - Abortar - - - page rendered - página generada - Warning Advertencia @@ -2386,6 +2469,34 @@ p, li { white-space: pre-wrap; } Vertical layout Diseño vertical + + Rendered %1 pages + + + + Cancel report rendering + + + + Lock selected items + + + + Unlock selected items + + + + Select one level items + + + + Attention + Atención + + + The rendering is in process + + LimeReport::ReportEnginePrivate @@ -2574,6 +2685,25 @@ Esta vista previa ya no es válida. Usa la primera fila como encabezado + + LimeReport::SVGItem + + SVG Image + + + + SVG (*.svg) + + + + Edit + Editar + + + Watermark + Marca de agua + + LimeReport::ScriptBrowser @@ -2776,10 +2906,6 @@ Esta vista previa ya no es válida. Suppress absent fields and variables warning Suprimir campos ausentes y variables de advertencia. - - Use dark theme - Usar tema oscuro - Language Idioma @@ -2808,6 +2934,10 @@ Esta vista previa ya no es válida. Theme Tema + + Report units + + LimeReport::SubDetailBand @@ -2823,6 +2953,13 @@ Esta vista previa ya no es válida. Encabezado sub-detalle + + LimeReport::SvgEditor + + Select image file + + + LimeReport::TearOffBand @@ -3227,5 +3364,45 @@ Esta vista previa ya no es válida. Default Por defecto + + SVG Item + + + + image + imagen + + + Dark + + + + Light + + + + Millimeters + + + + Inches + + + + margin + margen + + + '' + + + + series + series + + + Series + + diff --git a/translations/limereport_fr.ts b/translations/limereport_fr.ts index f7ec14c..1f0d093 100644 --- a/translations/limereport_fr.ts +++ b/translations/limereport_fr.ts @@ -67,6 +67,38 @@ Séries + + ImageItemEditor + + + Image Item Editor + + + + + Image + Image + + + + + + + ... + + + + + Resource path + + + + + + Select image file + + + LRVariableDialog @@ -338,116 +370,123 @@ p, li { white-space: pre-wrap; } LimeReport::BandDesignIntf - + DataBand bande de données - + DataHeaderBand En-tête de données - + DataFooterBand Pied de données - + ReportHeader En-tête de rapport - + ReportFooter Pied de rapport - + PageHeader En-tête de page - + PageFooter Pied de page - + SubDetailBand Sous-détails - + SubDetailHeaderBand En-tête de sous-détails - + SubDetailFooterBand Pied de sous-détails - + GroupBandHeader Groupe d'en-tête - + GroupBandFooter Groupe de pieds - + TearOffBand Bande détachable - + connected to Connecté à - + Bring to top Placer au premier-plan - + Send to back Placer en arrière-plan - + Cut Couper - + Copy Copier - - + + Auto height Hauteur automatique - + Splittable Divisible - - + + + + Keep top space + + + + + Keep bottom space Conserver l'espace inférieur - - + + Print if empty Imprimer si vide @@ -455,53 +494,53 @@ p, li { white-space: pre-wrap; } LimeReport::BaseDesignIntf - - + + Lock item geometry Verrouiller la géométrie d'un élément - + Copy Copier - + Cut Couper - + Paste Coller - + Bring to top Placer au premier-plan - + Send to back Placer en arrière-plan - + Create Horizontal Layout Créer une disposition horizontale - + Create Vertical Layout Créer une disposition verticale - + No borders Aucune bordure - + All borders Toutes les bordures @@ -509,8 +548,8 @@ p, li { white-space: pre-wrap; } LimeReport::ConnectionDesc - - + + defaultConnection Connexion par défaut @@ -564,32 +603,32 @@ p, li { white-space: pre-wrap; } Base de données - + ... - + Auto connect Connexion automatique - - Dont keep credentals in lrxml + + Don't keep credentials in lrxml Ne pas enregistrer les informations personnelles dans lrxml - + Check connection Tester la connexion - + Cancel Annuler - + Ok @@ -754,7 +793,7 @@ p, li { white-space: pre-wrap; } - + Attention @@ -784,12 +823,12 @@ p, li { white-space: pre-wrap; } Vouz-vous vraiment supprimer la source de donnée "%1"? - + Do you really want to delete variable "%1"? Vouz-vous vraiment supprimer la variable "%1"? - + Error Erreur @@ -853,32 +892,32 @@ p, li { white-space: pre-wrap; } Paramètre inconnu %1 pour la variable %2 ! - - + + Datasource "%1" not found! Source de donnée "%1" introuvable! - + Connection with name "%1" already exists! La connexion avec le nom "%1" existe déjà! - - - - - + + + + + Datasource with name "%1" already exists! La source de donnée avec le nom "%1" existe déjà! - + Database "%1" not found Base de données "%1 introuvable - + invalid connection Connexion invalide @@ -909,32 +948,32 @@ p, li { white-space: pre-wrap; } Editeur de Widgets - + Widget Box Widgets - + Object Inspector Inspecteur d'objets - + Property Editor Editeur de propriété - + Signals && Slots Editor Editeur de Signaux & Slots - + Resource Editor Editeur de ressource - + Action Editor Editeur d'actions @@ -1383,18 +1422,29 @@ p, li { white-space: pre-wrap; } LimeReport::ImageItem - - + + + Edit + Edition + + + + Watermark Filigrane - + + Images (*.gif *.icns *.ico *.jpeg *.tga *.tiff *.wbmp *.webp *.png *.jpg *.bmp);;All(*.*) + + + + Image Image - + Ext. Externe. @@ -1501,12 +1551,12 @@ p, li { white-space: pre-wrap; } LimeReport::MasterDetailProxyModel - + Field: "%1" not found in "%2" child datasource Le champ: "%1"est introuvable dans la source de donnée enfant "%2" - + Field: "%1" not found in "%2" master datasource Le champ: "%1"est introuvable dans la source de donnée principale "%2" @@ -1514,7 +1564,7 @@ p, li { white-space: pre-wrap; } LimeReport::ModelToDataSource - + model is destroyed Le modèle a été supprimé @@ -1530,17 +1580,17 @@ p, li { white-space: pre-wrap; } LimeReport::ObjectInspectorWidget - + Clear Effacer - + Filter Filtrer - + Translate properties Traduire les popriétés @@ -1584,31 +1634,31 @@ p, li { white-space: pre-wrap; } LimeReport::PageItemDesignIntf - + Paste Coller - - + + Page is TOC Table de contenus - - + + Reset page number Réinitialiser le numéro de page - - + + Full page Page entière - - + + Set page size to printer Adapterr la taille de la page à l'imprimante @@ -1650,13 +1700,13 @@ p, li { white-space: pre-wrap; } - toolBar - Barre d'outils + MainToolBar + - toolBar_2 - Barre d'élements + EditModeTools + @@ -1790,30 +1840,45 @@ p, li { white-space: pre-wrap; } Supprimer - + + Printing + + + + Page: - + Font Police - + Text align Alignement de texte - + of %1 de %1 + + + Attention + Erreur + + + + The printing is in process + + LimeReport::ProxyHolder - + Datasource has been invalidated La source de donnée n'a pas été validée @@ -2443,17 +2508,32 @@ p, li { white-space: pre-wrap; } Méthode d'impression - + + shiftItems + + + + + showLegend + + + + + removeGap + + + + Property Name Propriété - + Property value Valeur - + Warning Avertissement @@ -2491,27 +2571,27 @@ p, li { white-space: pre-wrap; } LimeReport::ReportDesignWidget - + Script Script - + Translations Traductions - + Report file name Nom du rapport - + Error Erreur - + Wrong file format Format de fichier incorrect @@ -2519,364 +2599,370 @@ p, li { white-space: pre-wrap; } LimeReport::ReportDesignWindow - + + + Rendered %1 pages + + + + + Cancel report rendering + + + + New Report Nouveau rapport - + New Report Page Nouvelle page - + Delete Report Page Supprimer une page - + Edit Mode Mode d'édition - + Undo Annuler - + Redo Répéter - + Copy Copier - + Paste Coller - + Cut Couper - + Settings Paramètres - + Use grid Utiliser la grille - + Use magnet Utiliser l'aimant - + Text Item Elément de texte - + Save Report Enregistrer le rapport - + Save Report As Enregistrer le rapport sous - + Load Report Ouvrir un rapport - + Delete item Supprimer élément - + Zoom In Zoom avant - + Zoom Out Zoom arrière - + Render Report Afficher l'aperçu du rapport - + Edit layouts mode Modifier le mode de mise en forme - + Horizontal layout Mise en page horizontale - + Vertical layout Disposition verticale - + About A propos - + Hide left panel | Alt+L Masquer le volet gauche - + Hide right panel | Alt+R Masquer le volet droite - + Delete dialog Supprimer la boite du dialogue - + Add new dialog Ajouter une boite de dialogue - + Lock selected items Verrouiller les éléments sélectionnés - + Unlock selected items Déverrouiller les éléments sélectionnés - + Select one level items Sélectionner un niveau d'éléments - + Report Tools Outils de rapport - + Main Tools Outils principales - + Font Police - + Text alignment Alignement de texte - + Items alignment Alignement des éléments - + Borders Bordures - + Report bands Bandesde rapport - + Report Header En-tête du rapport - + Report Footer Pied de rapport - + Page Header En-tête de page - + Page Footer Pied de page - + Data Données - + Data Header En-tête de données - + Data Footer Pied de données - + SubDetail Sous-détails - + SubDetailHeader En-tête de sous-détails - + SubDetailFooter Pied de sous-détails - + GroupHeader En-tête de groupe - + GroupFooter Pied de groupe - + Tear-off Band Bande détachable - + File Fichier - + Edit Edition - + Info - + Recent Files Fichiers récents - - + + Object Inspector Inspecteur d'objets - + Report structure Structure du rapport - + Widget Box Boite de Widget - + Property Editor Editeur de propriété - + Action Editor Editeur d'action - + Resource Editor Editeur de ressource - + SignalSlot Editor Editeur de Signaux & Slots - + Dialog Designer Tools Boite à outils du Designer - + Data Browser Navigateur de données - + Script Browser Navigateur de script - + Report has been modified! Do you want save the report? Le rapport a été modifié! Voulez-vous l'enregistrer? - - + + Report file name Nom du fichier du rapport - - Rendering report - Afficher l'aperçu du rapport + + Attention + Erreur - - Abort - Quitter + + The rendering is in process + - - page rendered - du rendu de la page - - - + Warning Avertissement - + File "%1" not found! Fichier "%1" introuvable! @@ -2894,17 +2980,17 @@ p, li { white-space: pre-wrap; } Erreur - + %1 file name %1 nom de fichier - + Report File Change Nom du fichier changé - + The report file "%1" has changed names or been deleted. This preview is no longer valid. @@ -2913,12 +2999,12 @@ This preview is no longer valid. Cet aperçu n'est plus valide. - + Designer not found! Designer introuvable! - + Language %1 already exists La langue %1 existe déja @@ -2942,24 +3028,24 @@ Cet aperçu n'est plus valide. LimeReport::ReportRender - - - + + + Error Erreur - + page index out of range Indice de la page dépassé - + Databand "%1" not found Bande de données "%1 introuvable - + Wrong using function %1 Utilisation incorrecte de la fonction "%1" @@ -3009,7 +3095,7 @@ Cet aperçu n'est plus valide. - + Preview Aperçu @@ -3041,6 +3127,7 @@ Cet aperçu n'est plus valide. + CSV @@ -3100,22 +3187,47 @@ Cet aperçu n'est plus valide. La source de donnée avec le nom "%1" existe déja - - + + Attention - + Connection is not specified La connexion n'est pas spécifiée - + Refresh Actualiser + + LimeReport::SVGItem + + + SVG Image + + + + + SVG (*.svg) + + + + + + Edit + Edition + + + + + Watermark + Filigrane + + LimeReport::ScriptBrowser @@ -3129,27 +3241,24 @@ Cet aperçu n'est plus valide. Fonctions - - - - - - + + + ... - + Dialogs Dialogues - + Type - + Name Nom @@ -3202,13 +3311,13 @@ Cet aperçu n'est plus valide. LimeReport::ScriptEngineContext - + Dialog with name: %1 can`t be created Le dialogue avec le nom "%1" ne peut pas être crée - - + + Error Erreur @@ -3216,164 +3325,164 @@ Cet aperçu n'est plus valide. LimeReport::ScriptEngineManager - + GROUP FUNCTIONS Fonctions de groupe - - - - - - - - - - Value - Valeur - - - - - BandName - Nom de la bande - - - - Function manager with name "%1" already exists! - la fonction avec le nom \"%1\" existe déja! - - - - - FieldName - Nom du champ - - - - Variable %1 not found - Variable "%1" introuvable - - - - Field %1 not found in %2! - Champ "%1 introuvable dans %2! - - - - SYSTEM - Système - - - - NUMBER - Nombre - - - - - - - - Format - - - - - Precision - Précision - - - - - - - Locale - Local - - - - + + + + Value + Valeur + + + + + BandName + Nom de la bande + + + + Function manager with name "%1" already exists! + la fonction avec le nom \"%1\" existe déja! + + + + + FieldName + Nom du champ + + + + Variable %1 not found + Variable "%1" introuvable + + + + Field %1 not found in %2! + Champ "%1 introuvable dans %2! + + + + SYSTEM + Système + + + + + + NUMBER + Nombre + + + + + + + + Format + + + + + Precision + Précision + + + + + + + Locale + Local + + + + + + + + DATE&TIME Date&Heure - + CurrencySymbol Symbolde de la monnaie + + + + + + + + + + + + GENERAL + General + - - - - - - - - GENERAL - General - - - - - Name Nom - + Datasource Source de donnée - + ValueField Valeur - + KeyField Clé - + KeyFieldValue Valeur de la clé - + RowIndex - - - + + + Unique identifier Identifiant unique - - + + Content Contenu - + Indent Indenter - + datasourceName Nom de source de donnée @@ -3467,6 +3576,14 @@ Cet aperçu n'est plus valide. En-tête de sous-détails + + LimeReport::SvgEditor + + + Select image file + + + LimeReport::TearOffBand @@ -3653,17 +3770,17 @@ Cet aperçu n'est plus valide. Vérifié - + Report Item Element du rapport - + Property Propriété - + Source text Texte source @@ -3696,45 +3813,45 @@ Cet aperçu n'est plus valide. - + Data Données - + DataHeader En-tête de données - + DataFooter Pied de données - + GroupHeader En-tête de groupe - + GroupFooter Pied de groupe - + Page Footer Pied de page - + Page Header En-tête de page @@ -3753,67 +3870,67 @@ Cet aperçu n'est plus valide. - + SubDetail Sous-détails - + SubDetailHeader En-tête de sous-détails - + SubDetailFooter Pied de sous-détails - + Tear-off Band Bande détachable - + alignment Alignement - + Barcode Item Elément de code barre - + HLayout - - + + Image Item - + Shape Item - + itemLocation - + Text Item @@ -3824,153 +3941,165 @@ Cet aperçu n'est plus valide. Connexion invalidé %1 - + Master datasource "%1" not found! Source de donnée principale "%1" introuvable! - + Master datasouce "%1" not found! Source de donnée principale "%1" introuvable! - + Child Enfant - + and child est enfant - + datasouce "%1" not found! Source de donnée "%1" introuvable! - + bool - + QColor - + content Contenu - - + + + + datasource Source de donnée - - + + + + field Champ - + enum - + flags - + QFont - + QImage - + + + + + image + Image + + + int - - + + qreal - + QRect - + QRectF - + geometry - + QString - - + + Attention! - - + + Selected elements have different parent containers Les éléments sélectionnés ont un parent différent - + Object with name %1 already exists! L'objet avec le nom "%1" existe déja! - + Function %1 not found or have wrong arguments La fonction %1 est introuvable ou contient des paramètres incorrects - + Datasource manager not found Gestionnaire de source de donnée introuvable @@ -3996,16 +4125,7 @@ Cet aperçu n'est plus valide. '' - - - - - - - - - - + @@ -4028,23 +4148,23 @@ Cet aperçu n'est plus valide. Contenu vide - - + + Chart Item Elément du graphe - + First Prémier - + Second Second - + Thrid Troisième @@ -4055,7 +4175,7 @@ Cet aperçu n'est plus valide. - + Export to PDF Exporter au format PDF @@ -4070,22 +4190,38 @@ Cet aperçu n'est plus valide. Clair - + Default par défaut - - - + + + Millimeters Millimètres - + Inches Pouces + + + + SVG Item + + + + + series + Séries + + + + Series + Séries + diff --git a/translations/limereport_pl.ts b/translations/limereport_pl.ts index 61f693b..af65f1f 100644 --- a/translations/limereport_pl.ts +++ b/translations/limereport_pl.ts @@ -13,61 +13,51 @@ ChartItemEditor - Series editor Edytor serii - Series Serie - Add Dodaj - Delete Usuń - Name Nazwa - Values field Pole wartości - Color Kolor - Type Typ - Labels field Pole etykiet - Ok Ok @@ -77,35 +67,62 @@ Nazwa serii + + ImageItemEditor + + + Image Item Editor + + + + + Image + Obraz + + + + + + + ... + ... + + + + Resource path + + + + + + Select image file + + + LRVariableDialog - Variable Zmienna - Name Nazwa - Value Wartość - Type Typ - Mandatory Obowiązkowy @@ -119,13 +136,11 @@ LanguageSelectDialog - Dialog Dialog - Language Język @@ -134,19 +149,16 @@ LimeReport::AboutDialog - About O - Lime Report Lime Report - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -176,13 +188,11 @@ p, li { white-space: pre-wrap; } - Author Autor - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -193,13 +203,11 @@ p, li { white-space: pre-wrap; } - License Licencja - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -318,13 +326,11 @@ p, li { white-space: pre-wrap; } - Close Zamknij - Version 1.1.1 Wersja 1.1.1 @@ -376,116 +382,123 @@ p, li { white-space: pre-wrap; } LimeReport::BandDesignIntf - + DataBand Sekcja danych - + DataHeaderBand Nagłówek sekcji danych - + DataFooterBand Stopka sekcji danych - + ReportHeader Nagłówek raportu - + ReportFooter Stopka raportu - + PageHeader Nagłówek strony - + PageFooter Stopka strony - + SubDetailBand Podsekcja danych - + SubDetailHeaderBand Podsekcja danych nagłówek - + SubDetailFooterBand Podsekcja danych stopka - + GroupBandHeader Nagłówek sekcji grupowania - + GroupBandFooter Stopka sekcji grupowania - + TearOffBand Urwanie sekcji - + connected to połączony do - + Bring to top Przenieś na górę - + Send to back Przenieś na dół - + Cut Wytnij - + Copy Kopiuj - - + + Auto height Automatyczna wysokość - + Splittable Rozdzielane - - + + + + Keep top space + + + + + Keep bottom space Zachowaj dolną przestrzeń - - + + Print if empty Drukuj jeśli pusty @@ -493,53 +506,53 @@ p, li { white-space: pre-wrap; } LimeReport::BaseDesignIntf - - + + Lock item geometry Zablokuj geometrię pozycji - + Copy Kopiuj - + Cut Wytnij - + Paste Wklej - + Bring to top Przenieś na górę - + Send to back Przenieś na dół - + Create Horizontal Layout Utwórz układ poziomy - + Create Vertical Layout Utwórz układ pionowy - + No borders Bez obramowania - + All borders Pełne obramowanie @@ -547,8 +560,8 @@ p, li { white-space: pre-wrap; } LimeReport::ConnectionDesc - - + + defaultConnection Domyślne połączenie @@ -558,91 +571,76 @@ p, li { white-space: pre-wrap; } - Connection Połączenie - Connection Name Nazwa połączenia - Use default application connection Używaj domyślnego połączenia aplikacji - Driver Sterownik - Server Serwer - Port Port - User Użytkownik - Password Hasło - Database Baza danych - - + ... ... - - + Auto connect Automatyczne połączenie - - - Dont keep credentals in lrxml + + Don't keep credentials in lrxml Nie przechowuj referencji w lrxml - - + Check connection Sprawdź połączenie - - + Cancel Anuluj - - + Ok Ok @@ -728,14 +726,11 @@ p, li { white-space: pre-wrap; } - - Datasources Źródła danych - Add database connection Dodaj połączenie z bazą danych @@ -753,79 +748,56 @@ p, li { white-space: pre-wrap; } - - - - - - - - - - - - - ... ... - Add new datasource Dodaj źródło danych - View data Podgląd danych - Change datasource Zmień źródło danych - Delete datasource Usuń źródło danych - Show error Pokaż błąd - Variables Zmienne - Add new variable Dodaj zmienną - Edit variable Edytuj zmienną - Delete variable Usuń zmienną - Grab variable Chwyć zmienną @@ -833,7 +805,7 @@ p, li { white-space: pre-wrap; } - + Attention Uwaga @@ -863,12 +835,12 @@ p, li { white-space: pre-wrap; } Czy chcesz naprawdę skasować "%1" źródło danych? - + Do you really want to delete variable "%1"? Czy chcesz naprawdę skasować zmienną "%1"? - + Error Błąd @@ -932,32 +904,32 @@ p, li { white-space: pre-wrap; } Nieznany parametr "%1" dla znalezionej zmiennej "%2"! - - + + Datasource "%1" not found! Źródło danych %1" nie znalezione! - + Connection with name "%1" already exists! Połączenie o nazwie "%1" już istnieje! - - - - - + + + + + Datasource with name "%1" already exists! Źródło danych o nazwie "%1" już istnieje! - + Database "%1" not found Baza danych "%1" nie znaleziona - + invalid connection Nieprawidłowe połączenie @@ -988,32 +960,32 @@ p, li { white-space: pre-wrap; } Edytuj widżety - + Widget Box Pudełko widżetów - + Object Inspector Inspektor obiektów - + Property Editor Edytor właściwości - + Signals && Slots Editor Edytor sygnałów i slotów - + Resource Editor Edytor zasobów - + Action Editor Edytor akcji @@ -1462,18 +1434,29 @@ p, li { white-space: pre-wrap; } LimeReport::ImageItem - - + + + Edit + Edycja + + + + Watermark Znak wodny - + + Images (*.gif *.icns *.ico *.jpeg *.tga *.tiff *.wbmp *.webp *.png *.jpg *.bmp);;All(*.*) + + + + Image Obraz - + Ext. Zewn. @@ -1580,12 +1563,12 @@ p, li { white-space: pre-wrap; } LimeReport::MasterDetailProxyModel - + Field: "%1" not found in "%2" child datasource Pole: "%1" nie znalezione w "%2" źródle danch dziecka - + Field: "%1" not found in "%2" master datasource Pole: "%1" nie znalezione w "%2" głównym źródle danch @@ -1593,7 +1576,7 @@ p, li { white-space: pre-wrap; } LimeReport::ModelToDataSource - + model is destroyed Model danych jest zniszczony @@ -1609,17 +1592,17 @@ p, li { white-space: pre-wrap; } LimeReport::ObjectInspectorWidget - + Clear Wyczyść - + Filter Filtr - + Translate properties Przetłumacz właściwości @@ -1663,31 +1646,31 @@ p, li { white-space: pre-wrap; } LimeReport::PageItemDesignIntf - + Paste Wklej - - + + Page is TOC Strona to spis treści - - + + Reset page number Zresetuj numer strony - - + + Full page Cała strona - - + + Set page size to printer Ustaw rozmiar strony na drukarkę @@ -1696,7 +1679,6 @@ p, li { white-space: pre-wrap; } LimeReport::PreviewReportWidget - Form Formatka @@ -1715,221 +1697,200 @@ p, li { white-space: pre-wrap; } LimeReport::PreviewReportWindow - Preview Podgląd - View Widok - Report Raport - MainToolBar Główny pasek narzędzi - EditModeTools Narzędzia trybu edycji - Print Drukuj - Ctrl+P Ctrl+P - Zoom In Powiększenie - Zoom Out Pomniejszenie - - Prior Page Poprzednia strona - - Next Page Następna strona - - Close Preview Zamknij podgląd - Esc Esc - Edit Mode Tryb edycji - - Save to file Zapisz do pliku - - Show errors Pokaż błędy - First Page Pierwsza strona - First page Pierwsza strona - - Last Page Ostatnia strona - Print To PDF Drukuj do PDF - Fit page width Dopasuj szerokość strony - Fit page Dopasowanie do strony - One to one Jeden do jednego - Show Toolbar Pokaż pasek narzędzi - Show toolbar Pokaż pasek narzędzi - InsertTextItem Wstaw element tekstowy - Add new TextItem Dodaj nowy element tekstowy - Selection Mode Tryb wyboru - Delete Item Usuń element - Del Usuń - + + Printing + + + + Page: Strona: - + Font Czcionka - + Text align Wyrównanie tekstu - + of %1 z %1 + + + Attention + Uwaga + + + + The printing is in process + + LimeReport::ProxyHolder - + Datasource has been invalidated Źródło danych zostało unieważnione @@ -2559,17 +2520,32 @@ p, li { white-space: pre-wrap; } Zachowanie drukowania - + + shiftItems + + + + + showLegend + + + + + removeGap + + + + Property Name Nazwa właściwości - + Property value Wartość właściwości - + Warning Uwaga @@ -2607,27 +2583,27 @@ p, li { white-space: pre-wrap; } LimeReport::ReportDesignWidget - + Script Skrypt - + Translations Tłumaczenia - + Report file name Nazwa pliku raportu - + Error Błąd - + Wrong file format Zły format pliku @@ -2635,364 +2611,370 @@ p, li { white-space: pre-wrap; } LimeReport::ReportDesignWindow - + + + Rendered %1 pages + + + + + Cancel report rendering + + + + New Report Nowy raport - + New Report Page Nowa strona raportu - + Delete Report Page Usuń stronę raportu - + Edit Mode Tryb edycji - + Undo Cofnij - + Redo Ponów - + Copy Kopiuj - + Paste Wklej - + Cut Wytnij - + Settings Ustawienia - + Use grid Użyj siatki - + Use magnet Użyj magnesu - + Text Item Element tekstowy - + Save Report Zapisz raport - + Save Report As Zapisz raport jako - + Load Report Wczytaj raport - + Delete item Usuń pozycję - + Zoom In Powiększ - + Zoom Out Pomniejsz - + Render Report Renderuj raport - + Edit layouts mode Edytuj tryb układu - + Horizontal layout Układ poziomy - + Vertical layout Układ pionowy - + About O - + Hide left panel | Alt+L Ukryj lewy panel | Alt+L - + Hide right panel | Alt+R Ukryj prawy panel | Alt+R - + Delete dialog Dialog kasowania - + Add new dialog Dodaj nowy dialog - + Lock selected items Zablokuj zaznaczone elementy - + Unlock selected items Odblokuj zaznaczone elementy - + Select one level items Wybierz elementy na jednym poziomie - + Report Tools Narzędzia raportu - + Main Tools Główne narzędzia - + Font Czcionka - + Text alignment Wyrównanie tekstu - + Items alignment Wyrównanie elementów - + Borders Krawędzie - + Report bands Pasma raportu - + Report Header Nagłówek raportu - + Report Footer Stopka raportu - + Page Header Nagłówek strony - + Page Footer Stopka strony - + Data Dane - + Data Header Nagłówek danych - + Data Footer Stopka danych - + SubDetail Pod szczegóły - + SubDetailHeader Nagłówek pod szczegółów - + SubDetailFooter Stopka pod szczegółów - + GroupHeader Nagłówek grupujący - + GroupFooter Stopka grupująca - + Tear-off Band Sekcja zrywająca - + File Plik - + Edit Edycja - + Info Informacja - + Recent Files Ostatnie pliki - - + + Object Inspector Inspektor obiektów - + Report structure Struktura raportu - + Widget Box Pudełko widżetów - + Property Editor Edytor właściowości - + Action Editor Edytor akcji - + Resource Editor Edytor zasobów - + SignalSlot Editor Edytor sygnałów i slotów - + Dialog Designer Tools Narzędzia projektowania dialogów - + Data Browser Przeglądarka danych - + Script Browser Przeglądarka skryptów - + Report has been modified! Do you want save the report? Raport został zmodyfikowany! Czy chcesz zapisać raport? - - + + Report file name Nazwa pliku raportu - - Rendering report - Renderowanie raportu + + Attention + Uwaga - - Abort - Przerwij + + The rendering is in process + - - page rendered - strona wyrenderowana - - - + Warning Ostrzeżenie - + File "%1" not found! Plik "%1" nie znaleziony! @@ -3010,17 +2992,17 @@ p, li { white-space: pre-wrap; } Błąd - + %1 file name %1 nazwa pliku - + Report File Change Zmiana pliku raportu - + The report file "%1" has changed names or been deleted. This preview is no longer valid. @@ -3029,12 +3011,12 @@ This preview is no longer valid. Ten podgląd nie jest już prawidłowy. - + Designer not found! Nie znaleziono projektanta! - + Language %1 already exists Język %1 już istnieje @@ -3058,24 +3040,24 @@ Ten podgląd nie jest już prawidłowy. LimeReport::ReportRender - - - + + + Error Błąd - + page index out of range indeks strony poza zakresem - + Databand "%1" not found Sekcja danych "%1" nie znaleziona - + Wrong using function %1 Złe użycie funkcji %1 @@ -3084,126 +3066,105 @@ Ten podgląd nie jest już prawidłowy. LimeReport::SQLEditDialog - Datasource Źródło danych - Connection Połączenie - Datasource Name Nazwa źródła danych - Subdetail Podszczegóły - Master datasource Główne źródło danych - Subquery mode Tryb podkwerendy - Filter mode Tryb filtra - - SQL SQL - - + Preview Podgląd - Hide Preview Ukryj podgląd - Child datasource Źródło danych dziecka - Fields map Mapa pól - - ... ... - Data preview Podgląd danych - + CSV CSV - Separator Separator - ; ; - Use first row as header Użyj pierwszego wiersza jako nagłówka - Cancel Anuluj - Ok Ok @@ -3238,67 +3199,78 @@ Ten podgląd nie jest już prawidłowy. Źródło danych o nazwie %1 już istnieje - - + + Attention Uwaga - + Connection is not specified Połączenie nie zostało określone - + Refresh Odśwież + + LimeReport::SVGItem + + + SVG Image + + + + + SVG (*.svg) + + + + + + Edit + Edycja + + + + + Watermark + Znak wodny + + LimeReport::ScriptBrowser - Form Formatka - Functions Funkcje - - - - - - - - - - - - + + + ... ... - - + Dialogs Dialogi - - + Type Typ - - + Name Nazwa @@ -3334,19 +3306,16 @@ Ten podgląd nie jest już prawidłowy. LimeReport::ScriptEditor - Form Formatka - Data Dane - Functions Funkcje @@ -3354,13 +3323,13 @@ Ten podgląd nie jest już prawidłowy. LimeReport::ScriptEngineContext - + Dialog with name: %1 can`t be created Okno dialogowe z nazwą:%1 nie można utworzyć - - + + Error Błąd @@ -3368,164 +3337,164 @@ Ten podgląd nie jest już prawidłowy. LimeReport::ScriptEngineManager - + GROUP FUNCTIONS FUNKCJE GRUPUJĄCE - - - - - - - - - - Value - Wartość - - - - - BandName - Nazwa sekcji - - - - Function manager with name "%1" already exists! - Menedżer funkcji o nazwie "%1" już istnieje! - - - - - FieldName - Nazwa pola - - - - Variable %1 not found - Nie znaleziono zmiennej %1 - - - - Field %1 not found in %2! - Pole %1 nie znalezione w %2! - - - - SYSTEM - SYSTEM - - - - NUMBER - LICZBA - - - - - - - - Format - Format - - - - Precision - Precyzja - - - - - - - Locale - Ustawienia lokalne - - - - + + + + Value + Wartość + + + + + BandName + Nazwa sekcji + + + + Function manager with name "%1" already exists! + Menedżer funkcji o nazwie "%1" już istnieje! + + + + + FieldName + Nazwa pola + + + + Variable %1 not found + Nie znaleziono zmiennej %1 + + + + Field %1 not found in %2! + Pole %1 nie znalezione w %2! + + + + SYSTEM + SYSTEM + + + + + + NUMBER + LICZBA + + + + + + + + Format + Format + + + + Precision + Precyzja + + + + + + + Locale + Ustawienia lokalne + + + + + + + + DATE&TIME Data i czas - + Datasource Źródło danych - + ValueField Pole wartości - + KeyField Pole klucza - + KeyFieldValue Wartość pola klucza - + RowIndex Indeks wiersza - - - + + + Unique identifier Unikalny identyfikator - - + + Content Zawartość - + Indent Akapit - + datasourceName Nazwa źródła danych - + CurrencySymbol Symbol waluty + + + + + + + + + + + + GENERAL + OGÓLNY + - - - - - - - - GENERAL - OGÓLNY - - - - - Name Nazwa @@ -3534,85 +3503,71 @@ Ten podgląd nie jest już prawidłowy. LimeReport::SettingDialog - Designer setting Ustawienia projektanta - Designer settings Ustawienia projektowania - Default font Domyślna czcionka - Grid Siatka - Vertical grid step Pionowy krok siatki - Horizontal grid step Poziomy krok siatki - Language Język - Theme Motyw - Report units Jednostki raportu - Script editor settings Ustawienia edytora skryptów - Font Czcionka - Indent size Rozmiar akapitu - Report settings Ustawienia raportu - Suppress absent fields and variables warning Pomiń ostrzerzenie o nieobecności pól i zmiennych @@ -3633,6 +3588,14 @@ Ten podgląd nie jest już prawidłowy. Nagłówek pod szczegółów + + LimeReport::SvgEditor + + + Select image file + + + LimeReport::TearOffBand @@ -3746,37 +3709,31 @@ Ten podgląd nie jest już prawidłowy. LimeReport::TextItemEditor - Text Item Editor Edytor pozycji tekstowych - Content Zawartość - Ok Ok - Ctrl+Return Ctrl+Return - Cancel Anuluj - Esc Esc @@ -3785,66 +3742,57 @@ Ten podgląd nie jest już prawidłowy. LimeReport::TranslationEditor - Form Formatka - Languages Języki - - ... ... - Pages Strony - Strings Ciąg znaków - Source Text Tekst źródłowy - Translation Tłumaczenie - Checked Zaznaczony - + Report Item Element raportu - + Property Właściowość - + Source text Tekst źródłowy @@ -3877,45 +3825,45 @@ Ten podgląd nie jest już prawidłowy. - + Data Dane - + DataHeader Nagłówek danych - + DataFooter Stopka danych - + GroupHeader Nagłówek grupujący - + GroupFooter Stopka grupująca - + Page Footer Stopka strony - + Page Header Nagłówek strony @@ -3934,67 +3882,67 @@ Ten podgląd nie jest już prawidłowy. - + SubDetail Pod szczegóły - + SubDetailHeader Nagłówek pod szczegółów - + SubDetailFooter Stopka pod szczegółów - + Tear-off Band Sekcja zrywające - + alignment wyrównanie - + Barcode Item Kod kreskowy - + HLayout Układ poziomy - - + + Image Item Element obrazu - + Shape Item Kształt elementu - + itemLocation Lokalizacja elementu - + Text Item Element tekstowy @@ -4005,153 +3953,165 @@ Ten podgląd nie jest już prawidłowy. Nieprawidłowe połączenie! %1 - + Master datasource "%1" not found! Nie znaleziono głównego źródła danych "%1"! - + Master datasouce "%1" not found! Nie znaleziono głównego źródła danych "%1"! - + Child Dziecko - + and child i dziecko - + datasouce "%1" not found! nie znaleziono źródła danych "%1"! - + bool Wartość logiczna - + QColor Color - + content Zawrtość - - + + + + datasource Źródło danych - - + + + + field Pole - + enum wyliczenie - + flags Falgi - + QFont Czcionka - + QImage Obraz - + + + + + image + Obraz + + + int Liczba całkowita - - + + qreal Liczba - + QRect QRect - + QRectF QRectF - + geometry geometria - + QString Ciąg znaków - - + + Attention! Uwaga! - - + + Selected elements have different parent containers Wybrane elementy mają różne pojemniki nadrzędne - + Object with name %1 already exists! Obiekt o nazwie %1 już istnieje! - + Function %1 not found or have wrong arguments Funkcja %1 nie znaleziona lub ma błędne argumenty - + Datasource manager not found Nie znaleziono menedżera źródła danych @@ -4201,28 +4161,28 @@ Ten podgląd nie jest już prawidłowy. - + Export to PDF Eksport do PDF - - + + Chart Item Element wykresu - + First Pierwszy - + Second Drugi - + Thrid Trzeci @@ -4242,22 +4202,38 @@ Ten podgląd nie jest już prawidłowy. Jasny - + Default Domyślny - - - + + + Millimeters Milimetry - + Inches Cale + + + + SVG Item + + + + + series + Seria + + + + Series + Serie + diff --git a/translations/limereport_ru.ts b/translations/limereport_ru.ts index 2d935f0..94d0370 100644 --- a/translations/limereport_ru.ts +++ b/translations/limereport_ru.ts @@ -540,10 +540,6 @@ p, li { white-space: pre-wrap; } Ok Ок - - Dont keep credentals in lrxml - Не хранить учетные данные в lrxml - defaultConnection Соединение по умолчанию @@ -556,6 +552,10 @@ p, li { white-space: pre-wrap; } Port Порт + + Don't keep credentials in lrxml + Не хранить учетные данные в lrxml + LimeReport::DataBand diff --git a/translations/limereport_zh.ts b/translations/limereport_zh.ts index 0d81a3e..6944a50 100644 --- a/translations/limereport_zh.ts +++ b/translations/limereport_zh.ts @@ -523,10 +523,6 @@ p, li { white-space: pre-wrap; } Auto connect 自动连接 - - Dont keep credentals in lrxml - 不在lrxml文件中保存凭证 - Check connection 检查连接 @@ -563,6 +559,10 @@ p, li { white-space: pre-wrap; } defaultConnection 默认连接 + + Don't keep credentials in lrxml + 不在lrxml文件中保存凭证 + LimeReport::DataBand @@ -1168,6 +1168,10 @@ p, li { white-space: pre-wrap; } Edit 编辑 + + Images (*.gif *.icns *.ico *.jpeg *.tga *.tiff *.wbmp *.webp *.png *.jpg *.bmp);;All(*.*) + + LimeReport::ItemLocationPropItem @@ -2029,6 +2033,14 @@ p, li { white-space: pre-wrap; } shiftItems 偏移组件 + + showLegend + + + + removeGap + + LimeReport::RectPropItem @@ -2557,6 +2569,25 @@ This preview is no longer valid. 第一行为头 + + LimeReport::SVGItem + + SVG Image + + + + SVG (*.svg) + + + + Edit + 编辑 + + + Watermark + 水印 + + LimeReport::ScriptBrowser @@ -2806,6 +2837,13 @@ This preview is no longer valid. 子细节头 + + LimeReport::SvgEditor + + Select image file + 选择图像文件 + + LimeReport::TearOffBand @@ -3234,5 +3272,21 @@ This preview is no longer valid. '' '' + + SVG Item + + + + image + 图像 + + + series + 数据系列 + + + Series + 数据系列 + From 2777cbb744b6c19776b8ebdbb65a09edf7f83997 Mon Sep 17 00:00:00 2001 From: Arin Alexandex Date: Sun, 16 Aug 2020 17:54:44 +0300 Subject: [PATCH 21/36] #289 Data source renaming has been fixed --- common.pri | 2 +- limereport/databrowser/lrdatabrowser.cpp | 4 ++-- limereport/lrdatasourcemanager.cpp | 7 +++---- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/common.pri b/common.pri index 97b4d1d..b8d2840 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 66 +LIMEREPORT_VERSION_RELEASE = 67 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/databrowser/lrdatabrowser.cpp b/limereport/databrowser/lrdatabrowser.cpp index d475826..32e9995 100644 --- a/limereport/databrowser/lrdatabrowser.cpp +++ b/limereport/databrowser/lrdatabrowser.cpp @@ -677,7 +677,7 @@ SQLEditResult::ResultMode DataBrowser::currentDatasourceType(const QString& data void DataBrowser::applyChanges(SQLEditResult result) { - if (result.resultMode == currentDatasourceType(result.datasourceName)){ + if (result.resultMode == currentDatasourceType(result.oldDatasourceName)){ switch(result.resultMode){ case SQLEditResult::Query: changeQuery(result); @@ -694,7 +694,7 @@ void DataBrowser::applyChanges(SQLEditResult result) default: break; } } else { - removeDatasource(result.datasourceName); + removeDatasource(result.oldDatasourceName); addDatasource(result); } activateItem(result.datasourceName, DataBrowserTree::Table); diff --git a/limereport/lrdatasourcemanager.cpp b/limereport/lrdatasourcemanager.cpp index f45bf4d..382a05c 100644 --- a/limereport/lrdatasourcemanager.cpp +++ b/limereport/lrdatasourcemanager.cpp @@ -675,8 +675,6 @@ CSVDesc *DataSourceManager::csvByName(const QString &datasourceName) void DataSourceManager::removeDatasource(const QString &name) { - invalidateLinkedDatasources(name); - if (m_datasources.contains(name)){ IDataSourceHolder *holder; holder=m_datasources.value(name); @@ -703,6 +701,7 @@ void DataSourceManager::removeDatasource(const QString &name) delete m_csvs.at(csvIndex); m_csvs.removeAt(csvIndex); } + invalidateLinkedDatasources(name); m_hasChanges = true; emit datasourcesChanged(); } @@ -1348,12 +1347,12 @@ void DataSourceManager::invalidateLinkedDatasources(QString datasourceName) { foreach(QString name, dataSourceNames()){ if (isSubQuery(name)){ - if (subQueryByName(name)->master() == datasourceName) + if (subQueryByName(name)->master().compare(datasourceName) == 0) dataSourceHolder(name)->invalidate(designTime()?IDataSource::DESIGN_MODE:IDataSource::RENDER_MODE); } if (isProxy(name)){ ProxyDesc* proxy = proxyByName(name); - if ((proxy->master() == datasourceName) || (proxy->child() == datasourceName)) + if ((proxy->master().compare(datasourceName) == 0) || (proxy->child().compare(datasourceName) == 0)) dataSourceHolder(name)->invalidate(designTime()?IDataSource::DESIGN_MODE:IDataSource::RENDER_MODE); } From 3fa6ce4ca8e5a77ed1bfd18db6078e9778ca3fc6 Mon Sep 17 00:00:00 2001 From: Arin Alexandex Date: Sun, 16 Aug 2020 18:07:47 +0300 Subject: [PATCH 22/36] French language has been updated --- common.pri | 2 +- translations/limereport_fr.ts | 58 +++++++++++++++++------------------ 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/common.pri b/common.pri index b8d2840..b3e0192 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 67 +LIMEREPORT_VERSION_RELEASE = 68 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/translations/limereport_fr.ts b/translations/limereport_fr.ts index 1f0d093..cec566c 100644 --- a/translations/limereport_fr.ts +++ b/translations/limereport_fr.ts @@ -72,12 +72,12 @@ Image Item Editor - + Éditeur d'image Image - Image + Image @@ -85,18 +85,18 @@ ... - + Resource path - + Chemin de ressources Select image file - + Sélectionner une image @@ -476,7 +476,7 @@ p, li { white-space: pre-wrap; } Keep top space - + Conserver l'espace supérieur @@ -1425,7 +1425,7 @@ p, li { white-space: pre-wrap; } Edit - Edition + Edition @@ -1436,7 +1436,7 @@ p, li { white-space: pre-wrap; } Images (*.gif *.icns *.ico *.jpeg *.tga *.tiff *.wbmp *.webp *.png *.jpg *.bmp);;All(*.*) - + @@ -1701,12 +1701,12 @@ p, li { white-space: pre-wrap; } MainToolBar - + Barre d'outils principale EditModeTools - + Outils d'édition @@ -1842,7 +1842,7 @@ p, li { white-space: pre-wrap; } Printing - + Impression en cours @@ -1867,12 +1867,12 @@ p, li { white-space: pre-wrap; } Attention - Erreur + Attention The printing is in process - + L'impresion est en cours @@ -2510,17 +2510,17 @@ p, li { white-space: pre-wrap; } shiftItems - + Décaler les éléments showLegend - + Afficher la légende removeGap - + Supprimer l'espace @@ -2602,12 +2602,12 @@ p, li { white-space: pre-wrap; } Rendered %1 pages - + %1 pages préparées Cancel report rendering - + Annuler la préparation @@ -2949,12 +2949,12 @@ p, li { white-space: pre-wrap; } Attention - Erreur + Attention The rendering is in process - + La préparation du rapport est en cours @@ -3208,24 +3208,24 @@ Cet aperçu n'est plus valide. SVG Image - + Image SVG SVG (*.svg) - + Edit - Edition + Edition Watermark - Filigrane + Filigrane @@ -3581,7 +3581,7 @@ Cet aperçu n'est plus valide. Select image file - + Sélectionner une image @@ -4036,7 +4036,7 @@ Cet aperçu n'est plus valide. image - Image + Image @@ -4211,17 +4211,17 @@ Cet aperçu n'est plus valide. SVG Item - + series - Séries + Séries Series - Séries + Séries From bed346552ed69220550ad941fcc553f6e45e537f Mon Sep 17 00:00:00 2001 From: Arin Alexandex Date: Mon, 17 Aug 2020 10:04:17 +0300 Subject: [PATCH 23/36] Qt 4 build fixed --- limereport/lrpagedesignintf.cpp | 6 +++--- limereport/lrpagedesignintf.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/limereport/lrpagedesignintf.cpp b/limereport/lrpagedesignintf.cpp index 71aa0fe..d9c495d 100644 --- a/limereport/lrpagedesignintf.cpp +++ b/limereport/lrpagedesignintf.cpp @@ -2093,7 +2093,7 @@ bool PasteCommand::insertItem(ItemsReaderIntf::Ptr reader) if (page()->reportItemsByName(item->objectName()).size()>1){ item->setObjectName(objectName); } - foreach(QObject* child, item->children()){ + foreach (BaseDesignIntf* child, item->childBaseItems()){ changeName(page(), child); }; m_itemNames.push_back(item->objectName()); @@ -2103,10 +2103,10 @@ bool PasteCommand::insertItem(ItemsReaderIntf::Ptr reader) return false; } -void PasteCommand::changeName(PageDesignIntf *page, QObject* item) +void PasteCommand::changeName(PageDesignIntf *page, BaseDesignIntf* item) { item->setObjectName(page->genObjectName(*item)); - foreach(QObject* child, item->children()){ + foreach(BaseDesignIntf* child, item->childBaseItems()){ changeName(page, child); }; } diff --git a/limereport/lrpagedesignintf.h b/limereport/lrpagedesignintf.h index 6e38063..91d0a68 100644 --- a/limereport/lrpagedesignintf.h +++ b/limereport/lrpagedesignintf.h @@ -430,7 +430,7 @@ namespace LimeReport { void setItemsXML(const QString& itemsXML); void setParent(BaseDesignIntf* parent){m_parentItemName = parent->objectName();} bool insertItem(ItemsReaderIntf::Ptr reader); - void changeName(PageDesignIntf* page, QObject *item); + void changeName(PageDesignIntf* page, BaseDesignIntf *item); private: QString m_itemsXML; QString m_parentItemName; From 022b80613bc5ef3ac56fb4e0a2fcd13bdfdbda0f Mon Sep 17 00:00:00 2001 From: Arin Alexander Date: Thu, 17 Sep 2020 10:35:48 +0300 Subject: [PATCH 24/36] script highlighter has been fixed --- common.pri | 2 +- limereport/scripteditor/lrscripthighlighter.cpp | 8 ++++---- limereport/scripteditor/lrscripthighlighter.h | 2 ++ 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/common.pri b/common.pri index b3e0192..6fed45f 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 68 +LIMEREPORT_VERSION_RELEASE = 69 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/scripteditor/lrscripthighlighter.cpp b/limereport/scripteditor/lrscripthighlighter.cpp index 0af09ba..6a65546 100644 --- a/limereport/scripteditor/lrscripthighlighter.cpp +++ b/limereport/scripteditor/lrscripthighlighter.cpp @@ -175,15 +175,15 @@ void ScriptHighlighter::highlightBlock(const QString& text) bool ScriptHighlighter::isKeyWord(const QString& word) { - for (int i = 0; i < KEYWORDS_COUNT-1; ++i){ - if (QLatin1String(keywords[i]) == word) return true; - } - return false; + return m_keywords.contains(word); } ScriptHighlighter::ScriptHighlighter(QTextDocument* parent): QSyntaxHighlighter(parent) { + for(int i=0; i m_keywords; }; From bc402563d99e5519f8116bf6122f925dfc3c5978 Mon Sep 17 00:00:00 2001 From: Arin Alexander Date: Sat, 19 Sep 2020 16:02:05 +0300 Subject: [PATCH 25/36] Render data header has been fixed --- common.pri | 2 +- limereport/lrreportrender.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common.pri b/common.pri index 6fed45f..8c8392f 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 69 +LIMEREPORT_VERSION_RELEASE = 70 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/lrreportrender.cpp b/limereport/lrreportrender.cpp index 8d270a3..052fdba 100644 --- a/limereport/lrreportrender.cpp +++ b/limereport/lrreportrender.cpp @@ -838,7 +838,7 @@ void ReportRender::recalcIfNeeded(BandDesignIntf* band){ void ReportRender::renderDataHeader(BandDesignIntf *header) { recalcIfNeeded(header); - BandDesignIntf* renderedHeader = renderBand(header, 0); + BandDesignIntf* renderedHeader = renderBand(header, 0, StartNewPageAsNeeded); if (containsGroupFunctions(header)) m_recalcBands.append(renderedHeader); } From 2b06aa0d8774afa3279578a0cf40310955e6036e Mon Sep 17 00:00:00 2001 From: Arin Alexander Date: Tue, 13 Oct 2020 16:19:09 +0300 Subject: [PATCH 26/36] Splittable property has been added to DataFooter and SubDetailFooter --- common.pri | 2 +- limereport/bands/lrdataband.h | 1 + limereport/bands/lrsubdetailband.h | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/common.pri b/common.pri index 8c8392f..e0c2983 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 70 +LIMEREPORT_VERSION_RELEASE = 71 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/bands/lrdataband.h b/limereport/bands/lrdataband.h index fc6e4ad..c44c93c 100644 --- a/limereport/bands/lrdataband.h +++ b/limereport/bands/lrdataband.h @@ -87,6 +87,7 @@ class DataFooterBand : public BandDesignIntf { Q_OBJECT Q_PROPERTY(int columnsCount READ columnsCount WRITE setColumnsCount) + Q_PROPERTY(bool splittable READ isSplittable WRITE setSplittable) Q_PROPERTY(BandColumnsLayoutType columnsFillDirection READ columnsFillDirection WRITE setColumnsFillDirection) Q_PROPERTY(bool printAlways READ printAlways WRITE setPrintAlways) public: diff --git a/limereport/bands/lrsubdetailband.h b/limereport/bands/lrsubdetailband.h index bbcdc88..d64eee9 100644 --- a/limereport/bands/lrsubdetailband.h +++ b/limereport/bands/lrsubdetailband.h @@ -77,6 +77,7 @@ class SubDetailFooterBand : public BandDesignIntf { Q_OBJECT Q_PROPERTY(int columnsCount READ columnsCount WRITE setColumnsCount) + Q_PROPERTY(bool splittable READ isSplittable WRITE setSplittable) Q_PROPERTY(BandColumnsLayoutType columnsFillDirection READ columnsFillDirection WRITE setColumnsFillDirection) Q_PROPERTY(bool printAlways READ printAlways() WRITE setPrintAlways()) public: From cdc78f5a0f9a55a0447fe0a3e20471e4a07436d7 Mon Sep 17 00:00:00 2001 From: Arin Alexander Date: Wed, 14 Oct 2020 16:19:51 +0300 Subject: [PATCH 27/36] Band index generation has been fixed --- common.pri | 2 +- limereport/lrpageitemdesignintf.cpp | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/common.pri b/common.pri index e0c2983..7c76d17 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 71 +LIMEREPORT_VERSION_RELEASE = 72 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/lrpageitemdesignintf.cpp b/limereport/lrpageitemdesignintf.cpp index 3bcb402..664cf9c 100644 --- a/limereport/lrpageitemdesignintf.cpp +++ b/limereport/lrpageitemdesignintf.cpp @@ -244,8 +244,7 @@ int PageItemDesignIntf::calcBandIndex(BandDesignIntf::BandsType bandType, BandDe } else { int maxChildIndex = 0; foreach(BandDesignIntf* band, m_bands){ - if (band->bandType() == BandDesignIntf::Data) - maxChildIndex = std::max(maxChildIndex, band->maxChildIndex()); + maxChildIndex = std::max(maxChildIndex, band->maxChildIndex()); } bandIndex = std::max(bandIndex, maxChildIndex + 1); } From 9171105b059aed4f8d060d25aab6962582a61b96 Mon Sep 17 00:00:00 2001 From: Arin Alexander Date: Thu, 5 Nov 2020 22:31:16 +0300 Subject: [PATCH 28/36] Build fixed --- common.pri | 2 +- limereport/scripteditor/lrscripthighlighter.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/common.pri b/common.pri index 7c76d17..0e9d5d6 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 72 +LIMEREPORT_VERSION_RELEASE = 73 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/scripteditor/lrscripthighlighter.h b/limereport/scripteditor/lrscripthighlighter.h index 0588ad4..86bee85 100644 --- a/limereport/scripteditor/lrscripthighlighter.h +++ b/limereport/scripteditor/lrscripthighlighter.h @@ -2,6 +2,7 @@ #define LRSCRIPTHIGHLIGHTER_H #include +#include namespace LimeReport{ From f7f8934e79a58889f9ea09f2ff976e444c257daf Mon Sep 17 00:00:00 2001 From: Arin Alexander Date: Mon, 21 Dec 2020 19:54:54 +0300 Subject: [PATCH 29/36] delete page activation has been fixed --- limereport/lrreportdesignwindow.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/limereport/lrreportdesignwindow.cpp b/limereport/lrreportdesignwindow.cpp index 57af790..bdfa031 100644 --- a/limereport/lrreportdesignwindow.cpp +++ b/limereport/lrreportdesignwindow.cpp @@ -135,6 +135,7 @@ ReportDesignWindow::ReportDesignWindow(ReportEnginePrivateInterface* report, QWi m_hideLeftPanel->setChecked(isDockAreaVisible(Qt::LeftDockWidgetArea)); m_hideRightPanel->setChecked(isDockAreaVisible(Qt::RightDockWidgetArea)); createProgressBar(); + m_deletePageAction->setEnabled(report->pageCount()>1); } ReportDesignWindow::~ReportDesignWindow() From 4c59d2810c4b43ffd2edbfb0637d2eb1b36f9925 Mon Sep 17 00:00:00 2001 From: Arin Alexander Date: Fri, 25 Dec 2020 23:02:33 +0300 Subject: [PATCH 30/36] Fixed splitting vertical layouts --- limereport/items/lrverticallayout.cpp | 14 ++++---------- limereport/lrsimplecrypt.cpp | 6 +++--- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/limereport/items/lrverticallayout.cpp b/limereport/items/lrverticallayout.cpp index 51cb533..5550896 100644 --- a/limereport/items/lrverticallayout.cpp +++ b/limereport/items/lrverticallayout.cpp @@ -116,20 +116,14 @@ BaseDesignIntf* VerticalLayout::cloneBottomPart(int height, QObject* owner, QGra bottomPart->initFromItem(this); foreach(BaseDesignIntf* item,childBaseItems()){ - if ((item->geometry().top() < height) && ( item->geometry().bottom() > height )){ + if (item->geometry().bottom() > height){ int sliceHeight = height - item->geometry().top(); - if (item->canBeSplitted(sliceHeight)){ + if ((item->geometry().top() < height) && (item->canBeSplitted(sliceHeight))){ BaseDesignIntf* tmpItem = item->cloneBottomPart(sliceHeight, bottomPart, bottomPart); - tmpItem->setPos(tmpItem->pos().x(),0); tmpItem->setHeight(sliceHeight); + bottomPart->addChild(tmpItem); } else { - item->cloneItem(item->itemMode(), bottomPart, bottomPart); - item->setPos(item->pos().x(), 0); - } - } else { - if (item->geometry().top() >= height){ - BaseDesignIntf* tmpItem = item->cloneItem(item->itemMode(), bottomPart, bottomPart); - tmpItem->setPos(item->pos().x(), item->pos().y() - height); + bottomPart->addChild(item->cloneItem(item->itemMode(), bottomPart, bottomPart)); } } } diff --git a/limereport/lrsimplecrypt.cpp b/limereport/lrsimplecrypt.cpp index f54cbb2..72e6e87 100644 --- a/limereport/lrsimplecrypt.cpp +++ b/limereport/lrsimplecrypt.cpp @@ -29,6 +29,8 @@ ****************************************************************************/ #include "lrsimplecrypt.h" +namespace LimeReport { + #if defined(LP64) || defined(_LP64) || defined(__LP64__) typedef unsigned int WORD; /* Should be 32-bit = 4 bytes */ #else @@ -62,8 +64,6 @@ void initPt(WTB& pt, QByteArray::Iterator* it, QByteArray::Iterator end){ } } -namespace LimeReport { - class ChipperPrivate{ friend class Chipper; public: @@ -115,7 +115,7 @@ QByteArray Chipper::cryptString(QString value) { QByteArray buff; QByteArray result; - buff += value; + buff += value.toUtf8(); WTB pt, ct, prior; if (!d->isPrepared()) From 3c2388dce592f383df5fbcba0fa1e72ef9addd24 Mon Sep 17 00:00:00 2001 From: Alexander Arin Date: Sat, 26 Dec 2020 00:30:44 +0300 Subject: [PATCH 31/36] Update README.md Appveyor badge has been added --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 140ffd3..1f3ef97 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -# LimeReport v1.5.35 [![Build Status](https://api.travis-ci.org/fralx/LimeReport.svg?branch=master)](https://travis-ci.org/fralx/LimeReport) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/bc31412ea4814f30825b5ed3723e9a70)](https://app.codacy.com/app/fralx/LimeReport?utm_source=github.com&utm_medium=referral&utm_content=fralx/LimeReport&utm_campaign=Badge_Grade_Dashboard) +# LimeReport v1.5.35 [![Build Status](https://api.travis-ci.org/fralx/LimeReport.svg?branch=master)](https://travis-ci.org/fralx/LimeReport) [![Build status](https://ci.appveyor.com/api/projects/status/wna5429pix7ilcmo/branch/master?svg=true)](https://ci.appveyor.com/project/fralx/limereport/branch/master) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/bc31412ea4814f30825b5ed3723e9a70)](https://app.codacy.com/app/fralx/LimeReport?utm_source=github.com&utm_medium=referral&utm_content=fralx/LimeReport&utm_campaign=Badge_Grade_Dashboard) ## Official LimeReport web site [http://limereport.ru](http://limereport.ru) From 7e4e6684c613955a4ac3a334f9228cce5bac4491 Mon Sep 17 00:00:00 2001 From: turbineyan Date: Sun, 27 Dec 2020 18:51:03 +0800 Subject: [PATCH 32/36] to fix the crash issue. due to extractAcceptableValue() function was return an empty list --- limereport/items/lralignpropitem.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/limereport/items/lralignpropitem.cpp b/limereport/items/lralignpropitem.cpp index a91c243..990b9ec 100644 --- a/limereport/items/lralignpropitem.cpp +++ b/limereport/items/lralignpropitem.cpp @@ -32,6 +32,8 @@ #include "objectinspector/editors/lrcomboboxeditor.h" #include "lrtextitem.h" +#include + namespace{ LimeReport::ObjectPropItem * createAlignItem( QObject *object, LimeReport::ObjectPropItem::ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& data, LimeReport::ObjectPropItem* parent, bool readonly @@ -160,7 +162,12 @@ QString AlignmentItemEditor::displayValue() const void AlignmentItemEditor::setPropertyValue(QVariant value) { - ObjectPropItem::setPropertyValue(extractAcceptableValue(value.toInt())[0]); + //ObjectPropItem::setPropertyValue(extractAcceptableValue(value.toInt())[0]); + qDebug()<<"value "< _accpepttableValueList= extractAcceptableValue(value.toInt()); + if(_accpepttableValueList.isEmpty()) return; + + ObjectPropItem::setPropertyValue(_accpepttableValueList[0]); } } From 698f7a0171e6438392e00df9d34864cf0830f6cb Mon Sep 17 00:00:00 2001 From: Arin Alexander Date: Tue, 29 Dec 2020 23:56:54 +0300 Subject: [PATCH 33/36] Added timeout before changing geometry --- common.pri | 2 +- limereport/lrbasedesignintf.cpp | 11 ++++++++++- limereport/lrbasedesignintf.h | 6 ++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/common.pri b/common.pri index 0e9d5d6..a27590b 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 73 +LIMEREPORT_VERSION_RELEASE = 76 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/lrbasedesignintf.cpp b/limereport/lrbasedesignintf.cpp index 5df12fd..1f05f32 100644 --- a/limereport/lrbasedesignintf.cpp +++ b/limereport/lrbasedesignintf.cpp @@ -85,7 +85,9 @@ BaseDesignIntf::BaseDesignIntf(const QString &storageTypeName, QObject *owner, Q m_fillTransparentInDesignMode(true), m_unitType(Millimeters), m_itemGeometryLocked(false), - m_isChangingPos(false) + m_isChangingPos(false), + m_isMoveable(false) + { setGeometry(QRectF(0, 0, m_width, m_height)); if (BaseDesignIntf *item = dynamic_cast(parent)) { @@ -387,6 +389,10 @@ void BaseDesignIntf::setFixedPos(bool fixedPos) m_fixedPos = fixedPos; } +void BaseDesignIntf::onChangeGeometryTimeOut(){ + m_isMoveable = true; +} + void BaseDesignIntf::mousePressEvent(QGraphicsSceneMouseEvent *event) { if (event->button() == Qt::LeftButton) { @@ -396,6 +402,8 @@ void BaseDesignIntf::mousePressEvent(QGraphicsSceneMouseEvent *event) m_oldGeometry = geometry(); QGraphicsItem::mousePressEvent(event); emit(itemSelected(this)); + m_isMoveable = false; + m_timer.singleShot(200, this, SLOT(onChangeGeometryTimeOut())); } else QGraphicsItem::mousePressEvent(event); } @@ -524,6 +532,7 @@ void BaseDesignIntf::hoverEnterEvent(QGraphicsSceneHoverEvent /**event*/) void BaseDesignIntf::mouseMoveEvent(QGraphicsSceneMouseEvent *event) { + if (!m_isMoveable) return; if (!isSelected()){ QGraphicsItem::mouseMoveEvent(event); return; diff --git a/limereport/lrbasedesignintf.h b/limereport/lrbasedesignintf.h index 00fc807..08ab8ed 100644 --- a/limereport/lrbasedesignintf.h +++ b/limereport/lrbasedesignintf.h @@ -403,6 +403,9 @@ private: Qt::CursorShape getPossibleCursor(int cursorFlags); void updatePossibleDirectionFlags(); +private slots: + void onChangeGeometryTimeOut(); + private: QPointF m_startPos; int m_resizeHandleSize; @@ -463,6 +466,9 @@ private: UnitType m_unitType; bool m_itemGeometryLocked; bool m_isChangingPos; + bool m_isMoveable; + QTimer m_timer; + signals: void geometryChanged(QObject* object, QRectF newGeometry, QRectF oldGeometry); void posChanging(QObject* object, QPointF newPos, QPointF oldPos); From 47500e6699873e64cd9366e35252ff7d5a04b5eb Mon Sep 17 00:00:00 2001 From: Arin Alexander Date: Wed, 30 Dec 2020 00:40:46 +0300 Subject: [PATCH 34/36] QTimer singleShot simplified --- limereport/lrbanddesignintf.h | 4 ++-- limereport/lrbasedesignintf.cpp | 6 +++--- limereport/lrbasedesignintf.h | 9 ++++----- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/limereport/lrbanddesignintf.h b/limereport/lrbanddesignintf.h index 59bec04..3ee6e42 100644 --- a/limereport/lrbanddesignintf.h +++ b/limereport/lrbanddesignintf.h @@ -274,8 +274,8 @@ public: bool isNeedUpdateSize(RenderPass) const; void copyBandAttributes(BandDesignIntf* source); signals: - void bandRendered(BandDesignIntf* band); - void bandReRendered(BandDesignIntf* oldBand, BandDesignIntf* newBand); + void bandRendered(LimeReport::BandDesignIntf* band); + void bandReRendered(LimeReport::BandDesignIntf* oldBand, LimeReport::BandDesignIntf* newBand); void preparedForRender(); void bandRegistred(); protected: diff --git a/limereport/lrbasedesignintf.cpp b/limereport/lrbasedesignintf.cpp index 1f05f32..9d25dbf 100644 --- a/limereport/lrbasedesignintf.cpp +++ b/limereport/lrbasedesignintf.cpp @@ -401,9 +401,9 @@ void BaseDesignIntf::mousePressEvent(QGraphicsSceneMouseEvent *event) m_startPos = pos(); m_oldGeometry = geometry(); QGraphicsItem::mousePressEvent(event); - emit(itemSelected(this)); + emit itemSelected(this); m_isMoveable = false; - m_timer.singleShot(200, this, SLOT(onChangeGeometryTimeOut())); + QTimer::singleShot(200, this, SLOT(onChangeGeometryTimeOut())); } else QGraphicsItem::mousePressEvent(event); } @@ -523,7 +523,7 @@ void BaseDesignIntf::hoverLeaveEvent(QGraphicsSceneHoverEvent *) update(); } -void BaseDesignIntf::hoverEnterEvent(QGraphicsSceneHoverEvent /**event*/) +void BaseDesignIntf::hoverEnterEvent(QGraphicsSceneHoverEvent * /*event*/) { m_hovered = true; update(); diff --git a/limereport/lrbasedesignintf.h b/limereport/lrbasedesignintf.h index 08ab8ed..1b419a4 100644 --- a/limereport/lrbasedesignintf.h +++ b/limereport/lrbasedesignintf.h @@ -344,7 +344,7 @@ protected: void mousePressEvent(QGraphicsSceneMouseEvent* event); void hoverMoveEvent(QGraphicsSceneHoverEvent* event); void hoverLeaveEvent(QGraphicsSceneHoverEvent *event); - void hoverEnterEvent(QGraphicsSceneHoverEvent); + void hoverEnterEvent(QGraphicsSceneHoverEvent* ); void mouseMoveEvent(QGraphicsSceneMouseEvent* event); void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event); @@ -467,22 +467,21 @@ private: bool m_itemGeometryLocked; bool m_isChangingPos; bool m_isMoveable; - QTimer m_timer; signals: void geometryChanged(QObject* object, QRectF newGeometry, QRectF oldGeometry); void posChanging(QObject* object, QPointF newPos, QPointF oldPos); void posChanged(QObject* object, QPointF newPos, QPointF oldPos); void itemSelected(LimeReport::BaseDesignIntf *item); - void itemSelectedHasBeenChanged(BaseDesignIntf *item, bool value); + void itemSelectedHasBeenChanged(LimeReport::BaseDesignIntf *item, bool value); void loadCollectionFinished(const QString& collectionName); void objectLoaded(QObject* object); void objectChanged(QObject* object); void propertyChanged(const QString& propertName, const QVariant& oldValue,const QVariant& newValue); void propertyObjectNameChanged(const QString& oldValue, const QString& newValue); void propertyesChanged(QVector propertyNames); - void itemAlignChanged(BaseDesignIntf* item, const ItemAlign& oldValue, const ItemAlign& newValue); - void itemVisibleHasChanged(BaseDesignIntf* item); + void itemAlignChanged(LimeReport::BaseDesignIntf* item, const LimeReport::BaseDesignIntf::ItemAlign& oldValue, const LimeReport::BaseDesignIntf::ItemAlign& newValue); + void itemVisibleHasChanged(LimeReport::BaseDesignIntf* item); void beforeRender(); void afterData(); void afterRender(); From e28f4666188595e9633aa3b356beb7db282b9579 Mon Sep 17 00:00:00 2001 From: turbineyan Date: Fri, 1 Jan 2021 23:47:17 +0800 Subject: [PATCH 35/36] to follow the requirement of repo owner, to remove the no use comment and the declaration for including the header file, named qtdebug --- limereport/items/lralignpropitem.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/limereport/items/lralignpropitem.cpp b/limereport/items/lralignpropitem.cpp index 990b9ec..1321b4f 100644 --- a/limereport/items/lralignpropitem.cpp +++ b/limereport/items/lralignpropitem.cpp @@ -32,8 +32,6 @@ #include "objectinspector/editors/lrcomboboxeditor.h" #include "lrtextitem.h" -#include - namespace{ LimeReport::ObjectPropItem * createAlignItem( QObject *object, LimeReport::ObjectPropItem::ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& data, LimeReport::ObjectPropItem* parent, bool readonly @@ -162,8 +160,6 @@ QString AlignmentItemEditor::displayValue() const void AlignmentItemEditor::setPropertyValue(QVariant value) { - //ObjectPropItem::setPropertyValue(extractAcceptableValue(value.toInt())[0]); - qDebug()<<"value "< _accpepttableValueList= extractAcceptableValue(value.toInt()); if(_accpepttableValueList.isEmpty()) return; From 06969990d682482eafe102437e536538e3498743 Mon Sep 17 00:00:00 2001 From: Arin Alexander Date: Sun, 10 Jan 2021 23:28:16 +0300 Subject: [PATCH 36/36] Render process signals emitting have been fixed --- common.pri | 2 +- limereport/lrbanddesignintf.h | 4 ++-- limereport/lrbasedesignintf.h | 4 ++-- limereport/lrreportrender.cpp | 9 +++++---- limereport/lrreportrender.h | 2 +- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/common.pri b/common.pri index a27590b..dd4bb53 100644 --- a/common.pri +++ b/common.pri @@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 5 -LIMEREPORT_VERSION_RELEASE = 76 +LIMEREPORT_VERSION_RELEASE = 78 LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" diff --git a/limereport/lrbanddesignintf.h b/limereport/lrbanddesignintf.h index 3ee6e42..59bec04 100644 --- a/limereport/lrbanddesignintf.h +++ b/limereport/lrbanddesignintf.h @@ -274,8 +274,8 @@ public: bool isNeedUpdateSize(RenderPass) const; void copyBandAttributes(BandDesignIntf* source); signals: - void bandRendered(LimeReport::BandDesignIntf* band); - void bandReRendered(LimeReport::BandDesignIntf* oldBand, LimeReport::BandDesignIntf* newBand); + void bandRendered(BandDesignIntf* band); + void bandReRendered(BandDesignIntf* oldBand, BandDesignIntf* newBand); void preparedForRender(); void bandRegistred(); protected: diff --git a/limereport/lrbasedesignintf.h b/limereport/lrbasedesignintf.h index 1b419a4..8592c0b 100644 --- a/limereport/lrbasedesignintf.h +++ b/limereport/lrbasedesignintf.h @@ -480,8 +480,8 @@ signals: void propertyChanged(const QString& propertName, const QVariant& oldValue,const QVariant& newValue); void propertyObjectNameChanged(const QString& oldValue, const QString& newValue); void propertyesChanged(QVector propertyNames); - void itemAlignChanged(LimeReport::BaseDesignIntf* item, const LimeReport::BaseDesignIntf::ItemAlign& oldValue, const LimeReport::BaseDesignIntf::ItemAlign& newValue); - void itemVisibleHasChanged(LimeReport::BaseDesignIntf* item); + void itemAlignChanged(BaseDesignIntf* item, const BaseDesignIntf::ItemAlign& oldValue, const BaseDesignIntf::ItemAlign& newValue); + void itemVisibleHasChanged(BaseDesignIntf* item); void beforeRender(); void afterData(); void afterRender(); diff --git a/limereport/lrreportrender.cpp b/limereport/lrreportrender.cpp index 052fdba..0f02a73 100644 --- a/limereport/lrreportrender.cpp +++ b/limereport/lrreportrender.cpp @@ -505,7 +505,6 @@ BandDesignIntf* ReportRender::renderBand(BandDesignIntf *patternBand, BandDesign bandClone->setBackgroundColor(makeBackgroundColor(patternBand)); patternBand->emitBandRendered(bandClone); m_scriptEngineContext->setCurrentBand(bandClone); - emit(patternBand->afterRender()); if ( isLast && bandClone->keepFooterTogether() && bandClone->sliceLastRow() ){ if (m_maxHeightByColumn[m_currentColumn] < (bandClone->height()+m_reportFooterHeight)) @@ -549,7 +548,7 @@ BandDesignIntf* ReportRender::renderBand(BandDesignIntf *patternBand, BandDesign savePage(); startNewPage(); if (!bandIsSliced){ - BandDesignIntf* t = renderData(patternBand); + BandDesignIntf* t = renderData(patternBand, false); t->copyBandAttributes(bandClone); patternBand->emitBandReRendered(bandClone, t); delete bandClone; @@ -577,6 +576,7 @@ BandDesignIntf* ReportRender::renderBand(BandDesignIntf *patternBand, BandDesign if (patternBand->isFooter()) datasources()->clearGroupFunctionValues(patternBand->objectName()); + emit(patternBand->afterRender()); return bandClone; } return 0; @@ -1259,13 +1259,14 @@ BandDesignIntf *ReportRender::saveUppperPartReturnBottom(BandDesignIntf *band, i return bottomBandPart; } -BandDesignIntf *ReportRender::renderData(BandDesignIntf *patternBand) +BandDesignIntf *ReportRender::renderData(BandDesignIntf *patternBand, bool emitBeforeRender) { BandDesignIntf* bandClone = dynamic_cast(patternBand->cloneItem(PreviewMode)); m_scriptEngineContext->baseDesignIntfToScript(patternBand->parent()->objectName(), bandClone); m_scriptEngineContext->setCurrentBand(bandClone); - emit(patternBand->beforeRender()); + if (emitBeforeRender) + emit(patternBand->beforeRender()); if (patternBand->isFooter()){ replaceGroupsFunction(bandClone); diff --git a/limereport/lrreportrender.h b/limereport/lrreportrender.h index 104f8c2..46a35d0 100644 --- a/limereport/lrreportrender.h +++ b/limereport/lrreportrender.h @@ -169,7 +169,7 @@ private: BandDesignIntf *sliceBand(BandDesignIntf* band, BandDesignIntf *patternBand, bool isLast); BandDesignIntf* saveUppperPartReturnBottom(BandDesignIntf *band, int height, BandDesignIntf *patternBand); - BandDesignIntf* renderData(BandDesignIntf* patternBand); + BandDesignIntf* renderData(BandDesignIntf* patternBand, bool emitBeforeRender = true); void startNewColumn(); void startNewPage(bool isFirst = false); void resetPageNumber(ResetPageNuberType resetType);