mirror of
https://github.com/fralx/LimeReport.git
synced 2025-01-11 17:18:10 +03:00
Merge pull request #2 from fralx/master
Recent code change from origin repository
This commit is contained in:
commit
7d059fe011
11
3rdparty/zint-2.4.4/backend_qt4/Zint.pro
vendored
11
3rdparty/zint-2.4.4/backend_qt4/Zint.pro
vendored
@ -9,6 +9,7 @@ contains(CONFIG, static_build){
|
||||
!contains(CONFIG, staticlib){
|
||||
CONFIG += dll
|
||||
DEFINES += QZINT_LIBRARY
|
||||
|
||||
}
|
||||
|
||||
include(../../../common.pri)
|
||||
@ -26,7 +27,15 @@ unix{
|
||||
|
||||
INCLUDEPATH += $$PWD/../backend
|
||||
DEFINES += _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS ZINT_VERSION=\\\"$$VERSION\\\"
|
||||
TARGET = QtZint
|
||||
|
||||
CONFIG(debug, debug|release) {
|
||||
TARGET = QtZintd
|
||||
} else {
|
||||
TARGET = QtZint
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
!contains(DEFINES, NO_PNG) {
|
||||
SOURCES += $$PWD/../backend/png.c
|
||||
|
@ -62,7 +62,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc
|
||||
|
||||
LIMEREPORT_VERSION_MAJOR = 1
|
||||
LIMEREPORT_VERSION_MINOR = 4
|
||||
LIMEREPORT_VERSION_RELEASE = 63
|
||||
LIMEREPORT_VERSION_RELEASE = 78
|
||||
|
||||
LIMEREPORT_VERSION = '\\"$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}\\"'
|
||||
DEFINES += LIMEREPORT_VERSION_STR=\"$${LIMEREPORT_VERSION}\"
|
||||
|
@ -26,24 +26,37 @@ macx{
|
||||
}
|
||||
|
||||
unix:{
|
||||
LIBS += -L$${DEST_LIBS} -llimereport
|
||||
!contains(CONFIG, static_build){
|
||||
contains(CONFIG,zint){
|
||||
LIBS += -L$${DEST_LIBS} -lQtZint
|
||||
}
|
||||
LIBS += -L$${DEST_LIBS}
|
||||
CONFIG(debug, debug|release) {
|
||||
LIBS += -llimereportd
|
||||
} else {
|
||||
LIBS += -llimereport
|
||||
}
|
||||
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)
|
||||
linux{
|
||||
#Link share lib to ../lib rpath
|
||||
QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN
|
||||
QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN/lib
|
||||
QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN/../lib
|
||||
QMAKE_LFLAGS_RPATH += #. .. ./libs
|
||||
}
|
||||
target.path = $${DEST_DIR}
|
||||
INSTALLS = target
|
||||
|
||||
!contains(CONFIG, static_build){
|
||||
contains(CONFIG,zint){
|
||||
LIBS += -L$${DEST_LIBS}
|
||||
|
||||
CONFIG(debug, debug|release) {
|
||||
LIBS += -lQtZintd
|
||||
} else {
|
||||
LIBS += -lQtZint
|
||||
}
|
||||
}
|
||||
}
|
||||
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)
|
||||
|
||||
linux{
|
||||
#Link share lib to ../lib rpath
|
||||
QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN
|
||||
QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN/lib
|
||||
QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN/../lib
|
||||
QMAKE_LFLAGS_RPATH += #. .. ./libs
|
||||
}
|
||||
target.path = $${DEST_DIR}
|
||||
INSTALLS = target
|
||||
}
|
||||
|
||||
win32 {
|
||||
@ -56,11 +69,23 @@ win32 {
|
||||
|
||||
QMAKE_POST_LINK += $$QMAKE_COPY_DIR $$quote($$EXTRA_DIR\\*) $$quote($$REPORTS_DIR\\demo_reports) $$escape_expand(\\n\\t)
|
||||
!contains(CONFIG, static_build){
|
||||
contains(CONFIG,zint){
|
||||
LIBS += -L$${DEST_LIBS} -lQtZint
|
||||
}
|
||||
|
||||
contains(CONFIG,zint){
|
||||
LIBS += -L$${DEST_LIBS}
|
||||
CONFIG(debug, debug|release) {
|
||||
LIBS += -lQtZintd
|
||||
} else {
|
||||
LIBS += -lQtZint
|
||||
}
|
||||
}
|
||||
}
|
||||
LIBS += -L$${DEST_LIBS} -llimereport
|
||||
|
||||
LIBS += -L$${DEST_LIBS}
|
||||
CONFIG(debug, debug|release) {
|
||||
LIBS += -llimereportd
|
||||
} else {
|
||||
LIBS += -llimereport
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -26,21 +26,31 @@ macx{
|
||||
}
|
||||
|
||||
unix:{
|
||||
LIBS += -L$${DEST_LIBS} -llimereport
|
||||
!contains(CONFIG, static_build){
|
||||
contains(CONFIG,zint){
|
||||
LIBS += -L$${DEST_LIBS} -lQtZint
|
||||
}
|
||||
LIBS += -L$${DEST_LIBS}
|
||||
CONFIG(debug, debug|release) {
|
||||
LIBS += -llimereportd
|
||||
} else {
|
||||
LIBS += -llimereport
|
||||
}
|
||||
!contains(CONFIG, static_build){
|
||||
contains(CONFIG,zint){
|
||||
LIBS += -L$${DEST_LIBS}
|
||||
CONFIG(debug, debug|release) {
|
||||
LIBS += -lQtZintd
|
||||
} else {
|
||||
LIBS += -lQtZint
|
||||
}
|
||||
}
|
||||
}
|
||||
DESTDIR = $$DEST_DIR
|
||||
QMAKE_POST_LINK += $$QMAKE_COPY_DIR $$quote($$EXTRA_DIR) $$quote($$REPORTS_DIR) $$escape_expand(\n\t)
|
||||
linux{
|
||||
#Link share lib to ../lib rpath
|
||||
QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN
|
||||
QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN/lib
|
||||
QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN/../lib
|
||||
QMAKE_LFLAGS_RPATH += #. .. ./libs
|
||||
}
|
||||
linux{
|
||||
#Link share lib to ../lib rpath
|
||||
QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN
|
||||
QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN/lib
|
||||
QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN/../lib
|
||||
QMAKE_LFLAGS_RPATH += #. .. ./libs
|
||||
}
|
||||
target.path = $${DEST_DIR}
|
||||
INSTALLS = target
|
||||
}
|
||||
@ -53,12 +63,23 @@ win32 {
|
||||
DESTDIR = $$DEST_DIR
|
||||
RC_FILE += mainicon.rc
|
||||
!contains(CONFIG, static_build){
|
||||
contains(CONFIG,zint){
|
||||
LIBS += -L$${DEST_LIBS} -lQtZint
|
||||
}
|
||||
}
|
||||
LIBS += -L$${DEST_LIBS} -llimereport
|
||||
contains(CONFIG,zint){
|
||||
LIBS += -L$${DEST_LIBS}
|
||||
CONFIG(debug, debug|release) {
|
||||
LIBS += -lQtZintd
|
||||
} else {
|
||||
LIBS += -lQtZint
|
||||
}
|
||||
}
|
||||
}
|
||||
LIBS += -L$${DEST_LIBS}
|
||||
|
||||
CONFIG(debug, debug|release) {
|
||||
LIBS += -llimereportd
|
||||
} else {
|
||||
LIBS += -llimereport
|
||||
}
|
||||
|
||||
QMAKE_POST_LINK += $$QMAKE_COPY_DIR \"$$EXTRA_DIR\" \"$$REPORTS_DIR\\demo_reports\" $$escape_expand(\\n\\t)
|
||||
}
|
||||
|
||||
|
@ -17,12 +17,22 @@ macx{
|
||||
}
|
||||
|
||||
unix:{
|
||||
LIBS += -L$${DEST_LIBS} -llimereport
|
||||
!contains(CONFIG, static_build){
|
||||
contains(CONFIG,zint){
|
||||
LIBS += -L$${DEST_LIBS} -lQtZint
|
||||
}
|
||||
LIBS += -L$${DEST_LIBS}
|
||||
CONFIG(debug, debug|release) {
|
||||
LIBS += -llimereportd
|
||||
} else {
|
||||
LIBS += -llimereport
|
||||
}
|
||||
!contains(CONFIG, static_build){
|
||||
contains(CONFIG,zint){
|
||||
LIBS += -L$${DEST_LIBS}
|
||||
CONFIG(debug, debug|release) {
|
||||
LIBS += -lQtZintd
|
||||
} else {
|
||||
LIBS += -lQtZint
|
||||
}
|
||||
}
|
||||
}
|
||||
DESTDIR = $$DEST_DIR
|
||||
linux{
|
||||
#Link share lib to ../lib rpath
|
||||
@ -43,10 +53,21 @@ win32 {
|
||||
DESTDIR = $$DEST_DIR
|
||||
RC_FILE += mainicon.rc
|
||||
!contains(CONFIG, static_build){
|
||||
contains(CONFIG,zint){
|
||||
LIBS += -L$${DEST_LIBS} -lQtZint
|
||||
}
|
||||
contains(CONFIG,zint){
|
||||
LIBS += -L$${DEST_LIBS}
|
||||
CONFIG(debug, debug|release) {
|
||||
LIBS += -lQtZintd
|
||||
} else {
|
||||
LIBS += -lQtZint
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
LIBS += -L$${DEST_LIBS}
|
||||
CONFIG(debug, debug|release) {
|
||||
LIBS += -llimereportd
|
||||
} else {
|
||||
LIBS += -llimereport
|
||||
}
|
||||
LIBS += -L$${DEST_LIBS} -llimereport
|
||||
}
|
||||
|
||||
|
@ -47,6 +47,7 @@ class ImageItem : public LimeReport::ItemDesignIntf
|
||||
Q_PROPERTY(bool keepAspectRatio READ keepAspectRatio WRITE setKeepAspectRatio)
|
||||
Q_PROPERTY(bool center READ center WRITE setCenter)
|
||||
Q_PROPERTY(QString resourcePath READ resourcePath WRITE setResourcePath)
|
||||
Q_PROPERTY(bool watermark READ isWatermark WRITE setWatermark)
|
||||
public:
|
||||
enum Format {
|
||||
Binary = 0,
|
||||
|
@ -77,8 +77,8 @@ void LimeReport::ItemLocationPropItem::setPropertyEditorData(QWidget *propertyEd
|
||||
}
|
||||
|
||||
void LimeReport::ItemLocationPropItem::setModelData(QWidget *propertyEditor, QAbstractItemModel *model, const QModelIndex &index){
|
||||
object()->setProperty(propertyName().toLatin1(),stringToLocation(qobject_cast<ComboBoxEditor*>(propertyEditor)->text()));
|
||||
model->setData(index,object()->property(propertyName().toLatin1()));
|
||||
setValueToObject(propertyName(), propertyValue());
|
||||
}
|
||||
|
||||
QString LimeReport::ItemLocationPropItem::locationToString(LimeReport::ItemDesignIntf::LocationType location) const{
|
||||
@ -92,6 +92,5 @@ LimeReport::ItemDesignIntf::LocationType LimeReport::ItemLocationPropItem::strin
|
||||
void LimeReport::ItemLocationPropItem::slotLocationChanged(const QString &text){
|
||||
if ( locationToString(object()->property(propertyName().toLatin1()).toInt())!=text){
|
||||
object()->setProperty(propertyName().toLatin1(),stringToLocation(text));
|
||||
dynamic_cast<ComboBoxEditor*>(sender())->setTextValue(locationToString(object()->property(propertyName().toLatin1()).toInt()));
|
||||
}
|
||||
}
|
||||
|
@ -543,6 +543,14 @@ void TextItem::setTextLayoutDirection(const Qt::LayoutDirection &textLayoutDirec
|
||||
}
|
||||
}
|
||||
|
||||
void TextItem::setWatermark(bool watermark)
|
||||
{
|
||||
if (watermark){
|
||||
setBackgroundMode(TransparentMode);
|
||||
}
|
||||
BaseDesignIntf::setWatermark(watermark);
|
||||
}
|
||||
|
||||
|
||||
QString TextItem::followTo() const
|
||||
{
|
||||
|
@ -71,6 +71,7 @@ class TextItem : public LimeReport::ContentItemDesignIntf, IPageInit {
|
||||
Q_PROPERTY(BrushStyle backgroundBrushStyle READ backgroundBrushStyle WRITE setBackgroundBrushStyle)
|
||||
Q_PROPERTY(qreal textIndent READ textIndent WRITE setTextIndent)
|
||||
Q_PROPERTY(Qt::LayoutDirection textLayoutDirection READ textLayoutDirection WRITE setTextLayoutDirection)
|
||||
Q_PROPERTY(bool watermark READ isWatermark WRITE setWatermark)
|
||||
public:
|
||||
|
||||
enum AutoWidth{NoneAutoWidth,MaxWordLength,MaxStringLength};
|
||||
@ -163,6 +164,8 @@ public:
|
||||
void setTextIndent(const qreal &textIndent);
|
||||
Qt::LayoutDirection textLayoutDirection() const;
|
||||
void setTextLayoutDirection(const Qt::LayoutDirection &textLayoutDirection);
|
||||
|
||||
void setWatermark(bool watermark);
|
||||
|
||||
protected:
|
||||
void updateLayout();
|
||||
|
@ -1,4 +1,13 @@
|
||||
TARGET = limereport
|
||||
#TARGET = limereport
|
||||
|
||||
|
||||
CONFIG(debug, debug|release) {
|
||||
TARGET = limereportd
|
||||
} else {
|
||||
TARGET = limereport
|
||||
}
|
||||
|
||||
|
||||
TEMPLATE = lib
|
||||
|
||||
contains(CONFIG, static_build){
|
||||
@ -73,7 +82,14 @@ contains(CONFIG,zint){
|
||||
message(zint)
|
||||
INCLUDEPATH += $$ZINT_PATH/backend $$ZINT_PATH/backend_qt4
|
||||
DEPENDPATH += $$ZINT_PATH/backend $$ZINT_PATH/backend_qt4
|
||||
LIBS += -L$${DEST_LIBS} -lQtZint
|
||||
LIBS += -L$${DEST_LIBS}
|
||||
|
||||
CONFIG(debug, debug|release) {
|
||||
LIBS += -lQtZintd
|
||||
} else {
|
||||
LIBS += -lQtZint
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#######
|
||||
|
@ -182,14 +182,27 @@ QString BandDesignIntf::translateBandName(const BaseDesignIntf* item) const{
|
||||
}
|
||||
}
|
||||
|
||||
void BandDesignIntf::setBackgroundModeProperty(BaseDesignIntf::BGMode value)
|
||||
{
|
||||
if (value!=backgroundMode()){
|
||||
BaseDesignIntf::BGMode oldValue = backgroundMode();
|
||||
setBackgroundMode(value);
|
||||
notify("backgroundMode",oldValue,value);
|
||||
}
|
||||
}
|
||||
|
||||
void BandDesignIntf::setBackgroundOpacity(int value)
|
||||
{
|
||||
if (opacity()!=value){
|
||||
int oldValue = opacity();
|
||||
setOpacity(value);
|
||||
notify("backgroundOpacity",oldValue,value);
|
||||
}
|
||||
}
|
||||
|
||||
void BandDesignIntf::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
|
||||
{
|
||||
|
||||
if ( !(backgroundColor() == Qt::white && backgroundBrushStyle() == SolidPattern) ) {
|
||||
QBrush brush(backgroundColor(), static_cast<Qt::BrushStyle>(backgroundBrushStyle()));
|
||||
brush.setTransform(painter->worldTransform().inverted());
|
||||
painter->fillRect(rect(), brush);
|
||||
}
|
||||
prepareRect(painter, option, widget);
|
||||
|
||||
if (itemMode() & DesignMode){
|
||||
painter->save();
|
||||
@ -585,7 +598,7 @@ BaseDesignIntf *BandDesignIntf::cloneBottomPart(int height, QObject *owner, QGra
|
||||
BaseDesignIntf* tmpItem = item->cloneItem(item->itemMode(),bottomPart,bottomPart);
|
||||
tmpItem->setPos(tmpItem->pos().x(), (tmpItem->pos().y()-height)+borderLineSize());
|
||||
}
|
||||
else if ((item->geometry().top()<height) && (item->geometry().bottom()>height)){
|
||||
else if ((item->geometry().top()<=height) && (item->geometry().bottom()>height)){
|
||||
int sliceHeight = height-item->geometry().top();
|
||||
if (item->isSplittable() && item->canBeSplitted(sliceHeight)) {
|
||||
BaseDesignIntf* tmpItem=item->cloneBottomPart(sliceHeight,bottomPart,bottomPart);
|
||||
@ -597,7 +610,7 @@ BaseDesignIntf *BandDesignIntf::cloneBottomPart(int height, QObject *owner, QGra
|
||||
moveItemsDown(item->pos().y()+item->height(), sizeOffset + bottomOffset);
|
||||
}
|
||||
} else {
|
||||
if ((item->geometry().bottom()-height)>height){
|
||||
if ((item->geometry().bottom()-height)>=height){
|
||||
BaseDesignIntf* tmpItem = item->cloneItem(item->itemMode(),bottomPart,bottomPart);
|
||||
tmpItem->setPos(tmpItem->pos().x(),borderLineSize());
|
||||
tmpItem->setHeight((this->height()-height));
|
||||
|
@ -105,6 +105,8 @@ class BandDesignIntf : public ItemsContainerDesignInft
|
||||
Q_PROPERTY(QColor backgroundColor READ backgroundColor WRITE setBackgroundColor)
|
||||
Q_PROPERTY(BrushStyle backgroundBrushStyle READ backgroundBrushStyle WRITE setBackgroundBrushStyle)
|
||||
Q_PROPERTY(bool printIfEmpty READ printIfEmpty WRITE setPrintIfEmpty)
|
||||
Q_PROPERTY(BGMode backgroundMode READ backgroundMode WRITE setBackgroundModeProperty)
|
||||
Q_PROPERTY(int backgroundOpacity READ opacity WRITE setBackgroundOpacity)
|
||||
Q_ENUMS(BandColumnsLayoutType)
|
||||
friend class BandMarker;
|
||||
friend class BandNameLabel;
|
||||
@ -235,6 +237,8 @@ public:
|
||||
QColor alternateBackgroundColor() const;
|
||||
void setAlternateBackgroundColor(const QColor &alternateBackgroundColor);
|
||||
qreal bottomSpace() const;
|
||||
void setBackgroundModeProperty(BGMode value);
|
||||
void setBackgroundOpacity(int value);
|
||||
signals:
|
||||
void bandRendered(BandDesignIntf* band);
|
||||
protected:
|
||||
|
@ -78,7 +78,8 @@ BaseDesignIntf::BaseDesignIntf(const QString &storageTypeName, QObject *owner, Q
|
||||
m_changingItemAlign(false),
|
||||
m_borderColor(Qt::black),
|
||||
m_reportSettings(0),
|
||||
m_patternName("")
|
||||
m_patternName(""),
|
||||
m_watermark(false)
|
||||
{
|
||||
setGeometry(QRectF(0, 0, m_width, m_height));
|
||||
if (BaseDesignIntf *item = dynamic_cast<BaseDesignIntf *>(parent)) {
|
||||
@ -399,19 +400,21 @@ void BaseDesignIntf::prepareRect(QPainter *painter, const QStyleOptionGraphicsIt
|
||||
{
|
||||
painter->save();
|
||||
|
||||
QRectF r = rect().adjusted(0, 0, borderLineSize(), borderLineSize());
|
||||
QBrush brush(m_backgroundColor,static_cast<Qt::BrushStyle>(m_backgroundBrushStyle));
|
||||
brush.setTransform(painter->worldTransform().inverted());
|
||||
|
||||
if (isSelected() && (opacity() == 100) && (m_BGMode!=TransparentMode)) {
|
||||
painter->fillRect(rect(), brush);
|
||||
painter->fillRect(r, brush);
|
||||
}
|
||||
else {
|
||||
if (m_BGMode == OpaqueMode) {
|
||||
painter->setOpacity(qreal(m_opacity) / 100);
|
||||
painter->fillRect(rect(), brush);
|
||||
qreal o = (itemMode() & DesignMode) ? 0.5 : qreal(m_opacity) / 100;
|
||||
painter->setOpacity(o);
|
||||
painter->fillRect(r, brush);
|
||||
} else if (itemMode() & DesignMode){
|
||||
painter->setOpacity(0.1);
|
||||
painter->fillRect(rect(), QBrush(QPixmap(":/report/images/empty")));
|
||||
painter->fillRect(r, QBrush(QPixmap(":/report/images/empty")));
|
||||
}
|
||||
}
|
||||
painter->restore();
|
||||
@ -701,6 +704,19 @@ void BaseDesignIntf::turnOnSelectionMarker(bool value)
|
||||
}
|
||||
}
|
||||
|
||||
bool BaseDesignIntf::isWatermark() const
|
||||
{
|
||||
return m_watermark;
|
||||
}
|
||||
|
||||
void BaseDesignIntf::setWatermark(bool watermark)
|
||||
{
|
||||
if (m_watermark != watermark){
|
||||
m_watermark = watermark;
|
||||
notify("watermark",!watermark,watermark);
|
||||
}
|
||||
}
|
||||
|
||||
QString BaseDesignIntf::patternName() const
|
||||
{
|
||||
return (m_patternName.isEmpty()) ? objectName() : m_patternName;
|
||||
@ -1153,6 +1169,7 @@ void BaseDesignIntf::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
|
||||
|
||||
void BaseDesignIntf::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
||||
{
|
||||
if (!(flags() & QGraphicsItem::ItemIsSelectable)) return;
|
||||
PageDesignIntf* page = dynamic_cast<PageDesignIntf*>(scene());
|
||||
if (!page->selectedItems().contains(this)){
|
||||
page->clearSelection();
|
||||
|
@ -272,6 +272,8 @@ public:
|
||||
void setZValueProperty(qreal value);
|
||||
QString patternName() const;
|
||||
void setPatternName(const QString &patternName);
|
||||
bool isWatermark() const;
|
||||
virtual void setWatermark(bool watermark);
|
||||
|
||||
Q_INVOKABLE QString setItemWidth(qreal width);
|
||||
Q_INVOKABLE QString setItemHeight(qreal height);
|
||||
@ -396,6 +398,7 @@ private:
|
||||
QColor m_borderColor;
|
||||
ReportSettings* m_reportSettings;
|
||||
QString m_patternName;
|
||||
bool m_watermark;
|
||||
signals:
|
||||
void geometryChanged(QObject* object, QRectF newGeometry, QRectF oldGeometry);
|
||||
void posChanged(QObject* object, QPointF newPos, QPointF oldPos);
|
||||
|
@ -70,7 +70,7 @@ bool QueryHolder::runQuery(IDataSource::DatasourceMode mode)
|
||||
m_mode = mode;
|
||||
|
||||
QSqlDatabase db = QSqlDatabase::database(m_connectionName);
|
||||
QSqlQuery* query = new QSqlQuery(db);
|
||||
QSqlQuery query(db);
|
||||
|
||||
if (!db.isValid()) {
|
||||
setLastError(QObject::tr("Invalid connection! %1").arg(m_connectionName));
|
||||
@ -82,13 +82,12 @@ bool QueryHolder::runQuery(IDataSource::DatasourceMode mode)
|
||||
if (!m_prepared) return false;
|
||||
}
|
||||
|
||||
query->prepare(m_preparedSQL);
|
||||
|
||||
fillParams(query);
|
||||
query->exec();
|
||||
query.prepare(m_preparedSQL);
|
||||
fillParams(&query);
|
||||
query.exec();
|
||||
|
||||
QSqlQueryModel *model = new QSqlQueryModel;
|
||||
model->setQuery(*query);
|
||||
model->setQuery(query);
|
||||
|
||||
while (model->canFetchMore())
|
||||
model->fetchMore();
|
||||
|
@ -640,7 +640,10 @@ void ReportRender::renderPageItems(PageItemDesignIntf* patternPage)
|
||||
m_renderPageItem->restoreLinks();
|
||||
m_renderPageItem->updateSubItemsSize(FirstPass,m_datasources);
|
||||
foreach(BaseDesignIntf* item, pageItems){
|
||||
item->setZValue(item->zValue()-100000);
|
||||
if (!item->isWatermark())
|
||||
item->setZValue(item->zValue()-100000);
|
||||
else
|
||||
item->setZValue(item->zValue()+100000);
|
||||
}
|
||||
}
|
||||
|
||||
@ -705,8 +708,8 @@ void ReportRender::renderGroupHeader(BandDesignIntf *parentBand, IDataSource* da
|
||||
foreach (BandDesignIntf* subBand, band->childrenByType(BandDesignIntf::GroupHeader)) {
|
||||
foreach(BandDesignIntf* footer, subBand->childrenByType(BandDesignIntf::GroupFooter)){
|
||||
renderBand(footer, 0);
|
||||
closeDataGroup(subBand);
|
||||
}
|
||||
closeDataGroup(subBand);
|
||||
}
|
||||
|
||||
foreach (BandDesignIntf* footer, band->childrenByType(BandDesignIntf::GroupFooter)) {
|
||||
|
@ -134,6 +134,7 @@ void QObjectPropertyModel::translatePropertyName()
|
||||
tr("condition");
|
||||
tr("groupFieldName");
|
||||
tr("keepGroupTogether");
|
||||
tr("watermark");
|
||||
}
|
||||
|
||||
void QObjectPropertyModel::clearObjectsList()
|
||||
|
@ -67,23 +67,39 @@ void BoolPropItem::setModelData(QWidget *propertyEditor, QAbstractItemModel *mod
|
||||
setValueToObject(propertyName(),propertyValue());
|
||||
}
|
||||
|
||||
QPixmap BoolPropItem::getIndicatorImage(const StyleOptionViewItem &option){
|
||||
QStyleOptionButton so;
|
||||
so.state = option.state;
|
||||
if (!isValueReadonly())
|
||||
so.state = QStyle::State_Enabled;
|
||||
else
|
||||
so.state &= ~QStyle::State_Enabled;
|
||||
so.state |= propertyValue().toBool() ? QStyle::State_On : QStyle::State_Off;
|
||||
so.rect = QRect(0,0,
|
||||
QApplication::style()->pixelMetric(QStyle::PM_IndicatorWidth),
|
||||
QApplication::style()->pixelMetric(QStyle::PM_IndicatorHeight));
|
||||
|
||||
QPixmap pixmap(so.rect.width(),so.rect.height());
|
||||
pixmap.fill(Qt::transparent);
|
||||
QPainter p(&pixmap);
|
||||
option.widget->style()->drawPrimitive(QStyle::PE_IndicatorItemViewItemCheck,&so, &p);
|
||||
return pixmap;
|
||||
}
|
||||
|
||||
bool BoolPropItem::paint(QPainter *painter, const StyleOptionViewItem &option, const QModelIndex &index)
|
||||
{
|
||||
|
||||
QStyle* style = option.widget ? option.widget->style() : QApplication::style();
|
||||
|
||||
if (index.column()==1){
|
||||
QStyleOptionButton so;
|
||||
int border = (option.rect.height() - QApplication::style()->pixelMetric(QStyle::PM_IndicatorWidth))/2;
|
||||
so.rect = option.rect.adjusted(border,border,0,-border);
|
||||
so.rect.setWidth(QApplication::style()->pixelMetric(QStyle::PM_IndicatorWidth));
|
||||
|
||||
if (!isValueReadonly())
|
||||
so.state = QStyle::State_Enabled;
|
||||
else
|
||||
so.state &= ~QStyle::State_Enabled;
|
||||
|
||||
so.state |= propertyValue().toBool() ? QStyle::State_On : QStyle::State_Off;
|
||||
|
||||
option.widget->style()->drawPrimitive(QStyle::PE_IndicatorCheckBox,&so,painter);
|
||||
|
||||
int border = (option.rect.height() - style->pixelMetric(QStyle::PM_IndicatorWidth))/2;
|
||||
// QStyleOptionButton so;
|
||||
// so.rect = option.rect.adjusted(border,border,0,-border);
|
||||
// so.rect.setWidth(style->pixelMetric(QStyle::PM_IndicatorWidth));
|
||||
// so.rect.setHeight(style->pixelMetric(QStyle::PM_IndicatorHeight));
|
||||
// so.state |= propertyValue().toBool() ? QStyle::State_On : QStyle::State_Off;
|
||||
// style->drawPrimitive(QStyle::PE_IndicatorItemViewItemCheck,&so,painter);
|
||||
painter->drawPixmap(option.rect.x()+border,option.rect.y()+border, getIndicatorImage(option));
|
||||
return true;
|
||||
} else return false;
|
||||
}
|
||||
|
@ -45,6 +45,8 @@ public:
|
||||
virtual void setPropertyEditorData(QWidget * propertyEditor, const QModelIndex &) const;
|
||||
virtual void setModelData(QWidget * propertyEditor, QAbstractItemModel * model, const QModelIndex & index);
|
||||
bool paint(QPainter *painter, const StyleOptionViewItem &option, const QModelIndex &index);
|
||||
protected:
|
||||
QPixmap getIndicatorImage(const StyleOptionViewItem &option);
|
||||
};
|
||||
} // namespace LimeReport
|
||||
|
||||
|
@ -35,7 +35,8 @@
|
||||
namespace LimeReport{
|
||||
|
||||
ObjectBrowser::ObjectBrowser(QWidget *parent)
|
||||
:QWidget(parent), m_report(NULL), m_mainWindow(NULL), m_changingItemSelection(false)
|
||||
:QWidget(parent), m_report(NULL), m_mainWindow(NULL),
|
||||
m_changingItemSelection(false), m_movingItem(false)
|
||||
{
|
||||
QVBoxLayout *layout = new QVBoxLayout(this);
|
||||
setLayout(layout);
|
||||
@ -86,6 +87,7 @@ void ObjectBrowser::slotClear()
|
||||
}
|
||||
|
||||
void ObjectBrowser::fillNode(QTreeWidgetItem* parentNode, BaseDesignIntf* reportItem, BaseDesignIntf *ignoredItem){
|
||||
|
||||
foreach (BaseDesignIntf* item, reportItem->childBaseItems()) {
|
||||
if (item != ignoredItem){
|
||||
ObjectBrowserNode* treeItem = new ObjectBrowserNode(parentNode);
|
||||
@ -93,11 +95,11 @@ void ObjectBrowser::fillNode(QTreeWidgetItem* parentNode, BaseDesignIntf* report
|
||||
treeItem->setObject(item);
|
||||
treeItem->setIcon(0,QIcon(":/items/"+extractClassName(item->metaObject()->className())));
|
||||
connect(item, SIGNAL(propertyObjectNameChanged(QString,QString)),
|
||||
this, SLOT(slotPropertyObjectNameChanged(QString,QString)));
|
||||
this, SLOT(slotPropertyObjectNameChanged(QString,QString)), Qt::UniqueConnection);
|
||||
ItemDesignIntf* i = dynamic_cast<ItemDesignIntf*>(item);
|
||||
if (i){
|
||||
connect(i, SIGNAL(itemLocationChanged(BaseDesignIntf*,BaseDesignIntf*)),
|
||||
this, SLOT(slotItemParentChanged(BaseDesignIntf*,BaseDesignIntf*)));
|
||||
this, SLOT(slotItemParentChanged(BaseDesignIntf*,BaseDesignIntf*)), Qt::UniqueConnection);
|
||||
}
|
||||
m_itemsMap.insert(item,treeItem);
|
||||
parentNode->addChild(treeItem);
|
||||
@ -283,7 +285,9 @@ void ObjectBrowser::slotActivePageUpdated(LimeReport::PageDesignIntf *)
|
||||
buildTree();
|
||||
}
|
||||
|
||||
void ObjectBrowser::slotItemParentChanged(BaseDesignIntf* item, BaseDesignIntf* parent)
|
||||
|
||||
|
||||
void ObjectBrowser::moveItemNode(BaseDesignIntf* item, BaseDesignIntf* parent)
|
||||
{
|
||||
if (m_itemsMap.contains(item) && m_itemsMap.contains(parent)){
|
||||
m_itemsMap.value(item)->parent()->removeChild(m_itemsMap.value(item));
|
||||
@ -293,7 +297,24 @@ void ObjectBrowser::slotItemParentChanged(BaseDesignIntf* item, BaseDesignIntf*
|
||||
item->setSelected(true);
|
||||
m_changingItemSelection = false;
|
||||
}
|
||||
}
|
||||
|
||||
void ObjectBrowser::slotItemParentChanged(BaseDesignIntf* item, BaseDesignIntf* parent)
|
||||
{
|
||||
if (!m_movingItem){
|
||||
m_movingItem = true;
|
||||
moveItemNode(item, parent);
|
||||
m_movingItem = false;
|
||||
foreach(QObject* di, m_defferedItems){
|
||||
BaseDesignIntf* b = dynamic_cast<BaseDesignIntf*>(di);
|
||||
if (b)
|
||||
moveItemNode(b, parent);
|
||||
}
|
||||
m_defferedItems.clear();
|
||||
} else {
|
||||
if (!m_defferedItems.contains(item))
|
||||
m_defferedItems.append(item);
|
||||
}
|
||||
}
|
||||
|
||||
void ObjectBrowserNode::setObject(QObject *value)
|
||||
|
@ -60,6 +60,7 @@ protected:
|
||||
void buildTree(BaseDesignIntf *ignoredItem = 0);
|
||||
void removeItem(BaseDesignIntf* item);
|
||||
void findAndRemove(QTreeWidgetItem *node, BaseDesignIntf *item);
|
||||
void moveItemNode(BaseDesignIntf* item, BaseDesignIntf* parent);
|
||||
private slots:
|
||||
// void slotObjectNameChanged(const QString& objectName);
|
||||
void slotPropertyObjectNameChanged(const QString& oldName, const QString& newName);
|
||||
@ -82,6 +83,8 @@ private:
|
||||
QTreeWidget* m_treeView;
|
||||
QMap<QObject*, ObjectBrowserNode*> m_itemsMap;
|
||||
bool m_changingItemSelection;
|
||||
bool m_movingItem;
|
||||
QList<QObject*> m_defferedItems;
|
||||
};
|
||||
|
||||
} //namespace LimeReport
|
||||
|
@ -587,6 +587,10 @@ p, li { white-space: pre-wrap; }
|
||||
<source> already exists! </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Port</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::ContentItemDesignIntf</name>
|
||||
@ -1891,11 +1895,11 @@ p, li { white-space: pre-wrap; }
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide left panel</source>
|
||||
<translation>إخفاء المقطع الأيسر</translation>
|
||||
<translation type="vanished">إخفاء المقطع الأيسر</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide right panel</source>
|
||||
<translation>إخفاء المقطع الأيمن</translation>
|
||||
<translation type="vanished">إخفاء المقطع الأيمن</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Report Tools</source>
|
||||
@ -2065,6 +2069,14 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Report has been modified! Do you want save the report?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide left panel | Alt+L</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide right panel | Alt+R</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::ReportEnginePrivate</name>
|
||||
@ -2347,6 +2359,10 @@ This preview is no longer valid.</source>
|
||||
<source>GENERAL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Seconds</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::SettingDialog</name>
|
||||
|
Binary file not shown.
@ -454,6 +454,10 @@ p, li { white-space: pre-wrap; }
|
||||
<source> already exists! </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Port</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::ContentItemDesignIntf</name>
|
||||
@ -1710,14 +1714,6 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Horizontal layout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide left panel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide right panel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Report Tools</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -1866,6 +1862,14 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Report has been modified! Do you want save the report?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide left panel | Alt+L</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide right panel | Alt+R</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::ReportEnginePrivate</name>
|
||||
@ -2132,6 +2136,10 @@ This preview is no longer valid.</source>
|
||||
<source>GENERAL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Seconds</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::SettingDialog</name>
|
||||
|
@ -254,112 +254,112 @@ p, li { white-space: pre-wrap; }
|
||||
<context>
|
||||
<name>LimeReport::BandDesignIntf</name>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="224"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="229"/>
|
||||
<source>DataBand</source>
|
||||
<translation>bande de données</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="225"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="230"/>
|
||||
<source>DataHeaderBand</source>
|
||||
<translation>En-tête de données</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="226"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="231"/>
|
||||
<source>DataFooterBand</source>
|
||||
<translation>Bande de pied de données</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="227"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="232"/>
|
||||
<source>ReportHeader</source>
|
||||
<translation>En-tête du rapport</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="228"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="233"/>
|
||||
<source>ReportFooter</source>
|
||||
<translation>Pied du rapport</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="229"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="234"/>
|
||||
<source>PageHeader</source>
|
||||
<translation>En-tête de page</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="230"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="235"/>
|
||||
<source>PageFooter</source>
|
||||
<translation>Pied de page</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="231"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="236"/>
|
||||
<source>SubDetailBand</source>
|
||||
<translation>Bande de sous-détails</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="232"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="237"/>
|
||||
<source>SubDetailHeaderBand</source>
|
||||
<translation>En-tête de sous-détails</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="233"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="238"/>
|
||||
<source>SubDetailFooterBand</source>
|
||||
<translation>Pied de sous-détails</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="234"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="239"/>
|
||||
<source>GroupBandHeader</source>
|
||||
<translation>Bande de groupe d'en-tête</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="235"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="240"/>
|
||||
<source>GroupBandFooter</source>
|
||||
<translation>Bande de groupe de pieds</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="236"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="241"/>
|
||||
<source>TearOffBand</source>
|
||||
<translation>Bande détachable</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="247"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="252"/>
|
||||
<source> connected to </source>
|
||||
<translation> Connecté à </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="471"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="476"/>
|
||||
<source>Bring to top</source>
|
||||
<translation>Placer au premier-plan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="472"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="477"/>
|
||||
<source>Send to back</source>
|
||||
<translation>Placer en arrière-plan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="477"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="500"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="482"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="505"/>
|
||||
<source>Auto height</source>
|
||||
<translation>Hauteur automatique</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="481"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="503"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="486"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="508"/>
|
||||
<source>Splittable</source>
|
||||
<translation>Divisible</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="485"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="506"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="490"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="511"/>
|
||||
<source>Keep bottom space</source>
|
||||
<translation>Garder l'espace inférieur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="489"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="512"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="494"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="517"/>
|
||||
<source>Start from new page</source>
|
||||
<translation>Démarrer depuis une nouvelle page</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="493"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="509"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="498"/>
|
||||
<location filename="../limereport/lrbanddesignintf.cpp" line="514"/>
|
||||
<source>Start new page</source>
|
||||
<translation>Démarrer une nouvelle page</translation>
|
||||
</message>
|
||||
@ -367,37 +367,37 @@ p, li { white-space: pre-wrap; }
|
||||
<context>
|
||||
<name>LimeReport::BaseDesignIntf</name>
|
||||
<message>
|
||||
<location filename="../limereport/lrbasedesignintf.cpp" line="1162"/>
|
||||
<location filename="../limereport/lrbasedesignintf.cpp" line="1163"/>
|
||||
<source>Copy</source>
|
||||
<translation>Copier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbasedesignintf.cpp" line="1164"/>
|
||||
<location filename="../limereport/lrbasedesignintf.cpp" line="1165"/>
|
||||
<source>Cut</source>
|
||||
<translation>Couper</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbasedesignintf.cpp" line="1166"/>
|
||||
<location filename="../limereport/lrbasedesignintf.cpp" line="1167"/>
|
||||
<source>Paste</source>
|
||||
<translation>Coller</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbasedesignintf.cpp" line="1175"/>
|
||||
<location filename="../limereport/lrbasedesignintf.cpp" line="1176"/>
|
||||
<source>Bring to top</source>
|
||||
<translation>Placer au premier-plan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbasedesignintf.cpp" line="1176"/>
|
||||
<location filename="../limereport/lrbasedesignintf.cpp" line="1177"/>
|
||||
<source>Send to back</source>
|
||||
<translation>Placer en arrière-plan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbasedesignintf.cpp" line="1178"/>
|
||||
<location filename="../limereport/lrbasedesignintf.cpp" line="1179"/>
|
||||
<source>No borders</source>
|
||||
<translation>Aucune bordure</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrbasedesignintf.cpp" line="1179"/>
|
||||
<location filename="../limereport/lrbasedesignintf.cpp" line="1180"/>
|
||||
<source>All borders</source>
|
||||
<translation>Toutes les bordures</translation>
|
||||
</message>
|
||||
@ -405,8 +405,8 @@ p, li { white-space: pre-wrap; }
|
||||
<context>
|
||||
<name>LimeReport::ConnectionDesc</name>
|
||||
<message>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="378"/>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="383"/>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="377"/>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="382"/>
|
||||
<source>defaultConnection</source>
|
||||
<translation>Connexion par défaut</translation>
|
||||
</message>
|
||||
@ -430,57 +430,62 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Utiliser la connexion par défaut de l'application</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="51"/>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="53"/>
|
||||
<source>Driver</source>
|
||||
<translation>Pilote</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="61"/>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="60"/>
|
||||
<source>Server </source>
|
||||
<translation>Serveur </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="75"/>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="67"/>
|
||||
<source>Port</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="74"/>
|
||||
<source>User</source>
|
||||
<translation>Utilisateur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="89"/>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="81"/>
|
||||
<source>Password</source>
|
||||
<translation>Mot de passe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="106"/>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="88"/>
|
||||
<source>Database</source>
|
||||
<translation>Base de données</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="125"/>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="141"/>
|
||||
<source>...</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="136"/>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="154"/>
|
||||
<source>Auto connect</source>
|
||||
<translation>Connexion automatique</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="143"/>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="161"/>
|
||||
<source>Dont keep credentals in lrxml</source>
|
||||
<translation>Ne pas enregistrer les informations personnelles</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="165"/>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="183"/>
|
||||
<source>Check connection</source>
|
||||
<translation>Vérifier la connexion</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="188"/>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="206"/>
|
||||
<source>Cancel</source>
|
||||
<translation>Annuler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="198"/>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.ui" line="216"/>
|
||||
<source>Ok</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
@ -511,7 +516,7 @@ p, li { white-space: pre-wrap; }
|
||||
<translation> existe déja! </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.cpp" line="153"/>
|
||||
<location filename="../limereport/databrowser/lrconnectiondialog.cpp" line="156"/>
|
||||
<source>defaultConnection</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
@ -679,7 +684,7 @@ p, li { white-space: pre-wrap; }
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrdatasourcemanager.cpp" line="599"/>
|
||||
<location filename="../limereport/lrdatasourcemanager.cpp" line="964"/>
|
||||
<location filename="../limereport/lrdatasourcemanager.cpp" line="966"/>
|
||||
<source>Datasource "%1" not found!</source>
|
||||
<translation>Source de donnée "%1" introuvable!</translation>
|
||||
</message>
|
||||
@ -697,12 +702,12 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>La source de donnée avec le nom "%1" existe déja!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrdatasourcemanager.cpp" line="761"/>
|
||||
<location filename="../limereport/lrdatasourcemanager.cpp" line="763"/>
|
||||
<source>Database "%1" not found</source>
|
||||
<translation>Base de données "%1 introuvable</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrdatasourcemanager.cpp" line="937"/>
|
||||
<location filename="../limereport/lrdatasourcemanager.cpp" line="939"/>
|
||||
<source>invalid connection</source>
|
||||
<translation>Connexion invalide</translation>
|
||||
</message>
|
||||
@ -1196,12 +1201,12 @@ p, li { white-space: pre-wrap; }
|
||||
<context>
|
||||
<name>LimeReport::MasterDetailProxyModel</name>
|
||||
<message>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="614"/>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="623"/>
|
||||
<source>Field: "%1" not found in "%2" child datasource</source>
|
||||
<translation>Le champ: "%1"est introuvable dans la source de donnée enfant "%2"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="627"/>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="636"/>
|
||||
<source>Field: "%1" not found in "%2" master datasource</source>
|
||||
<translation>Le champ: "%1"est introuvable dans la source de donnée principale "%2"</translation>
|
||||
</message>
|
||||
@ -1209,7 +1214,7 @@ p, li { white-space: pre-wrap; }
|
||||
<context>
|
||||
<name>LimeReport::ModelToDataSource</name>
|
||||
<message>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="339"/>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="338"/>
|
||||
<source>model is destroyed</source>
|
||||
<translation>Le modèle a été supprimé</translation>
|
||||
</message>
|
||||
@ -1416,7 +1421,7 @@ p, li { white-space: pre-wrap; }
|
||||
<context>
|
||||
<name>LimeReport::ProxyHolder</name>
|
||||
<message>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="553"/>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="562"/>
|
||||
<source>Datasource has been invalidated</source>
|
||||
<translation>La source de donnée n'a pas été validée</translation>
|
||||
</message>
|
||||
@ -2087,14 +2092,22 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>A propos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrreportdesignwindow.cpp" line="220"/>
|
||||
<source>Hide left panel</source>
|
||||
<translation>Masquer le panneau de gauche</translation>
|
||||
<translation type="vanished">Masquer le panneau de gauche</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide right panel</source>
|
||||
<translation type="vanished">Masquer le panneau de droite</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrreportdesignwindow.cpp" line="220"/>
|
||||
<source>Hide left panel | Alt+L</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrreportdesignwindow.cpp" line="226"/>
|
||||
<source>Hide right panel</source>
|
||||
<translation>Masquer le panneau de droite</translation>
|
||||
<source>Hide right panel | Alt+R</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrreportdesignwindow.cpp" line="235"/>
|
||||
@ -2281,17 +2294,17 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Aperçu avant impression</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrreportengine.cpp" line="162"/>
|
||||
<location filename="../limereport/lrreportengine.cpp" line="163"/>
|
||||
<source>Error</source>
|
||||
<translation>Erreur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrreportengine.cpp" line="474"/>
|
||||
<location filename="../limereport/lrreportengine.cpp" line="475"/>
|
||||
<source>Report File Change</source>
|
||||
<translation>Nom du fichier changé</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrreportengine.cpp" line="475"/>
|
||||
<location filename="../limereport/lrreportengine.cpp" line="476"/>
|
||||
<source>The report file "%1" has changed names or been deleted.
|
||||
|
||||
This preview is no longer valid.</source>
|
||||
@ -2541,7 +2554,7 @@ Cet aperçu n'est plus valide.</translation>
|
||||
<context>
|
||||
<name>LimeReport::ScriptEngineContext</name>
|
||||
<message>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="799"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="829"/>
|
||||
<source>Dialog with name: %1 can`t be created</source>
|
||||
<translation>Le dialogue avec le nom "%1" ne peut pas être crée</translation>
|
||||
</message>
|
||||
@ -2549,89 +2562,96 @@ Cet aperçu n'est plus valide.</translation>
|
||||
<context>
|
||||
<name>LimeReport::ScriptEngineManager</name>
|
||||
<message>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="434"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="463"/>
|
||||
<source>GROUP FUNCTIONS</source>
|
||||
<translation>Fonctions de groupe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="434"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="620"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="623"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="624"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="625"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="629"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="630"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="632"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="463"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="649"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="653"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="654"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="655"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="659"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="660"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="662"/>
|
||||
<source>Value</source>
|
||||
<translation>Valeur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="434"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="619"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="463"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="648"/>
|
||||
<source>BandName</source>
|
||||
<translation>Nom de la bande</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="478"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="507"/>
|
||||
<source>Variable %1 not found</source>
|
||||
<translation>Variable "%1" introuvable</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="619"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="648"/>
|
||||
<source>SYSTEM</source>
|
||||
<translation>Système</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="620"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="629"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="630"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="649"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="659"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="660"/>
|
||||
<source>NUMBER</source>
|
||||
<translation>Nombre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="620"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="623"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="624"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="625"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="649"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="652"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="653"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="654"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="655"/>
|
||||
<source>Format</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="621"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="650"/>
|
||||
<source>Precision</source>
|
||||
<translation>Précision</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="622"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="629"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="651"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="659"/>
|
||||
<source>Locale</source>
|
||||
<translation>Local</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="623"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="624"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="625"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="626"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="627"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="652"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="653"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="654"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="655"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="656"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="657"/>
|
||||
<source>DATE&TIME</source>
|
||||
<translation>DATE&HEURE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="630"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="652"/>
|
||||
<source>Seconds</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="660"/>
|
||||
<source>CurrencySymbol</source>
|
||||
<translation>Symbolde de la monnaie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="632"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="633"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="634"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="662"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="663"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="664"/>
|
||||
<source>GENERAL</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="632"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="633"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="634"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="662"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="663"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="664"/>
|
||||
<source>Name</source>
|
||||
<translation>Nom</translation>
|
||||
</message>
|
||||
@ -2995,32 +3015,32 @@ Cet aperçu n'est plus valide.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="76"/>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="121"/>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="120"/>
|
||||
<source>Invalid connection! %1</source>
|
||||
<translation>Connexion invalidé %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="416"/>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="425"/>
|
||||
<source>Master datasource "%1" not found!</source>
|
||||
<translation>Source de donnée principale "%1" introuvable!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="524"/>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="533"/>
|
||||
<source>Master datasouce "%1" not found!</source>
|
||||
<translation>Source de donnée principale "%1" introuvable!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="525"/>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="534"/>
|
||||
<source>Child</source>
|
||||
<translation>Enfant</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="525"/>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="534"/>
|
||||
<source> and child </source>
|
||||
<translation> est enfant </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="526"/>
|
||||
<location filename="../limereport/lrdatadesignintf.cpp" line="535"/>
|
||||
<source>datasouce "%1" not found!</source>
|
||||
<translation>Source de donnée "%1" introuvable!</translation>
|
||||
</message>
|
||||
@ -3136,7 +3156,7 @@ Cet aperçu n'est plus valide.</translation>
|
||||
<translation>L'objet avec le nom "%1" existe déja!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="330"/>
|
||||
<location filename="../limereport/lrscriptenginemanager.cpp" line="359"/>
|
||||
<source>Function %1 not found or have wrong arguments</source>
|
||||
<translation>La fonction %1 est introuvable ou contient des paramètres incorrects</translation>
|
||||
</message>
|
||||
|
Binary file not shown.
@ -456,6 +456,10 @@ p, li { white-space: pre-wrap; }
|
||||
<source> already exists! </source>
|
||||
<translation> уже существует! </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Port</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::ContentItemDesignIntf</name>
|
||||
@ -1769,11 +1773,11 @@ p, li { white-space: pre-wrap; }
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide left panel</source>
|
||||
<translation>Спрятать левую панель</translation>
|
||||
<translation type="vanished">Спрятать левую панель</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide right panel</source>
|
||||
<translation>Спрятать правую панель</translation>
|
||||
<translation type="vanished">Спрятать правую панель</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Report Tools</source>
|
||||
@ -1951,6 +1955,14 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Report has been modified! Do you want save the report?</source>
|
||||
<translation>Отчет был изменен! Хотите его сохранить?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide left panel | Alt+L</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide right panel | Alt+R</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::ReportEnginePrivate</name>
|
||||
@ -2225,6 +2237,10 @@ This preview is no longer valid.</source>
|
||||
<source>GENERAL</source>
|
||||
<translation>ОБЩИЕ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Seconds</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::SettingDialog</name>
|
||||
|
Loading…
Reference in New Issue
Block a user