mirror of
https://github.com/fralx/LimeReport.git
synced 2024-12-24 00:33:02 +03:00
commit
ba9abc7877
@ -7,6 +7,7 @@
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication a(argc, argv);
|
||||
|
||||
DesignerSettingManager manager;
|
||||
|
||||
QTranslator limeReportTranslator;
|
||||
|
287
limereport/items/borderframeeditor.cpp
Normal file
287
limereport/items/borderframeeditor.cpp
Normal file
@ -0,0 +1,287 @@
|
||||
#include "borderframeeditor.h"
|
||||
#include "ui_borderframeeditor.h"
|
||||
#include <QPainter>
|
||||
#include <QGraphicsLineItem>
|
||||
#include <QDebug>
|
||||
#include <QMouseEvent>
|
||||
#include "lrbasedesignintf.h"
|
||||
#include "lrbordereditor.h"
|
||||
using namespace LimeReport;
|
||||
BorderFrameEditor::BorderFrameEditor(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
, ui(new Ui::BorderFrameEditor)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
scene = new QGraphicsScene(ui->graphicsView);
|
||||
|
||||
QRect vRect = rect();
|
||||
|
||||
//Draw corder lines
|
||||
//topLeft
|
||||
scene->addLine(10,5, 10,10,QPen(Qt::gray));
|
||||
scene->addLine(5,10, 10,10,QPen(Qt::gray));
|
||||
//bottomLeft
|
||||
scene->addLine(10,vRect.bottom() -5, 10,vRect.bottom()-10,QPen(Qt::gray));
|
||||
scene->addLine(5,vRect.bottom()-10,10,vRect.bottom()-10,QPen(Qt::gray));
|
||||
//bottomRight
|
||||
scene->addLine(vRect.right()-10,vRect.bottom() -5,vRect.right()- 10,vRect.bottom()-10,QPen(Qt::gray));
|
||||
scene->addLine(vRect.right()-5,vRect.bottom()-10,vRect.right()-10,vRect.bottom()-10,QPen(Qt::gray));
|
||||
//topRight
|
||||
scene->addLine(vRect.width()-10,5,vRect.width()- 10,10,QPen(Qt::gray));
|
||||
scene->addLine(vRect.width()-5,10, vRect.width()-10,10,QPen(Qt::gray));
|
||||
scene->setSceneRect(vRect);
|
||||
ui->graphicsView->setScene(scene);
|
||||
QGraphicsSimpleTextItem * io = new QGraphicsSimpleTextItem();
|
||||
io->setAcceptedMouseButtons(Qt::LeftButton);
|
||||
io->setPos(scene->sceneRect().center());
|
||||
io->setText(tr("Text"));
|
||||
scene->addItem(io);
|
||||
|
||||
QRectF bR = io->sceneBoundingRect();
|
||||
io->setPos( scene->sceneRect().center().x() - bR.width()/2, scene->sceneRect().center().y() - bR.height()/2 );
|
||||
connect(this,SIGNAL(borderSideClicked(int, bool)),this,SLOT(SlotBorderSideClicked(int,bool)));
|
||||
|
||||
}
|
||||
|
||||
BorderFrameEditor::~BorderFrameEditor()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void BorderFrameEditor::setPen(QPen pen)
|
||||
{
|
||||
m_pen = pen;
|
||||
updateBorders();
|
||||
|
||||
}
|
||||
|
||||
QPen BorderFrameEditor::pen()
|
||||
{
|
||||
return m_pen;
|
||||
}
|
||||
|
||||
void BorderFrameEditor::setAllLines()
|
||||
{
|
||||
|
||||
topLine = scene->addLine(QLineF(10,10,rect().width() - 10,10),m_pen);
|
||||
|
||||
|
||||
leftLine = scene->addLine(QLineF(10,10,10,rect().height() - 10),m_pen);
|
||||
|
||||
bottomLine = scene->addLine(QLineF(10,rect().bottom() -10,rect().width() - 10
|
||||
,rect().bottom() - 10),m_pen);
|
||||
|
||||
|
||||
|
||||
rightLine = scene->addLine(QLineF(rect().width() - 10,10
|
||||
,rect().width() - 10,rect().height() - 10),m_pen);
|
||||
|
||||
|
||||
}
|
||||
|
||||
void BorderFrameEditor::unSetAllLines()
|
||||
{
|
||||
if(topLine)
|
||||
{
|
||||
scene->removeItem(topLine);
|
||||
|
||||
}
|
||||
if(leftLine)
|
||||
{
|
||||
scene->removeItem(leftLine);
|
||||
|
||||
}
|
||||
if(bottomLine)
|
||||
{
|
||||
scene->removeItem(bottomLine);
|
||||
|
||||
|
||||
|
||||
}
|
||||
if(rightLine)
|
||||
{
|
||||
scene->removeItem(rightLine);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void BorderFrameEditor::mousePressEvent(QMouseEvent *event)
|
||||
{
|
||||
|
||||
if(event->x() >= 10 && event->y() <30)//Draw top border
|
||||
{
|
||||
|
||||
if(!topLine)
|
||||
{
|
||||
|
||||
emit borderSideClicked(1,true);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
emit borderSideClicked(1,false);
|
||||
}
|
||||
}
|
||||
|
||||
if((event->x() >= 10 && event->x() < 30) && (event->y() > 10)) //Draw border left
|
||||
{
|
||||
if(!leftLine)
|
||||
{
|
||||
|
||||
emit borderSideClicked(4,true);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
emit borderSideClicked(4,false);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if(event->x() >= 10 && (event->y() >80 && event->y() < rect().bottom())) //Draw bottom border
|
||||
{
|
||||
if(!bottomLine)
|
||||
{
|
||||
|
||||
emit borderSideClicked(2,true);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
|
||||
emit borderSideClicked(2,false);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if((event->x() >= 130 && event->x() < rect().width()) && event->y() > 10) //Draw border right
|
||||
{
|
||||
if(!rightLine)
|
||||
{
|
||||
|
||||
emit borderSideClicked(8,true);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
emit borderSideClicked(8,false);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
void BorderFrameEditor::SlotBorderSideClicked(int side, bool show)
|
||||
{
|
||||
|
||||
switch(side)
|
||||
{
|
||||
case BaseDesignIntf::BorderSide::TopLine:
|
||||
{
|
||||
if(show)
|
||||
{
|
||||
topLine = scene->addLine(QLineF(10,10,rect().width() - 10,10),m_pen);
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
scene->removeItem(topLine);
|
||||
topLine = NULL;
|
||||
|
||||
}
|
||||
}break;
|
||||
case BaseDesignIntf::LeftLine:
|
||||
{
|
||||
if(show)
|
||||
{
|
||||
leftLine = scene->addLine(QLineF(10,10,10,rect().height() - 10),m_pen);
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
scene->removeItem(leftLine);
|
||||
leftLine = NULL;
|
||||
|
||||
|
||||
}
|
||||
}break;
|
||||
case BaseDesignIntf::BottomLine:
|
||||
{
|
||||
if(show)
|
||||
{
|
||||
bottomLine = scene->addLine(QLineF(10,rect().bottom() -10,rect().width() - 10
|
||||
,rect().bottom() - 10),m_pen);
|
||||
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
scene->removeItem(bottomLine);
|
||||
bottomLine = NULL;
|
||||
|
||||
|
||||
}
|
||||
}break;
|
||||
case BaseDesignIntf::RightLine:
|
||||
{
|
||||
if(show)
|
||||
{
|
||||
rightLine = scene->addLine(QLineF(rect().width() - 10,10
|
||||
,rect().width() - 10,rect().height() - 10),m_pen);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
scene->removeItem(rightLine);
|
||||
rightLine = NULL;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
updateBorders();
|
||||
}
|
||||
|
||||
void BorderFrameEditor::updateBorders()
|
||||
{
|
||||
//if a line is set we redraw it
|
||||
if(topLine)
|
||||
{
|
||||
scene->removeItem(topLine);
|
||||
topLine = scene->addLine(QLineF(10,10,rect().width() - 10,10),m_pen);
|
||||
|
||||
}
|
||||
if(leftLine)
|
||||
{
|
||||
scene->removeItem(leftLine);
|
||||
leftLine = scene->addLine(QLineF(10,10,10,rect().height() - 10),m_pen);
|
||||
|
||||
}
|
||||
if(bottomLine)
|
||||
{
|
||||
scene->removeItem(bottomLine);
|
||||
|
||||
bottomLine = scene->addLine(QLineF(10,rect().bottom() -10,rect().width() - 10
|
||||
,rect().bottom() - 10),m_pen);
|
||||
|
||||
}
|
||||
if(rightLine)
|
||||
{
|
||||
scene->removeItem(rightLine);
|
||||
|
||||
rightLine = scene->addLine(QLineF(rect().width() - 10,10
|
||||
,rect().width() - 10,rect().height() - 10),m_pen);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
42
limereport/items/borderframeeditor.h
Normal file
42
limereport/items/borderframeeditor.h
Normal file
@ -0,0 +1,42 @@
|
||||
#ifndef WIDGET
|
||||
#define WIDGET
|
||||
|
||||
#include <QWidget>
|
||||
#include <QGraphicsScene>
|
||||
#include <QGraphicsLineItem>
|
||||
#include "lrbasedesignintf.h"
|
||||
QT_BEGIN_NAMESPACE
|
||||
namespace Ui { class BorderFrameEditor; }
|
||||
QT_END_NAMESPACE
|
||||
|
||||
class BorderFrameEditor : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
BorderFrameEditor(QWidget *parent = nullptr);
|
||||
~BorderFrameEditor();
|
||||
void setPen(QPen pen);
|
||||
QPen pen();
|
||||
void setAllLines();
|
||||
void unSetAllLines();
|
||||
protected:
|
||||
void mousePressEvent(QMouseEvent *event);
|
||||
signals:
|
||||
void borderSideClicked(int side,bool show);
|
||||
private slots:
|
||||
void SlotBorderSideClicked(int side, bool show);
|
||||
|
||||
private:
|
||||
Ui::BorderFrameEditor *ui;
|
||||
QGraphicsScene *scene;
|
||||
QGraphicsLineItem *topLine = NULL
|
||||
,*bottomLine = NULL
|
||||
,*leftLine = NULL
|
||||
,*rightLine = NULL;
|
||||
QPen m_pen;
|
||||
void updateBorders();
|
||||
|
||||
|
||||
};
|
||||
#endif // WIDGET
|
73
limereport/items/borderframeeditor.ui
Normal file
73
limereport/items/borderframeeditor.ui
Normal file
@ -0,0 +1,73 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>BorderFrameEditor</class>
|
||||
<widget class="QWidget" name="BorderFrameEditor">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>150</width>
|
||||
<height>100</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>BorderFrameEditor</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QGraphicsView" name="graphicsView">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="baseSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="verticalScrollBarPolicy">
|
||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||
</property>
|
||||
<property name="horizontalScrollBarPolicy">
|
||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||
</property>
|
||||
<property name="sizeAdjustPolicy">
|
||||
<enum>QAbstractScrollArea::AdjustToContents</enum>
|
||||
</property>
|
||||
<property name="resizeAnchor">
|
||||
<enum>QGraphicsView::AnchorViewCenter</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
@ -29,16 +29,22 @@
|
||||
****************************************************************************/
|
||||
#include "lritemsborderseditorwidget.h"
|
||||
#include <QAction>
|
||||
|
||||
#include "lrbordereditor.h"
|
||||
namespace LimeReport{
|
||||
|
||||
void ItemsBordersEditorWidget::setItemEvent(BaseDesignIntf* item)
|
||||
{
|
||||
if(QString(item->metaObject()->className()) == "LimeReport::ShapeItem")
|
||||
{
|
||||
setDisabled(true);
|
||||
return;
|
||||
}
|
||||
QVariant borders=item->property("borders");
|
||||
if (borders.isValid()){
|
||||
updateValues((BaseDesignIntf::BorderLines)borders.toInt());
|
||||
setEnabled(true);
|
||||
}
|
||||
itm = item;
|
||||
}
|
||||
|
||||
void ItemsBordersEditorWidget::properyChangedEvent(const QString& property, const QVariant& oldValue, const QVariant& newValue)
|
||||
@ -71,6 +77,18 @@ void ItemsBordersEditorWidget::buttonClicked(bool)
|
||||
|
||||
}
|
||||
|
||||
void ItemsBordersEditorWidget::editBorderClicked()
|
||||
{
|
||||
lrbordereditor be;
|
||||
be.loadItem(itm);
|
||||
if(be.exec() == QDialog::Rejected)return;
|
||||
updateValues(be.borderSides());
|
||||
itm->setBorderLinesFlags(be.borderSides());
|
||||
itm->setBorderLineSize(be.border_width());
|
||||
itm->setBorderStyle((LimeReport::BaseDesignIntf::BorderStyle)be.border_style());
|
||||
itm->setBorderColor(be.borderColor());
|
||||
}
|
||||
|
||||
void ItemsBordersEditorWidget::initEditor()
|
||||
{
|
||||
|
||||
@ -109,6 +127,11 @@ void ItemsBordersEditorWidget::initEditor()
|
||||
m_allLines->setIcon(QIcon(":/report/images/allLines"));
|
||||
connect(m_allLines,SIGNAL(triggered()),this,SLOT(allBordesClicked()));
|
||||
addAction(m_allLines);
|
||||
addSeparator();
|
||||
m_BorderEditor = new QAction(tr("Edit border"),this);
|
||||
m_BorderEditor->setIcon(QIcon(":/report/images/allLines"));
|
||||
connect(m_BorderEditor,SIGNAL(triggered()),this,SLOT(editBorderClicked()));
|
||||
addAction(m_BorderEditor);
|
||||
|
||||
setEnabled(false);
|
||||
|
||||
|
@ -49,6 +49,7 @@ protected slots:
|
||||
virtual void noBordesClicked();
|
||||
virtual void allBordesClicked();
|
||||
virtual void buttonClicked(bool);
|
||||
void editBorderClicked();
|
||||
protected:
|
||||
void setItemEvent(BaseDesignIntf *item);
|
||||
void properyChangedEvent(const QString &property, const QVariant &oldValue, const QVariant &newValue);
|
||||
@ -62,8 +63,10 @@ private:
|
||||
QAction* m_topLine;
|
||||
QAction* m_bottomLine;
|
||||
QAction* m_allLines;
|
||||
QAction* m_BorderEditor;
|
||||
bool m_changing;
|
||||
int m_borders;
|
||||
BaseDesignIntf *itm;
|
||||
};
|
||||
|
||||
#ifdef HAVE_REPORT_DESIGNER
|
||||
@ -78,6 +81,7 @@ protected slots:
|
||||
void allBordesClicked();
|
||||
private:
|
||||
ReportDesignWidget* m_reportEditor;
|
||||
|
||||
};
|
||||
#endif
|
||||
|
||||
|
182
limereport/items/lrbordereditor.cpp
Normal file
182
limereport/items/lrbordereditor.cpp
Normal file
@ -0,0 +1,182 @@
|
||||
#include "lrbordereditor.h"
|
||||
#include "ui_lrbordereditor.h"
|
||||
#include <QColorDialog>
|
||||
#include "lrbasedesignintf.h"
|
||||
lrbordereditor::lrbordereditor(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::lrbordereditor)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
connect(ui->borderFrame,SIGNAL(borderSideClicked(int, bool)), this, SLOT(checkToolButtons(int, bool)));
|
||||
}
|
||||
|
||||
void lrbordereditor::loadItem(LimeReport::BaseDesignIntf *i)
|
||||
{
|
||||
item = i;
|
||||
if(item->borderLines() & LimeReport::BaseDesignIntf::TopLine)
|
||||
{
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine,true);
|
||||
|
||||
}
|
||||
if(item->borderLines() & LimeReport::BaseDesignIntf::LeftLine)
|
||||
{
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine,true);
|
||||
|
||||
}
|
||||
if(item->borderLines() & LimeReport::BaseDesignIntf::RightLine)
|
||||
{
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine,true);
|
||||
|
||||
}
|
||||
if(item->borderLines() & LimeReport::BaseDesignIntf::BottomLine)
|
||||
{
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine,true);
|
||||
}
|
||||
QPen pen;
|
||||
pen.setWidthF(item->borderLineSize());
|
||||
pen.setColor(item->borderColor());
|
||||
pen.setStyle((Qt::PenStyle)item->borderStyle());
|
||||
ui->borderFrame->setPen(pen);
|
||||
border_color = item->borderColor().name();
|
||||
ui->listWidget->setCurrentRow((Qt::PenStyle)item->borderStyle());
|
||||
ui->comboBox->setCurrentText(QString::number(item->borderLineSize()));
|
||||
borderWidth = ui->comboBox->currentText().toDouble();
|
||||
borderStyle =ui->listWidget->currentRow();
|
||||
ui->pushButton->setStyleSheet(QString("#pushButton{background-color:%1;}").arg(border_color));
|
||||
}
|
||||
|
||||
LimeReport::BaseDesignIntf::BorderLines lrbordereditor::borderSides()
|
||||
{
|
||||
int borders = 0;
|
||||
borders += (ui->topLine->isChecked())?LimeReport::BaseDesignIntf::TopLine:0;
|
||||
borders += (ui->bottomLine->isChecked())?LimeReport::BaseDesignIntf::BottomLine:0;
|
||||
borders += (ui->leftLine->isChecked())?LimeReport::BaseDesignIntf::LeftLine:0;
|
||||
borders += (ui->rightLine->isChecked())?LimeReport::BaseDesignIntf::RightLine:0;
|
||||
return (LimeReport::BaseDesignIntf::BorderLines)borders;
|
||||
}
|
||||
|
||||
LimeReport::BaseDesignIntf::BorderStyle lrbordereditor::border_style()
|
||||
{
|
||||
return (LimeReport::BaseDesignIntf::BorderStyle)borderStyle;
|
||||
}
|
||||
|
||||
QString lrbordereditor::borderColor()
|
||||
{
|
||||
return border_color;
|
||||
}
|
||||
|
||||
double lrbordereditor::border_width()
|
||||
{
|
||||
return borderWidth;
|
||||
}
|
||||
|
||||
lrbordereditor::~lrbordereditor()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void lrbordereditor::on_listWidget_currentRowChanged(int currentRow)
|
||||
{
|
||||
QPen pen = ui->borderFrame->pen();
|
||||
pen.setStyle((Qt::PenStyle)currentRow);
|
||||
borderStyle = currentRow;
|
||||
ui->borderFrame->setPen(pen);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
void lrbordereditor::on_comboBox_currentTextChanged(const QString &arg1)
|
||||
{
|
||||
QPen pen = ui->borderFrame->pen();
|
||||
pen.setWidthF(arg1.toDouble());
|
||||
ui->borderFrame->setPen(pen);
|
||||
borderWidth = arg1.toDouble();
|
||||
}
|
||||
|
||||
|
||||
void lrbordereditor::on_pushButton_clicked()
|
||||
{
|
||||
QColorDialog cd(this);
|
||||
if(cd.exec() == QDialog::Rejected)return;
|
||||
QPen pen = ui->borderFrame->pen();
|
||||
pen.setColor(cd.selectedColor().name());
|
||||
border_color = pen.color().name();
|
||||
|
||||
ui->pushButton->setStyleSheet(QString("#pushButton{background-color:%1;}").arg(border_color));
|
||||
ui->borderFrame->setPen(pen);
|
||||
}
|
||||
|
||||
|
||||
void lrbordereditor::on_toolButton_4_clicked()
|
||||
{
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine,true);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine,true);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine,true);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine,true);
|
||||
QPen pen = ui->borderFrame->pen();
|
||||
|
||||
ui->borderFrame->setPen(pen);
|
||||
}
|
||||
|
||||
|
||||
void lrbordereditor::on_noLines_clicked()
|
||||
{
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine,false);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine,false);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine,false);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine,false);
|
||||
|
||||
}
|
||||
|
||||
|
||||
void lrbordereditor::on_topLine_clicked()
|
||||
{
|
||||
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine,ui->topLine->isChecked());
|
||||
|
||||
}
|
||||
|
||||
void lrbordereditor::checkToolButtons(int side, bool check)
|
||||
{
|
||||
|
||||
switch(side)
|
||||
{
|
||||
case LimeReport::BaseDesignIntf::BorderSide::TopLine:
|
||||
{
|
||||
ui->topLine->setChecked(check);
|
||||
}break;
|
||||
case LimeReport::BaseDesignIntf::BorderSide::BottomLine:
|
||||
{
|
||||
ui->bottomLine->setChecked(check);
|
||||
}break;
|
||||
case LimeReport::BaseDesignIntf::BorderSide::LeftLine:
|
||||
{
|
||||
ui->leftLine->setChecked(check);
|
||||
}break;
|
||||
case LimeReport::BaseDesignIntf::BorderSide::RightLine:
|
||||
{
|
||||
ui->rightLine->setChecked(check);
|
||||
}break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void lrbordereditor::on_bottomLine_clicked()
|
||||
{
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine,ui->bottomLine->isChecked());
|
||||
}
|
||||
|
||||
|
||||
void lrbordereditor::on_leftLine_clicked()
|
||||
{
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine,ui->leftLine->isChecked());
|
||||
}
|
||||
|
||||
|
||||
void lrbordereditor::on_toolButton_3_clicked()
|
||||
{
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine,ui->rightLine->isChecked());
|
||||
}
|
||||
|
56
limereport/items/lrbordereditor.h
Normal file
56
limereport/items/lrbordereditor.h
Normal file
@ -0,0 +1,56 @@
|
||||
#ifndef LRBORDEREDITOR_H
|
||||
#define LRBORDEREDITOR_H
|
||||
|
||||
#include <QDialog>
|
||||
#include "lrbasedesignintf.h"
|
||||
namespace Ui {
|
||||
class lrbordereditor;
|
||||
}
|
||||
|
||||
class lrbordereditor : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit lrbordereditor(QWidget *parent = nullptr);
|
||||
void loadItem(LimeReport::BaseDesignIntf *i);
|
||||
LimeReport::BaseDesignIntf::BorderLines borderSides();
|
||||
LimeReport::BaseDesignIntf::BorderStyle border_style();
|
||||
QString borderColor();
|
||||
double border_width();
|
||||
|
||||
|
||||
~lrbordereditor();
|
||||
|
||||
private slots:
|
||||
void on_listWidget_currentRowChanged(int currentRow);
|
||||
|
||||
void on_comboBox_currentTextChanged(const QString &arg1);
|
||||
|
||||
void on_pushButton_clicked();
|
||||
|
||||
void on_toolButton_4_clicked();
|
||||
|
||||
void on_noLines_clicked();
|
||||
|
||||
void on_topLine_clicked();
|
||||
void checkToolButtons(int side, bool check);
|
||||
|
||||
void on_bottomLine_clicked();
|
||||
|
||||
void on_leftLine_clicked();
|
||||
|
||||
void on_toolButton_3_clicked();
|
||||
|
||||
private:
|
||||
Ui::lrbordereditor *ui;
|
||||
LimeReport::BaseDesignIntf *item;
|
||||
QString border_color;
|
||||
int borderStyle = 1;
|
||||
double borderWidth = 1;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif // LRBORDEREDITOR_H
|
389
limereport/items/lrbordereditor.ui
Normal file
389
limereport/items/lrbordereditor.ui
Normal file
@ -0,0 +1,389 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>lrbordereditor</class>
|
||||
<widget class="QDialog" name="lrbordereditor">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>381</width>
|
||||
<height>311</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Edit border</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="title">
|
||||
<string>Presets</string>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QToolButton" name="noLines">
|
||||
<property name="text">
|
||||
<string>No lines</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../report.qrc">
|
||||
<normaloff>:/report/images/noLines</normaloff>:/report/images/noLines</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextUnderIcon</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="toolButton_4">
|
||||
<property name="text">
|
||||
<string>Outline</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../report.qrc">
|
||||
<normaloff>:/report/images/allLines</normaloff>:/report/images/allLines</iconset>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextUnderIcon</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Border</string>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QToolButton" name="topLine">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../report.qrc">
|
||||
<normaloff>:/report/images/topLine</normaloff>:/report/images/topLine</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="bottomLine">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../report.qrc">
|
||||
<normaloff>:/report/images/bottomLine</normaloff>:/report/images/bottomLine</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="BorderFrameEditor" name="borderFrame" native="true"/>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QToolButton" name="leftLine">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../report.qrc">
|
||||
<normaloff>:/report/images/leftLine</normaloff>:/report/images/leftLine</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="rightLine">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../report.qrc">
|
||||
<normaloff>:/report/images/rightLine</normaloff>:/report/images/rightLine</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Style</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QListWidget" name="listWidget">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>125</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>125</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="currentRow">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>No style</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Solid</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Dash</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Dot</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Dash dot</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Dash dot dot</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Width:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBox">
|
||||
<property name="editable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="currentText">
|
||||
<string>1</string>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>0.25</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>0.5</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>1</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>1.5</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>2</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>3</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>4</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>5</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>6</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Color:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">#pushButton{background-color: black;}</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Select...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>BorderFrameEditor</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>borderframeeditor.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="../report.qrc"/>
|
||||
<include location="../report.qrc"/>
|
||||
</resources>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>lrbordereditor</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>253</x>
|
||||
<y>255</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>219</x>
|
||||
<y>275</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>lrbordereditor</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>316</x>
|
||||
<y>258</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>345</x>
|
||||
<y>277</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
104
limereport/items/lrpageeditor.cpp
Normal file
104
limereport/items/lrpageeditor.cpp
Normal file
@ -0,0 +1,104 @@
|
||||
#include "lrpageeditor.h"
|
||||
#include "ui_lrpageeditor.h"
|
||||
#include "lrpagedesignintf.h"
|
||||
#include <QPushButton>
|
||||
#include <QPageSize>
|
||||
lrpageeditor::lrpageeditor(QWidget *parent, LimeReport::PageItemDesignIntf *page) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::lrpageeditor)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
m_page = page;
|
||||
//Paper
|
||||
QMetaEnum pageSizes = page->metaObject()->property(page->metaObject()->indexOfProperty("pageSize")).enumerator();
|
||||
|
||||
for (int i=0;i<pageSizes.keyCount();i++){
|
||||
ui->format->addItem(pageSizes.key(i));
|
||||
}
|
||||
ui->format->setCurrentIndex(m_page->pageSize());
|
||||
ui->width->setValue(m_page->width() / LimeReport::Const::mmFACTOR);
|
||||
ui->height->setValue(m_page->height() / LimeReport::Const::mmFACTOR);
|
||||
ui->portrait->setChecked(m_page->pageOrientation() == LimeReport::PageItemDesignIntf::Portrait);
|
||||
ui->landscape->setChecked(m_page->pageOrientation() == LimeReport::PageItemDesignIntf::Landscape);
|
||||
//Margins
|
||||
ui->marginTop->setValue(m_page->topMargin());
|
||||
ui->marginRight->setValue(m_page->rightMargin());
|
||||
ui->marginLeft->setValue(m_page->leftMargin());
|
||||
ui->marginBottom->setValue(m_page->bottomMargin());
|
||||
ui->dropPrinterMargins->setChecked(m_page->dropPrinterMargins());
|
||||
|
||||
//Other
|
||||
ui->endlessHeight->setChecked(m_page->endlessHeight());
|
||||
ui->extendedHeight->setValue(m_page->extendedHeight());
|
||||
ui->fullPage->setChecked(m_page->fullPage());
|
||||
}
|
||||
|
||||
lrpageeditor::~lrpageeditor()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void lrpageeditor::applyChanges()
|
||||
{
|
||||
m_page->setPageSize(static_cast<LimeReport::PageItemDesignIntf::PageSize>(ui->format->currentIndex()));
|
||||
m_page->setWidth(ui->width->value()* LimeReport::Const::mmFACTOR);
|
||||
m_page->setHeight(ui->height->value()* LimeReport::Const::mmFACTOR);
|
||||
m_page->setPageOrientation(ui->portrait->isChecked()?LimeReport::PageItemDesignIntf::Portrait : LimeReport::PageItemDesignIntf::Landscape);
|
||||
|
||||
m_page->setTopMargin(ui->marginTop->value());
|
||||
m_page->setBottomMargin(ui->marginBottom->value());
|
||||
m_page->setRightMargin(ui->marginRight->value());
|
||||
m_page->setLeftMargin(ui->marginLeft->value());
|
||||
m_page->setDropPrinterMargins(ui->dropPrinterMargins->isChecked());
|
||||
ui->endlessHeight->setChecked(ui->endlessHeight->isChecked());
|
||||
m_page->setExtendedHeight(ui->extendedHeight->value());
|
||||
}
|
||||
|
||||
void lrpageeditor::on_buttonBox_accepted()
|
||||
{
|
||||
applyChanges();
|
||||
accept();
|
||||
|
||||
}
|
||||
|
||||
QSizeF lrpageeditor::getRectByPageSize(const LimeReport::PageItemDesignIntf::PageSize& size)
|
||||
{
|
||||
if (size != LimeReport::PageItemDesignIntf::Custom) {
|
||||
QPrinter printer;
|
||||
printer.setOutputFormat(QPrinter::PdfFormat);
|
||||
#if (QT_VERSION < QT_VERSION_CHECK(5, 15, 1))
|
||||
printer.setOrientation(ui->portrait->isChecked()?QPrinter::Portrait : QPrinter::Landscape);
|
||||
printer.setPaperSize((QPrinter::PageSize)size);
|
||||
return QSizeF(printer.paperSize(QPrinter::Millimeter).width() * 10,
|
||||
printer.paperSize(QPrinter::Millimeter).height() * 10);
|
||||
|
||||
#else
|
||||
QPageSize pageSize = QPageSize((QPageSize::PageSizeId)size);
|
||||
qreal width = pageSize.size(QPageSize::Millimeter).width() * 10;
|
||||
qreal height = pageSize.size(QPageSize::Millimeter).height() * 10;
|
||||
return QSizeF(pageOrientation() == Portrait ? width : height,
|
||||
pageOrientation() == Portrait ? height : width);
|
||||
|
||||
// printer.setPageOrientation((QPageLayout::Orientation)pageOrientation());
|
||||
// printer.setPageSize(QPageSize((QPageSize::PageSizeId)size));
|
||||
// return QSizeF(printer.pageLayout().pageSize().size(QPageSize::Millimeter).width() * 10,
|
||||
// printer.pageLayout().pageSize().size(QPageSize::Millimeter).height() * 10);
|
||||
#endif
|
||||
}
|
||||
|
||||
else {
|
||||
return QSizeF(width(),height());
|
||||
}
|
||||
}
|
||||
void lrpageeditor::on_format_currentIndexChanged(int index)
|
||||
{
|
||||
QPageSize ps = *new QPageSize();
|
||||
if(ui->format->currentText() != "Custom")
|
||||
{
|
||||
QSizeF pageSize = getRectByPageSize(static_cast<LimeReport::PageItemDesignIntf::PageSize>(index));
|
||||
ui->width->setValue(pageSize.width()/10);
|
||||
ui->height->setValue(pageSize.height()/10);
|
||||
}
|
||||
|
||||
}
|
||||
|
31
limereport/items/lrpageeditor.h
Normal file
31
limereport/items/lrpageeditor.h
Normal file
@ -0,0 +1,31 @@
|
||||
#ifndef LRPAGEEDITOR_H
|
||||
#define LRPAGEEDITOR_H
|
||||
|
||||
#include <QDialog>
|
||||
#include "lrpageitemdesignintf.h"
|
||||
#include <QPushButton>
|
||||
namespace Ui {
|
||||
class lrpageeditor;
|
||||
}
|
||||
|
||||
class lrpageeditor : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit lrpageeditor(QWidget *parent = nullptr,LimeReport::PageItemDesignIntf *page = nullptr);
|
||||
~lrpageeditor();
|
||||
|
||||
private slots:
|
||||
void on_buttonBox_accepted();
|
||||
void on_format_currentIndexChanged(int index);
|
||||
|
||||
private:
|
||||
Ui::lrpageeditor *ui;
|
||||
LimeReport::PageItemDesignIntf* m_page;
|
||||
|
||||
void applyChanges();
|
||||
QSizeF getRectByPageSize(const LimeReport::PageItemDesignIntf::PageSize& size);
|
||||
};
|
||||
|
||||
#endif // LRPAGEEDITOR_H
|
341
limereport/items/lrpageeditor.ui
Normal file
341
limereport/items/lrpageeditor.ui
Normal file
@ -0,0 +1,341 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>lrpageeditor</class>
|
||||
<widget class="QDialog" name="lrpageeditor">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>306</width>
|
||||
<height>322</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Page setup</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
<string>Paper</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Format</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="format"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Dimension</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Width:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QDoubleSpinBox" name="width">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="showGroupSeparator" stdset="0">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> mm</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>99999999999999991611392.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>10.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Height:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QDoubleSpinBox" name="height">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="showGroupSeparator" stdset="0">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> mm</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>99999999999999991611392.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>10.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Orientation</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="portrait">
|
||||
<property name="text">
|
||||
<string>Portrait</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="landscape">
|
||||
<property name="text">
|
||||
<string>Landscape</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_2">
|
||||
<attribute name="title">
|
||||
<string>Margins</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Bottom:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Top:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>Right:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QDoubleSpinBox" name="marginTop">
|
||||
<property name="suffix">
|
||||
<string> mm</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QDoubleSpinBox" name="marginLeft">
|
||||
<property name="suffix">
|
||||
<string> mm</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QDoubleSpinBox" name="marginRight">
|
||||
<property name="suffix">
|
||||
<string> mm</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>Left:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QDoubleSpinBox" name="marginBottom">
|
||||
<property name="suffix">
|
||||
<string> mm</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="4">
|
||||
<widget class="Line" name="line">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="4">
|
||||
<widget class="QCheckBox" name="dropPrinterMargins">
|
||||
<property name="text">
|
||||
<string>Drop printer margins</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="4">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_3">
|
||||
<attribute name="title">
|
||||
<string>Other</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="title">
|
||||
<string>Height options</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="endlessHeight">
|
||||
<property name="text">
|
||||
<string>Endless Height</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QFrame" name="horizontalFrame">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="text">
|
||||
<string>Extended Height:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDoubleSpinBox" name="extendedHeight">
|
||||
<property name="maximum">
|
||||
<double>99999999.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="fullPage">
|
||||
<property name="text">
|
||||
<string>Full page</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>lrpageeditor</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>325</x>
|
||||
<y>312</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>286</x>
|
||||
<y>274</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>endlessHeight</sender>
|
||||
<signal>clicked(bool)</signal>
|
||||
<receiver>horizontalFrame</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>60</x>
|
||||
<y>50</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>130</x>
|
||||
<y>85</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
@ -89,6 +89,7 @@ void ShapeItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
|
||||
painter->setBrush(brush);
|
||||
painter->setBackground(QBrush(Qt::NoBrush));
|
||||
painter->setOpacity(qreal(opacity())/100);
|
||||
|
||||
QRectF rectangleRect = rect().adjusted((lineWidth() / 2),
|
||||
(lineWidth() / 2),
|
||||
-(lineWidth() / 2),
|
||||
@ -114,6 +115,7 @@ void ShapeItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
painter->restore();
|
||||
ItemDesignIntf::paint(painter,option,widget);
|
||||
|
||||
|
@ -78,7 +78,10 @@ SOURCES += \
|
||||
$$REPORT_PATH/lrreporttranslation.cpp \
|
||||
$$REPORT_PATH/exporters/lrpdfexporter.cpp \
|
||||
$$REPORT_PATH/lraxisdata.cpp \
|
||||
$$REPORT_PATH/lrpreparedpages.cpp
|
||||
$$REPORT_PATH/lrpreparedpages.cpp \
|
||||
$$REPORT_PATH/items/lrpageeditor.cpp \
|
||||
$$REPORT_PATH/items/borderframeeditor.cpp \
|
||||
$$REPORT_PATH/items/lrbordereditor.cpp
|
||||
|
||||
CONFIG(staticlib) {
|
||||
SOURCES += $$REPORT_PATH/lrfactoryinitializer.cpp
|
||||
@ -176,7 +179,10 @@ HEADERS += \
|
||||
$$REPORT_PATH/exporters/lrpdfexporter.h \
|
||||
$$REPORT_PATH/lrpreparedpages.h \
|
||||
$$REPORT_PATH/lraxisdata.h \
|
||||
$$REPORT_PATH/lrpreparedpagesintf.h
|
||||
$$REPORT_PATH/lrpreparedpagesintf.h \
|
||||
$$REPORT_PATH/items/lrpageeditor.h \
|
||||
$$REPORT_PATH/items/borderframeeditor.h \
|
||||
$$REPORT_PATH/items/lrbordereditor.h
|
||||
|
||||
CONFIG(staticlib) {
|
||||
HEADERS += $$REPORT_PATH/lrfactoryinitializer.h
|
||||
@ -199,7 +205,10 @@ FORMS += \
|
||||
$$REPORT_PATH/items/lrchartitemeditor.ui \
|
||||
$$REPORT_PATH/items/lrchartaxiseditor.ui \
|
||||
$$REPORT_PATH/items/lrimageitemeditor.ui \
|
||||
$$REPORT_PATH/scripteditor/lrscripteditor.ui
|
||||
$$REPORT_PATH/scripteditor/lrscripteditor.ui \
|
||||
$$REPORT_PATH/items/lrpageeditor.ui \
|
||||
$$REPORT_PATH/items/borderframeeditor.ui \
|
||||
$$REPORT_PATH/items/lrbordereditor.ui
|
||||
|
||||
RESOURCES += \
|
||||
$$REPORT_PATH/report.qrc \
|
||||
|
@ -139,3 +139,4 @@ CONFIG(build_translations) {
|
||||
}
|
||||
|
||||
#### EN AUTOMATIC TRANSLATIONS
|
||||
|
||||
|
@ -60,7 +60,7 @@ void BandMarker::paint(QPainter *painter, const QStyleOptionGraphicsItem* /**opt
|
||||
boundingRect().bottomLeft().y()-4,
|
||||
boundingRect().width(),4), Qt::lightGray
|
||||
);
|
||||
|
||||
qDebug()<<boundingRect().width();
|
||||
painter->setRenderHint(QPainter::Antialiasing);
|
||||
qreal size = (boundingRect().width()<boundingRect().height()) ? boundingRect().width() : boundingRect().height();
|
||||
QRectF r = QRectF(0,0,size,size);
|
||||
@ -186,7 +186,7 @@ BandDesignIntf::BandDesignIntf(BandsType bandType, const QString &xmlTypeName, Q
|
||||
m_bandMarker = new BandMarker(this);
|
||||
m_bandMarker->setColor(Qt::magenta);
|
||||
m_bandMarker->setHeight(height());
|
||||
m_bandMarker->setPos(pos().x()-m_bandMarker->width(),pos().y());
|
||||
m_bandMarker->setPos(pos().x()-m_bandMarker->width() - (itemMode() == ItemModes::PrintMode?boundingRect().width() : 0),pos().y());
|
||||
if (scene()) scene()->addItem(m_bandMarker);
|
||||
|
||||
m_bandNameLabel = new BandNameLabel(this);
|
||||
@ -818,7 +818,7 @@ BandDesignIntf* BandDesignIntf::findParentBand()
|
||||
void BandDesignIntf::updateBandMarkerGeometry()
|
||||
{
|
||||
if (parentItem() && m_bandMarker){
|
||||
m_bandMarker->setPos(pos().x()-m_bandMarker->width(),pos().y());
|
||||
m_bandMarker->setPos(pos().x()-m_bandMarker->width() - (itemMode() == ItemModes::PrintMode?boundingRect().width() : 0),pos().y());
|
||||
m_bandMarker->setHeight(rect().height());
|
||||
}
|
||||
}
|
||||
@ -839,7 +839,7 @@ QVariant BandDesignIntf::itemChange(QGraphicsItem::GraphicsItemChange change, co
|
||||
{
|
||||
if ((change==ItemPositionChange)&&((itemMode()&DesignMode)||(itemMode()&EditMode))){
|
||||
if (m_bandMarker){
|
||||
m_bandMarker->setPos((value.toPointF().x()-m_bandMarker->boundingRect().width()),
|
||||
m_bandMarker->setPos((value.toPointF().x()-m_bandMarker->boundingRect().width() - (itemMode() == ItemModes::PrintMode?boundingRect().width() : 0)),
|
||||
value.toPointF().y());
|
||||
}
|
||||
}
|
||||
|
@ -37,7 +37,7 @@
|
||||
#include "lrhorizontallayout.h"
|
||||
#include "serializators/lrstorageintf.h"
|
||||
#include "serializators/lrxmlreader.h"
|
||||
|
||||
#include "lrbordereditor.h"
|
||||
#include <memory>
|
||||
#include <QMetaObject>
|
||||
#include <QGraphicsSceneMouseEvent>
|
||||
@ -65,6 +65,7 @@ BaseDesignIntf::BaseDesignIntf(const QString &storageTypeName, QObject *owner, Q
|
||||
m_BGMode(OpaqueMode),
|
||||
m_opacity(100),
|
||||
m_borderLinesFlags(BorderLines()),
|
||||
m_borderStyle(BorderStyle::Solid),
|
||||
m_storageTypeName(storageTypeName),
|
||||
m_itemMode(DesignMode),
|
||||
m_objectState(ObjectCreated),
|
||||
@ -86,7 +87,9 @@ BaseDesignIntf::BaseDesignIntf(const QString &storageTypeName, QObject *owner, Q
|
||||
m_unitType(Millimeters),
|
||||
m_itemGeometryLocked(false),
|
||||
m_isChangingPos(false),
|
||||
m_isMoveable(false)
|
||||
m_isMoveable(false),
|
||||
m_shadow(false)
|
||||
|
||||
|
||||
{
|
||||
setGeometry(QRectF(0, 0, m_width, m_height));
|
||||
@ -423,9 +426,12 @@ void BaseDesignIntf::paint(QPainter *ppainter, const QStyleOptionGraphicsItem *o
|
||||
{
|
||||
Q_UNUSED(option);
|
||||
Q_UNUSED(widget);
|
||||
|
||||
ppainter->save();
|
||||
setupPainter(ppainter);
|
||||
drawBorder(ppainter, rect());
|
||||
if(m_shadow)
|
||||
drawShadow(ppainter, rect());
|
||||
// if (m_joinMarkerOn) { drawMarker(ppainter, Const::JOIN_COLOR);}
|
||||
// if (isSelected() && !m_joinMarkerOn) {drawMarker(ppainter, Const::SELECTION_COLOR);}
|
||||
drawResizeZone(ppainter);
|
||||
@ -764,6 +770,26 @@ void BaseDesignIntf::setIsChangingPos(bool isChangingPos)
|
||||
m_isChangingPos = isChangingPos;
|
||||
}
|
||||
|
||||
bool BaseDesignIntf::isShapeItem() const
|
||||
{
|
||||
return QString(metaObject()->className()) == "LimeReport::ShapeItem";
|
||||
}
|
||||
|
||||
bool BaseDesignIntf::hasShadow()
|
||||
{
|
||||
return m_shadow;
|
||||
}
|
||||
|
||||
void BaseDesignIntf::setShadow(bool sh)
|
||||
{
|
||||
if (m_shadow != sh){
|
||||
bool oldValue = m_shadow;
|
||||
m_shadow = sh;
|
||||
notify("shadow",oldValue,m_shadow);
|
||||
update();
|
||||
}
|
||||
}
|
||||
|
||||
bool BaseDesignIntf::isGeometryLocked() const
|
||||
{
|
||||
return m_itemGeometryLocked;
|
||||
@ -943,14 +969,22 @@ void BaseDesignIntf::emitObjectNamePropertyChanged(const QString &oldName, const
|
||||
emit propertyObjectNameChanged(oldName,newName);
|
||||
}
|
||||
|
||||
int BaseDesignIntf::borderLineSize() const
|
||||
qreal BaseDesignIntf::borderLineSize() const
|
||||
{
|
||||
return m_borderLineSize;
|
||||
}
|
||||
|
||||
void BaseDesignIntf::setBorderLineSize(int value)
|
||||
void BaseDesignIntf::setBorderStyle(BorderStyle b)
|
||||
{
|
||||
int oldValue = m_borderLineSize;
|
||||
BorderStyle oldValue = m_borderStyle;
|
||||
m_borderStyle = b;
|
||||
update();
|
||||
notify("borderStyle",(BorderStyle)oldValue,(BorderStyle)b);
|
||||
}
|
||||
|
||||
void BaseDesignIntf::setBorderLineSize(qreal value)
|
||||
{
|
||||
qreal oldValue = m_borderLineSize;
|
||||
m_borderLineSize = value;
|
||||
update();
|
||||
notify("borderLineSize",oldValue,value);
|
||||
@ -1026,32 +1060,65 @@ BaseDesignIntf::BorderLines BaseDesignIntf::borderLines() const
|
||||
return m_borderLinesFlags;
|
||||
}
|
||||
|
||||
|
||||
void BaseDesignIntf::drawTopLine(QPainter *painter, QRectF rect) const
|
||||
{
|
||||
if(isShapeItem())
|
||||
return;
|
||||
painter->setPen(borderPen(TopLine));
|
||||
painter->drawLine(rect.x(), rect.y(), rect.width(), rect.y());
|
||||
if(borderStyle() == BorderStyle::Doubled)
|
||||
painter->drawLine(rect.x()+3+m_borderLineSize,
|
||||
rect.y()+3+m_borderLineSize,
|
||||
rect.width()-3-m_borderLineSize,
|
||||
rect.y()+3+m_borderLineSize);
|
||||
}
|
||||
|
||||
void BaseDesignIntf::drawBootomLine(QPainter *painter, QRectF rect) const
|
||||
{
|
||||
if(isShapeItem())
|
||||
return;
|
||||
|
||||
painter->setPen(borderPen(BottomLine));
|
||||
painter->drawLine(rect.x(), rect.height(), rect.width(), rect.height());
|
||||
if(borderStyle() == BorderStyle::Doubled)
|
||||
painter->drawLine(rect.x()+3+m_borderLineSize,
|
||||
rect.height()-3-m_borderLineSize,
|
||||
rect.width()-3-m_borderLineSize,
|
||||
rect.height()-3-m_borderLineSize);
|
||||
}
|
||||
|
||||
void BaseDesignIntf::drawRightLine(QPainter *painter, QRectF rect) const
|
||||
{
|
||||
if(isShapeItem())
|
||||
return;
|
||||
painter->setPen(borderPen(RightLine));
|
||||
|
||||
painter->drawLine(rect.width(), rect.y(), rect.width(), rect.height());
|
||||
if(borderStyle() == BorderStyle::Doubled)
|
||||
painter->drawLine(rect.width()-3 - m_borderLineSize,
|
||||
rect.y()+3+m_borderLineSize,
|
||||
rect.width()-3-m_borderLineSize,
|
||||
rect.height()-3-m_borderLineSize);
|
||||
}
|
||||
|
||||
void BaseDesignIntf::drawLeftLine(QPainter *painter, QRectF rect) const
|
||||
{
|
||||
if(isShapeItem())
|
||||
return;
|
||||
painter->setPen(borderPen(LeftLine));
|
||||
painter->drawLine(rect.x(), rect.y(), rect.x(), rect.height());
|
||||
if(borderStyle() == BorderStyle::Doubled)
|
||||
painter->drawLine(rect.x()+3+m_borderLineSize,
|
||||
rect.y()+3+m_borderLineSize,
|
||||
rect.x()+3+m_borderLineSize,
|
||||
rect.height()-3-m_borderLineSize);
|
||||
}
|
||||
|
||||
void BaseDesignIntf::drawDesignModeBorder(QPainter *painter, QRectF rect) const
|
||||
{
|
||||
if(isShapeItem())
|
||||
return;
|
||||
drawTopLine(painter, rect);
|
||||
drawBootomLine(painter, rect);
|
||||
drawLeftLine(painter, rect);
|
||||
@ -1060,7 +1127,8 @@ void BaseDesignIntf::drawDesignModeBorder(QPainter *painter, QRectF rect) const
|
||||
|
||||
void BaseDesignIntf::drawRenderModeBorder(QPainter *painter, QRectF rect) const
|
||||
{
|
||||
|
||||
if(isShapeItem())
|
||||
return;
|
||||
if (m_borderLinesFlags & RightLine) drawRightLine(painter, rect);
|
||||
if (m_borderLinesFlags & LeftLine) drawLeftLine(painter, rect);
|
||||
if (m_borderLinesFlags & TopLine ) drawTopLine(painter, rect);
|
||||
@ -1077,6 +1145,32 @@ void BaseDesignIntf::drawBorder(QPainter *painter, QRectF rect) const
|
||||
painter->restore();
|
||||
}
|
||||
|
||||
void BaseDesignIntf::drawShadow(QPainter *painter, QRectF rect) const
|
||||
{
|
||||
|
||||
qreal shWidth = rect.width()/100;
|
||||
QRectF rshadow(rect.topRight() + QPointF(0, shWidth),
|
||||
rect.bottomRight() + QPointF(shWidth, 0));
|
||||
QLinearGradient rgrad(rshadow.topLeft(), rshadow.topRight());
|
||||
rgrad.setColorAt(0.0, QColor(0,0,0,255));
|
||||
rgrad.setColorAt(1.0, QColor(0,0,0,0));
|
||||
painter->fillRect(rshadow, QBrush(rgrad));
|
||||
QRectF bshadow(rect.bottomLeft() + QPointF(shWidth, 0),
|
||||
rect.bottomRight() + QPointF(0, shWidth));
|
||||
QLinearGradient bgrad(bshadow.topLeft(), bshadow.bottomLeft());
|
||||
bgrad.setColorAt(0.0, QColor(0,0,0,255));
|
||||
bgrad.setColorAt(1.0, QColor(0,0,0,0));
|
||||
painter->fillRect(bshadow, QBrush(bgrad));
|
||||
QRectF cshadow(rect.bottomRight(),
|
||||
rect.bottomRight() + QPointF(shWidth, shWidth));
|
||||
QRadialGradient cgrad(cshadow.topLeft(), shWidth, cshadow.topLeft());
|
||||
cgrad.setColorAt(0.0, QColor(0,0,0,255));
|
||||
cgrad.setColorAt(1.0, QColor(0,0,0,0));
|
||||
painter->fillRect(cshadow, QBrush(cgrad));
|
||||
|
||||
|
||||
}
|
||||
|
||||
void BaseDesignIntf::setGeometry(QRectF rect)
|
||||
{
|
||||
if (m_rect == rect) return;
|
||||
@ -1138,8 +1232,11 @@ QPen BaseDesignIntf::borderPen(BorderSide side/*, bool selected*/) const
|
||||
QPen pen;
|
||||
if (m_borderLinesFlags & side) {
|
||||
pen.setColor(m_borderColor);
|
||||
pen.setStyle(Qt::SolidLine);
|
||||
pen.setWidth(m_borderLineSize);
|
||||
if(borderStyle() != BorderStyle::Doubled)
|
||||
pen.setStyle(static_cast<Qt::PenStyle>(m_borderStyle));
|
||||
//pen.setCosmetic(true);
|
||||
pen.setWidthF(m_borderLineSize+1); //To draw with point precision (By default: 2px = 1 pt)
|
||||
|
||||
} else {
|
||||
pen.setColor(Qt::darkGray);
|
||||
pen.setStyle(Qt::SolidLine);
|
||||
@ -1389,6 +1486,7 @@ void BaseDesignIntf::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
||||
menu.addSeparator();
|
||||
QAction* noBordersAction = menu.addAction(QIcon(":/report/images/noLines"), tr("No borders"));
|
||||
QAction* allBordersAction = menu.addAction(QIcon(":/report/images/allLines"), tr("All borders"));
|
||||
QAction* editBorderAction = menu.addAction(QIcon(":/report/images/allLines"), tr("Edit borders..."));
|
||||
preparePopUpMenu(menu);
|
||||
QAction* a = menu.exec(event->screenPos());
|
||||
if (a){
|
||||
@ -1409,6 +1507,16 @@ void BaseDesignIntf::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
||||
page->setBorders(BaseDesignIntf::NoLine);
|
||||
if (a == allBordersAction)
|
||||
page->setBorders(BaseDesignIntf::AllLines);
|
||||
if(a == editBorderAction)
|
||||
{
|
||||
lrbordereditor be;
|
||||
be.loadItem(this);
|
||||
if(be.exec() == QDialog::Rejected)return;
|
||||
setBorderLinesFlags(be.borderSides());
|
||||
setBorderLineSize(be.border_width());
|
||||
setBorderStyle((LimeReport::BaseDesignIntf::BorderStyle)be.border_style());
|
||||
setBorderColor(be.borderColor());
|
||||
}
|
||||
if (a == createHLayout)
|
||||
page->addHLayout();
|
||||
if (a == createVLayout)
|
||||
@ -1719,6 +1827,7 @@ void Marker::paint(QPainter* painter, const QStyleOptionGraphicsItem*, QWidget*)
|
||||
painter->drawRect(rect());
|
||||
painter->setBrush(color());
|
||||
painter->setPen(Qt::transparent);
|
||||
|
||||
painter->setOpacity(1);
|
||||
painter->drawRect(QRectF(-markerSize,-markerSize,markerSize*2,markerSize*2));
|
||||
painter->drawRect(QRectF(rect().right()-markerSize,rect().bottom()-markerSize,markerSize*2,markerSize*2));
|
||||
|
@ -90,14 +90,25 @@ class BaseDesignIntf :
|
||||
Q_PROPERTY(qreal zOrder READ zValue WRITE setZValueProperty DESIGNABLE false)
|
||||
Q_PROPERTY(BorderLines borders READ borderLines WRITE setBorderLinesFlags)
|
||||
Q_PROPERTY(QString parentName READ parentReportItemName WRITE setParentReportItem DESIGNABLE false)
|
||||
Q_PROPERTY(int borderLineSize READ borderLineSize WRITE setBorderLineSize)
|
||||
Q_PROPERTY(qreal borderLineSize READ borderLineSize WRITE setBorderLineSize)
|
||||
Q_PROPERTY(bool isVisible READ isVisible WRITE setItemVisible DESIGNABLE false)
|
||||
Q_PROPERTY(bool shadow READ hasShadow WRITE setShadow)
|
||||
Q_PROPERTY(QColor borderColor READ borderColor WRITE setBorderColor)
|
||||
Q_PROPERTY(bool geometryLocked READ isGeometryLocked WRITE setGeometryLocked)
|
||||
Q_PROPERTY(BorderStyle borderStyle READ borderStyle WRITE setBorderStyle)
|
||||
|
||||
friend class ReportRender;
|
||||
public:
|
||||
enum BGMode { TransparentMode, OpaqueMode};
|
||||
enum BorderStyle { NoStyle = Qt::NoPen,
|
||||
Solid = Qt::SolidLine,
|
||||
Dashed = Qt::DashLine,
|
||||
Dot = Qt::DotLine,
|
||||
|
||||
DashDot = Qt::DashDotLine,
|
||||
DashDotDot = Qt::DashDotDotLine,
|
||||
Doubled = 7
|
||||
};
|
||||
|
||||
|
||||
enum BrushStyle{ NoBrush,
|
||||
@ -147,21 +158,25 @@ public:
|
||||
#if QT_VERSION >= 0x050500
|
||||
Q_ENUM(BGMode)
|
||||
Q_ENUM(BrushStyle)
|
||||
Q_ENUM(BorderStyle)
|
||||
Q_ENUM(ResizeFlags)
|
||||
Q_ENUM(MoveFlags)
|
||||
Q_ENUM(BorderSide)
|
||||
Q_ENUM(ObjectState)
|
||||
Q_ENUM(ItemAlign)
|
||||
Q_ENUM(UnitType)
|
||||
|
||||
#else
|
||||
Q_ENUMS(BGMode)
|
||||
Q_ENUMS(BrushStyle)
|
||||
Q_ENUM(BorderStyle)
|
||||
Q_ENUMS(ResizeFlags)
|
||||
Q_ENUMS(MoveFlags)
|
||||
Q_ENUMS(BorderSide)
|
||||
Q_ENUMS(ObjectState)
|
||||
Q_ENUMS(ItemAlign)
|
||||
Q_ENUMS(UnitType)
|
||||
|
||||
#endif
|
||||
// enum ExpandType {EscapeSymbols, NoEscapeSymbols, ReplaceHTMLSymbols};
|
||||
Q_DECLARE_FLAGS(BorderLines, BorderSide)
|
||||
@ -175,6 +190,7 @@ public:
|
||||
QString parentReportItemName() const;
|
||||
|
||||
BrushStyle backgroundBrushStyle() const {return m_backgroundBrushStyle;}
|
||||
BorderStyle borderStyle() const {return m_borderStyle;}
|
||||
void setBackgroundBrushStyle(BrushStyle value);
|
||||
QColor backgroundColor() const {return m_backgroundColor;}
|
||||
void setBackgroundColor(QColor value);
|
||||
@ -240,6 +256,7 @@ public:
|
||||
PageDesignIntf* page();
|
||||
|
||||
BorderLines borderLines() const;
|
||||
|
||||
QString storageTypeName() const {return m_storageTypeName;}
|
||||
ReportEnginePrivate *reportEditor();
|
||||
|
||||
@ -284,8 +301,9 @@ public:
|
||||
QString itemTypeName() const;
|
||||
void setItemTypeName(const QString &itemTypeName);
|
||||
|
||||
int borderLineSize() const;
|
||||
void setBorderLineSize(int value);
|
||||
qreal borderLineSize() const;
|
||||
void setBorderStyle(BorderStyle b);
|
||||
void setBorderLineSize(qreal value);
|
||||
void showEditorDialog();
|
||||
ItemAlign itemAlign() const;
|
||||
virtual void setItemAlign(const ItemAlign &itemAlign);
|
||||
@ -320,7 +338,9 @@ public:
|
||||
void setGeometryLocked(bool itemLocked);
|
||||
bool isChangingPos() const;
|
||||
void setIsChangingPos(bool isChangingPos);
|
||||
|
||||
bool isShapeItem() const;
|
||||
bool hasShadow();
|
||||
void setShadow(bool sh);
|
||||
Q_INVOKABLE QString setItemWidth(qreal width);
|
||||
Q_INVOKABLE QString setItemHeight(qreal height);
|
||||
Q_INVOKABLE qreal getItemWidth();
|
||||
@ -367,7 +387,9 @@ protected:
|
||||
void drawRightLine(QPainter *painter, QRectF rect) const;
|
||||
void drawLeftLine(QPainter *painter, QRectF rect) const;
|
||||
|
||||
|
||||
void drawBorder(QPainter* painter, QRectF rect) const;
|
||||
void drawShadow(QPainter* painter, QRectF rect) const;
|
||||
void drawDesignModeBorder(QPainter* painter, QRectF rect) const;
|
||||
void drawRenderModeBorder(QPainter *painter, QRectF rect) const;
|
||||
void drawResizeZone(QPainter*);
|
||||
@ -425,7 +447,8 @@ private:
|
||||
QFont m_font;
|
||||
QColor m_fontColor;
|
||||
bool m_fixedPos;
|
||||
int m_borderLineSize;
|
||||
qreal m_borderLineSize;
|
||||
|
||||
|
||||
QRectF m_rect;
|
||||
mutable QRectF m_boundingRect;
|
||||
@ -434,6 +457,7 @@ private:
|
||||
BGMode m_BGMode;
|
||||
int m_opacity;
|
||||
BorderLines m_borderLinesFlags;
|
||||
BorderStyle m_borderStyle;
|
||||
|
||||
QRectF m_bottomRect;
|
||||
QRectF m_topRect;
|
||||
@ -470,6 +494,7 @@ private:
|
||||
bool m_itemGeometryLocked;
|
||||
bool m_isChangingPos;
|
||||
bool m_isMoveable;
|
||||
bool m_shadow;
|
||||
|
||||
signals:
|
||||
void geometryChanged(QObject* object, QRectF newGeometry, QRectF oldGeometry);
|
||||
|
@ -98,6 +98,7 @@ PageDesignIntf::PageDesignIntf(QObject *parent):
|
||||
updatePageRect();
|
||||
connect(this, SIGNAL(selectionChanged()), this, SLOT(slotSelectionChanged()));
|
||||
setBackgroundBrush(QBrush(Qt::white));
|
||||
|
||||
}
|
||||
|
||||
PageDesignIntf::~PageDesignIntf()
|
||||
|
@ -34,7 +34,7 @@
|
||||
#include <QGraphicsScene>
|
||||
#include <QPrinter>
|
||||
#include <QMenu>
|
||||
|
||||
#include <lrpageeditor.h>
|
||||
namespace LimeReport {
|
||||
|
||||
bool bandSortBandLessThenByIndex(const BandDesignIntf *c1, const BandDesignIntf *c2){
|
||||
@ -98,6 +98,26 @@ void PageItemDesignIntf::paint(QPainter *ppainter, const QStyleOptionGraphicsIte
|
||||
paintGrid(ppainter, rect);
|
||||
ppainter->setPen(gridColor());
|
||||
ppainter->drawRect(boundingRect());
|
||||
//Draw shadow
|
||||
qreal shWidth = boundingRect().width()/100;
|
||||
QRectF rshadow(boundingRect().topRight() + QPointF(0, shWidth),
|
||||
boundingRect().bottomRight() + QPointF(shWidth, 0));
|
||||
QLinearGradient rgrad(rshadow.topLeft(), rshadow.topRight());
|
||||
rgrad.setColorAt(0.0, QColor(0,0,0,255));
|
||||
rgrad.setColorAt(1.0, QColor(0,0,0,0));
|
||||
ppainter->fillRect(rshadow, QBrush(rgrad));
|
||||
QRectF bshadow(boundingRect().bottomLeft() + QPointF(shWidth, 0),
|
||||
boundingRect().bottomRight() + QPointF(0, shWidth));
|
||||
QLinearGradient bgrad(bshadow.topLeft(), bshadow.bottomLeft());
|
||||
bgrad.setColorAt(0.0, QColor(0,0,0,255));
|
||||
bgrad.setColorAt(1.0, QColor(0,0,0,0));
|
||||
ppainter->fillRect(bshadow, QBrush(bgrad));
|
||||
QRectF cshadow(boundingRect().bottomRight(),
|
||||
boundingRect().bottomRight() + QPointF(shWidth, shWidth));
|
||||
QRadialGradient cgrad(cshadow.topLeft(), shWidth, cshadow.topLeft());
|
||||
cgrad.setColorAt(0.0, QColor(0,0,0,255));
|
||||
cgrad.setColorAt(1.0, QColor(0,0,0,0));
|
||||
ppainter->fillRect(cshadow, QBrush(cgrad));
|
||||
if (m_isExtendedInDesignMode){
|
||||
QPen pen;
|
||||
pen.setColor(Qt::red);
|
||||
@ -109,6 +129,7 @@ void PageItemDesignIntf::paint(QPainter *ppainter, const QStyleOptionGraphicsIte
|
||||
ppainter->restore();
|
||||
}
|
||||
|
||||
|
||||
if (itemMode() & PreviewMode) {
|
||||
ppainter->save();
|
||||
ppainter->fillRect(rect(), Qt::white);
|
||||
@ -123,6 +144,9 @@ void PageItemDesignIntf::paint(QPainter *ppainter, const QStyleOptionGraphicsIte
|
||||
ppainter->restore();
|
||||
BaseDesignIntf::paint(ppainter,option,widget);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
BaseDesignIntf *PageItemDesignIntf::createSameTypeItem(QObject *owner, QGraphicsItem *parent)
|
||||
@ -746,10 +770,15 @@ void PageItemDesignIntf::initPageSize(const QSizeF& size)
|
||||
|
||||
void PageItemDesignIntf::preparePopUpMenu(QMenu &menu)
|
||||
{
|
||||
|
||||
|
||||
foreach (QAction* action, menu.actions()) {
|
||||
if (action->text().compare(tr("Paste")) != 0)
|
||||
action->setVisible(false);
|
||||
}
|
||||
menu.addSeparator();
|
||||
menu.addAction(tr("Edit"));
|
||||
|
||||
|
||||
menu.addSeparator();
|
||||
|
||||
@ -797,6 +826,11 @@ void PageItemDesignIntf::processPopUpAction(QAction *action)
|
||||
if (action->text().compare(tr("Mix with prior page")) == 0){
|
||||
page()->setPropertyToSelectedItems("mixWithPriorPage",action->isChecked());
|
||||
}
|
||||
if(action->text() == tr("Edit"))
|
||||
{
|
||||
lrpageeditor pageEdit(NULL,this);
|
||||
pageEdit.exec();
|
||||
}
|
||||
|
||||
}
|
||||
void PageItemDesignIntf::initPageSize(const PageItemDesignIntf::PageSize &size)
|
||||
|
@ -103,6 +103,7 @@ PreviewReportWidget::PreviewReportWidget(ReportEngine *report, QWidget *parent)
|
||||
d_ptr->m_zoomer = new GraphicsViewZoomer(ui->graphicsView);
|
||||
connect(d_ptr->m_zoomer, SIGNAL(zoomed(double)), this, SLOT(slotZoomed(double)));
|
||||
connect(&m_resizeTimer, SIGNAL(timeout()), this, SLOT(resizeDone()));
|
||||
|
||||
}
|
||||
|
||||
PreviewReportWidget::~PreviewReportWidget()
|
||||
@ -482,7 +483,7 @@ void PreviewReportWidget::reportEngineDestroyed(QObject *object)
|
||||
|
||||
void PreviewReportWidget::slotZoomed(double )
|
||||
{
|
||||
#if (QT_VERSION < QT_VERSION_CHECK(5, 15, 1))
|
||||
#if (QT_VERSION < QT_VERSION_CHECK(5, 15, 0))
|
||||
d_ptr->m_scalePercent = ui->graphicsView->matrix().m11()*100;
|
||||
#else
|
||||
d_ptr->m_scalePercent = ui->graphicsView->transform().m11()*100;
|
||||
|
@ -1119,6 +1119,7 @@ bool PageView::viewportEvent(QEvent *event)
|
||||
m_verticalRuller->setGeometry(0, y+20, 20, (height - y));
|
||||
m_verticalRuller->update();
|
||||
m_horizontalRuller->update();
|
||||
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
@ -743,7 +743,7 @@ void ReportEnginePrivate::designReport(bool showModal)
|
||||
dataManager()->setDesignTime(true);
|
||||
connect(designerWindow, SIGNAL(destroyed(QObject*)), this, SLOT(slotDesignerWindowDestroyed(QObject*)));
|
||||
#ifdef Q_OS_WIN
|
||||
designerWindow->setWindowModality(Qt::ApplicationModal);
|
||||
designerWindow->setWindowModality(Qt::NonModal);
|
||||
#endif
|
||||
if (!showModal){
|
||||
designerWindow->show();;
|
||||
|
@ -707,7 +707,12 @@ int ScriptEngineManager::getPageFreeSpace(PageItemDesignIntf* page){
|
||||
if (page){
|
||||
int height = 0;
|
||||
foreach(BandDesignIntf* band, page->bands()){
|
||||
height += band->height();
|
||||
|
||||
if(band->type() == BandDesignIntf::Data)
|
||||
{
|
||||
height += band->geometry().height() * m_dataManager->dataSource(band->datasourceName())->model()->rowCount();
|
||||
}
|
||||
else height += band->height();
|
||||
}
|
||||
return page->height() - height;
|
||||
} else return -1;
|
||||
@ -2072,6 +2077,13 @@ bool DatasourceFunctions::isEOF(const QString &datasourceName)
|
||||
return true;
|
||||
}
|
||||
|
||||
int DatasourceFunctions::rowCount(const QString &datasourceName)
|
||||
{
|
||||
if (m_dataManager && m_dataManager->dataSource(datasourceName))
|
||||
return m_dataManager->dataSource(datasourceName)->model()->rowCount();
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool DatasourceFunctions::invalidate(const QString& datasourceName)
|
||||
{
|
||||
if (m_dataManager && m_dataManager->dataSource(datasourceName)){
|
||||
|
@ -337,6 +337,7 @@ public:
|
||||
Q_INVOKABLE bool next(const QString& datasourceName);
|
||||
Q_INVOKABLE bool prior(const QString& datasourceName);
|
||||
Q_INVOKABLE bool isEOF(const QString& datasourceName);
|
||||
Q_INVOKABLE int rowCount(const QString& datasourceName);
|
||||
Q_INVOKABLE bool invalidate(const QString& datasourceName);
|
||||
Q_INVOKABLE QObject *createTableBuilder(QObject *horizontalLayout);
|
||||
private:
|
||||
|
@ -8,6 +8,60 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BorderFrameEditor</name>
|
||||
<message>
|
||||
<source>BorderFrameEditor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChartAxisEditor</name>
|
||||
<message>
|
||||
<source>Axis editor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reverse direction</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable scale calculation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximum</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Minimum</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatic</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">إلغاء الأمر</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ok</source>
|
||||
<translation type="unfinished">موافق</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChartItemEditor</name>
|
||||
<message>
|
||||
@ -54,6 +108,10 @@
|
||||
<source>Series name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X data field</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageItemEditor</name>
|
||||
@ -156,22 +214,6 @@ p, li { white-space: pre-wrap; }
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600;">Report engine for </span><span style=" font-size:12pt; font-weight:600; color:#7faa18;">Qt</span><span style=" font-size:12pt; font-weight:600;"> framework</span></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">LimeReport - multi-platform C++ library written using Qt framework and intended for software developers that would like to add into their application capability to form report or print forms generated using templates.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Official web site : </span><a href="www.limereport.ru"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">www.limereport.ru</span></a></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; text-decoration: underline; color:#0000ff;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Copyright 2015 Arin Alexander. All rights reserved.</span></p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><!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; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(c) 2015 Arin Alexander arin_a@bk.ru</p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="SEC1"></a><span style=" font-family:'sans-serif'; font-weight:600;">G</span><span style=" font-family:'sans-serif'; font-weight:600;">NU LESSER GENERAL PUBLIC LICENSE</span></p>
|
||||
@ -284,6 +326,22 @@ p, li { white-space: pre-wrap; }
|
||||
<p style=" margin-top:19px; margin-bottom:19px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'sans-serif';">That's all there is to it!</span></p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><!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; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600;">Report engine for </span><span style=" font-size:12pt; font-weight:600; color:#7faa18;">Qt</span><span style=" font-size:12pt; font-weight:600;"> framework</span></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">LimeReport - multi-platform C++ library written using Qt framework and intended for software developers that would like to add into their application capability to form report or print forms generated using templates.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Official web site : </span><a href="www.limereport.ru"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">www.limereport.ru</span></a></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; text-decoration: underline; color:#0000ff;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Copyright 2021 Arin Alexander. All rights reserved.</span></p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::AlignmentPropItem</name>
|
||||
@ -457,6 +515,10 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Create Vertical Layout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit borders...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::ConnectionDesc</name>
|
||||
@ -1241,6 +1303,10 @@ p, li { white-space: pre-wrap; }
|
||||
<source>All borders</source>
|
||||
<translation>محاط بإطار</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit border</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::MasterDetailProxyModel</name>
|
||||
@ -1333,6 +1399,14 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Set page size to printer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mix with prior page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished">تحرير</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::PreviewReportWidget</name>
|
||||
@ -2029,6 +2103,38 @@ p, li { white-space: pre-wrap; }
|
||||
<source>removeGap</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>xAxisField</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>seriesLineWidth</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>drawPoints</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>dropPrinterMargins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>notPrintIfEmpty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>gridChartLines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>horizontalAxisOnTop</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>mixWithPriorPage</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::RectPropItem</name>
|
||||
@ -2933,10 +3039,6 @@ This preview is no longer valid.</source>
|
||||
<source>Ctrl+Return</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Esc</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::TranslationEditor</name>
|
||||
@ -3274,5 +3376,215 @@ This preview is no longer valid.</source>
|
||||
<source>Series</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Y Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Y axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>lrbordereditor</name>
|
||||
<message>
|
||||
<source>Style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Solid</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Presets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No lines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Border</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit border</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Width:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>0.25</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>0.5</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1.5</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>4</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>5</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>6</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Color:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dash</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dash dot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dash dot dot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>lrpageeditor</name>
|
||||
<message>
|
||||
<source>Paper</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format</source>
|
||||
<translation type="unfinished">الصيغة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dimension</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Width:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> mm</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Height:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Orientation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Portrait</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Landscape</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Margins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Drop printer margins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Other</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Height options</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Endless Height</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extended Height:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Full page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Page setup</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
@ -8,6 +8,60 @@
|
||||
<translation></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BorderFrameEditor</name>
|
||||
<message>
|
||||
<source>BorderFrameEditor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChartAxisEditor</name>
|
||||
<message>
|
||||
<source>Axis editor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reverse direction</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable scale calculation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximum</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Minimum</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatic</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">Cancelar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ok</source>
|
||||
<translation type="unfinished">Aceptar</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChartItemEditor</name>
|
||||
<message>
|
||||
@ -54,6 +108,10 @@
|
||||
<source>Series name</source>
|
||||
<translation>Nombre de la Serie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X data field</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageItemEditor</name>
|
||||
@ -156,34 +214,6 @@ p, li { white-space: pre-wrap; }
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600;">Report engine for </span><span style=" font-size:12pt; font-weight:600; color:#7faa18;">Qt</span><span style=" font-size:12pt; font-weight:600;"> framework</span></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">LimeReport - multi-platform C++ library written using Qt framework and intended for software developers that would like to add into their application capability to form report or print forms generated using templates.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Official web site : </span><a href="www.limereport.ru"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">www.limereport.ru</span></a></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; text-decoration: underline; color:#0000ff;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Copyright 2015 Arin Alexander. All rights reserved.</span></p></body></html></source>
|
||||
<translation><!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; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600;">Motor de informes para el entorno de trabajo de </span> <span style = "font-size: 12pt; font-weight: 600; color: # 7faa18;"> Qt </span> <span style = "font-size: 12pt; font-weight : 600; "></span> </p>
|
||||
<p align = "justify" style = "margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px;" > <span style = "font-size: 11pt;"> LimeReport es una biblioteca de C ++ multiplataforma escrita para el entorno de trabajo de Qt y diseñada para desarrolladores de software que deseen agregar en su aplicación la capacidad para crear informes o imprimir formularios generados mediante plantillas. < / span> </p>
|
||||
<p align = "justify" style = "- qt -agraph-type: empty; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px; font-size: 11pt; "> <br /> </p>
|
||||
<p align = "justify" style = "- qt -agraph-type: empty; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px; font-size: 11pt; "> <br /> </p>
|
||||
<p align = "justify" style = "margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px;" > <span style = "font-size: 11pt;"> Sitio web oficial: </span> <a href="www.limereport.ru"> <span style = "font-size: 11pt; text-decoration: underline ; color: # 0000ff; "> www.limereport.ru </span> </a> </p>
|
||||
<p align = "justify" style = "- qt -agraph-type: empty; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; texto-sangría: 0px; fuente-tamaño: 11 puntos; texto-decoración: subrayado; color: # 0000ff; "> <br /> </p>
|
||||
<p align = "justify" style = "margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px;" > <span style = "font-size: 10pt; font-weight: 600;"> Esta biblioteca se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; sin ni siquiera la garantía implícita de COMERCIABILIDAD o APTITUD PARA UN PROPÓSITO PARTICULAR. </span> </p>
|
||||
<p align = "justify" style = "- qt -agraph-type: empty; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px; font-size: 10pt; font-weight: 600; color: # 000000; "> <br /> </p>
|
||||
<p align = "justify" style = "margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px;" > <span style = "font-size: 10pt;">Derechos reservados 2015 Arin Alexander. Todos los derechos reservados.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><!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; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(c) 2015 Arin Alexander arin_a@bk.ru</p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="SEC1"></a><span style=" font-family:'sans-serif'; font-weight:600;">G</span><span style=" font-family:'sans-serif'; font-weight:600;">NU LESSER GENERAL PUBLIC LICENSE</span></p>
|
||||
@ -412,6 +442,34 @@ p, li { white-space: pre-wrap; }
|
||||
<p style = "margin-top: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px;"> <span style = "font-family: 'monospace';"> Ty Coon, Presidente de Vice </span> </p>
|
||||
<p style = "margin-top: 19px; margin-bottom: 19px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px;"> <span style = "font-family: 'sans-serif';"> ¡Eso es todo!</span></p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><!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; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600;">Report engine for </span><span style=" font-size:12pt; font-weight:600; color:#7faa18;">Qt</span><span style=" font-size:12pt; font-weight:600;"> framework</span></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">LimeReport - multi-platform C++ library written using Qt framework and intended for software developers that would like to add into their application capability to form report or print forms generated using templates.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Official web site : </span><a href="www.limereport.ru"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">www.limereport.ru</span></a></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; text-decoration: underline; color:#0000ff;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Copyright 2021 Arin Alexander. All rights reserved.</span></p></body></html></source>
|
||||
<translation type="unfinished"><!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; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600;">Motor de informes para el entorno de trabajo de </span> <span style = "font-size: 12pt; font-weight: 600; color: # 7faa18;"> Qt </span> <span style = "font-size: 12pt; font-weight : 600; "></span> </p>
|
||||
<p align = "justify" style = "margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px;" > <span style = "font-size: 11pt;"> LimeReport es una biblioteca de C ++ multiplataforma escrita para el entorno de trabajo de Qt y diseñada para desarrolladores de software que deseen agregar en su aplicación la capacidad para crear informes o imprimir formularios generados mediante plantillas. < / span> </p>
|
||||
<p align = "justify" style = "- qt -agraph-type: empty; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px; font-size: 11pt; "> <br /> </p>
|
||||
<p align = "justify" style = "- qt -agraph-type: empty; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px; font-size: 11pt; "> <br /> </p>
|
||||
<p align = "justify" style = "margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px;" > <span style = "font-size: 11pt;"> Sitio web oficial: </span> <a href="www.limereport.ru"> <span style = "font-size: 11pt; text-decoration: underline ; color: # 0000ff; "> www.limereport.ru </span> </a> </p>
|
||||
<p align = "justify" style = "- qt -agraph-type: empty; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; texto-sangría: 0px; fuente-tamaño: 11 puntos; texto-decoración: subrayado; color: # 0000ff; "> <br /> </p>
|
||||
<p align = "justify" style = "margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px;" > <span style = "font-size: 10pt; font-weight: 600;"> Esta biblioteca se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; sin ni siquiera la garantía implícita de COMERCIABILIDAD o APTITUD PARA UN PROPÓSITO PARTICULAR. </span> </p>
|
||||
<p align = "justify" style = "- qt -agraph-type: empty; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px; font-size: 10pt; font-weight: 600; color: # 000000; "> <br /> </p>
|
||||
<p align = "justify" style = "margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px;" > <span style = "font-size: 10pt;">Derechos reservados 2015 Arin Alexander. Todos los derechos reservados. {3C?} {4.0/?} {3.?} {40/?} {1"?} {9p?} {400;?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {100.?} {100"?} {12p?} {600;?} {12p?} {600;?} {7f?} {18;?} {12p?} {600;?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {11p?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {11p?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {11p?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {11p?} {11p?} {0000f?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {11p?} {0000f?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {10p?} {600;?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {10p?} {600;?} {000000;?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {10p?} {2021 ?}</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::AlignmentPropItem</name>
|
||||
@ -585,6 +643,10 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Lock item geometry</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit borders...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::ConnectionDesc</name>
|
||||
@ -1369,6 +1431,10 @@ p, li { white-space: pre-wrap; }
|
||||
<source>All borders</source>
|
||||
<translation>Todos los bordes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit border</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::MasterDetailProxyModel</name>
|
||||
@ -1461,6 +1527,14 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Set page size to printer</source>
|
||||
<translation>Establecer el tamaño de página a la impresora</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mix with prior page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished">Editar</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::PreviewReportWidget</name>
|
||||
@ -2157,6 +2231,38 @@ p, li { white-space: pre-wrap; }
|
||||
<source>removeGap</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>xAxisField</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>seriesLineWidth</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>drawPoints</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>dropPrinterMargins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>notPrintIfEmpty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>gridChartLines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>horizontalAxisOnTop</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>mixWithPriorPage</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::RectPropItem</name>
|
||||
@ -3063,10 +3169,6 @@ Esta vista previa ya no es válida.</translation>
|
||||
<source>Ctrl+Return</source>
|
||||
<translation>Ctrl+Intro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Esc</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::TranslationEditor</name>
|
||||
@ -3404,5 +3506,215 @@ Esta vista previa ya no es válida.</translation>
|
||||
<source>Series</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Y Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Y axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>lrbordereditor</name>
|
||||
<message>
|
||||
<source>Style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Solid</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Presets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No lines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Border</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit border</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Width:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>0.25</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>0.5</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1.5</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>4</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>5</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>6</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Color:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dash</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dash dot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dash dot dot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>lrpageeditor</name>
|
||||
<message>
|
||||
<source>Paper</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format</source>
|
||||
<translation type="unfinished">Formato</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dimension</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Width:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> mm</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Height:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Orientation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Portrait</source>
|
||||
<translation type="unfinished">Retrato</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Landscape</source>
|
||||
<translation type="unfinished">Apaisado (Horizontal)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Margins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Drop printer margins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Other</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Height options</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Endless Height</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extended Height:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Full page</source>
|
||||
<translation type="unfinished">Página completa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Page setup</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -8,6 +8,60 @@
|
||||
<translation>$ClassName$</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BorderFrameEditor</name>
|
||||
<message>
|
||||
<source>BorderFrameEditor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChartAxisEditor</name>
|
||||
<message>
|
||||
<source>Axis editor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reverse direction</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable scale calculation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximum</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Minimum</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatic</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">Отмена</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ok</source>
|
||||
<translation type="unfinished">Ок</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChartItemEditor</name>
|
||||
<message>
|
||||
@ -54,6 +108,10 @@
|
||||
<source>Series name</source>
|
||||
<translation>Название ряда</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X data field</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageItemEditor</name>
|
||||
@ -161,22 +219,6 @@ p, li { white-space: pre-wrap; }
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600;">Report engine for </span><span style=" font-size:12pt; font-weight:600; color:#7faa18;">Qt</span><span style=" font-size:12pt; font-weight:600;"> framework</span></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">LimeReport - multi-platform C++ library written using Qt framework and intended for software developers that would like to add into their application capability to form report or print forms generated using templates.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Official web site : </span><a href="www.limereport.ru"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">www.limereport.ru</span></a></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; text-decoration: underline; color:#0000ff;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Copyright 2015 Arin Alexander. All rights reserved.</span></p></body></html></source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><!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; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(c) 2015 Arin Alexander arin_a@bk.ru</p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="SEC1"></a><span style=" font-family:'sans-serif'; font-weight:600;">G</span><span style=" font-family:'sans-serif'; font-weight:600;">NU LESSER GENERAL PUBLIC LICENSE</span></p>
|
||||
@ -289,6 +331,22 @@ p, li { white-space: pre-wrap; }
|
||||
<p style=" margin-top:19px; margin-bottom:19px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'sans-serif';">That's all there is to it!</span></p></body></html></source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><!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; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600;">Report engine for </span><span style=" font-size:12pt; font-weight:600; color:#7faa18;">Qt</span><span style=" font-size:12pt; font-weight:600;"> framework</span></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">LimeReport - multi-platform C++ library written using Qt framework and intended for software developers that would like to add into their application capability to form report or print forms generated using templates.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Official web site : </span><a href="www.limereport.ru"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">www.limereport.ru</span></a></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; text-decoration: underline; color:#0000ff;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Copyright 2021 Arin Alexander. All rights reserved.</span></p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::AlignmentPropItem</name>
|
||||
@ -462,6 +520,10 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Lock item geometry</source>
|
||||
<translation>Заблокировать геометрию элемента</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit borders...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::ConnectionDesc</name>
|
||||
@ -1246,6 +1308,10 @@ p, li { white-space: pre-wrap; }
|
||||
<source>All borders</source>
|
||||
<translation>Все границы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit border</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::MasterDetailProxyModel</name>
|
||||
@ -1342,6 +1408,10 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Mix with prior page</source>
|
||||
<translation>Смешивать с предыдущей страницей</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished">Правка</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::PreviewReportWidget</name>
|
||||
@ -2050,6 +2120,26 @@ p, li { white-space: pre-wrap; }
|
||||
<source>mixWithPriorPage</source>
|
||||
<translation>Смешивать с предыдущей сраницей</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>xAxisField</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>seriesLineWidth</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>drawPoints</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>gridChartLines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>horizontalAxisOnTop</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::RectPropItem</name>
|
||||
@ -2954,10 +3044,6 @@ This preview is no longer valid.</source>
|
||||
<source>Ctrl+Return</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Esc</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::TranslationEditor</name>
|
||||
@ -3295,5 +3381,215 @@ This preview is no longer valid.</source>
|
||||
<source>SVG Item</source>
|
||||
<translation>Элемент SVG избражение</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Y Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Y axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>lrbordereditor</name>
|
||||
<message>
|
||||
<source>Style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Solid</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Presets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No lines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Border</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>...</source>
|
||||
<translation type="unfinished">...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit border</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Width:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>0.25</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>0.5</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1.5</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>4</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>5</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>6</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Color:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dash</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dash dot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dash dot dot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>lrpageeditor</name>
|
||||
<message>
|
||||
<source>Paper</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format</source>
|
||||
<translation type="unfinished">Формат</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dimension</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Width:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> mm</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Height:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Orientation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Portrait</source>
|
||||
<translation type="unfinished">Портретная</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Landscape</source>
|
||||
<translation type="unfinished">Альбомная</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Margins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Drop printer margins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Other</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Height options</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Endless Height</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extended Height:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Full page</source>
|
||||
<translation type="unfinished">На всю страницу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Page setup</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
@ -8,6 +8,60 @@
|
||||
<translation>$ClassName$</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BorderFrameEditor</name>
|
||||
<message>
|
||||
<source>BorderFrameEditor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChartAxisEditor</name>
|
||||
<message>
|
||||
<source>Axis editor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reverse direction</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable scale calculation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximum</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Minimum</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatic</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">取消</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ok</source>
|
||||
<translation type="unfinished">确定</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChartItemEditor</name>
|
||||
<message>
|
||||
@ -54,6 +108,10 @@
|
||||
<source>Series name</source>
|
||||
<translation>系列名称</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X data field</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageItemEditor</name>
|
||||
@ -126,34 +184,6 @@
|
||||
<source>Lime Report</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><!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; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600;">Report engine for </span><span style=" font-size:12pt; font-weight:600; color:#7faa18;">Qt</span><span style=" font-size:12pt; font-weight:600;"> framework</span></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">LimeReport - multi-platform C++ library written using Qt framework and intended for software developers that would like to add into their application capability to form report or print forms generated using templates.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Official web site : </span><a href="www.limereport.ru"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">www.limereport.ru</span></a></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; text-decoration: underline; color:#0000ff;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Copyright 2015 Arin Alexander. All rights reserved.</span></p></body></html></source>
|
||||
<translation><!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; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600; color:#7faa18;">Qt</span><span style=" font-size:12pt; font-weight:600;">报表引擎</span></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">LimeReport - QT框架多平台C++库,帮助开发者给应用增加基于模板生成报表及打印报表功能。</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">官方网站: </span><a href="www.limereport.ru"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">www.limereport.ru</span></a></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; text-decoration: underline; color:#0000ff;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">该库基于提供帮助目的发布,但不提供任何担保,不以任何形式提供其适销性或适用于某一特定用途的默示保证。</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">版权 2015 Arin Alexander.所有权利保留.</span></p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Author</source>
|
||||
<translation>作者</translation>
|
||||
@ -296,6 +326,34 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Version 1.1.1</source>
|
||||
<translation>版本 1.1.1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><!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; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600;">Report engine for </span><span style=" font-size:12pt; font-weight:600; color:#7faa18;">Qt</span><span style=" font-size:12pt; font-weight:600;"> framework</span></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">LimeReport - multi-platform C++ library written using Qt framework and intended for software developers that would like to add into their application capability to form report or print forms generated using templates.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Official web site : </span><a href="www.limereport.ru"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">www.limereport.ru</span></a></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; text-decoration: underline; color:#0000ff;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Copyright 2021 Arin Alexander. All rights reserved.</span></p></body></html></source>
|
||||
<translation type="unfinished"><!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; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600; color:#7faa18;">Qt</span><span style=" font-size:12pt; font-weight:600;">报表引擎</span></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">LimeReport - QT框架多平台C++库,帮助开发者给应用增加基于模板生成报表及打印报表功能。</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">官方网站: </span><a href="www.limereport.ru"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">www.limereport.ru</span></a></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; text-decoration: underline; color:#0000ff;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">该库基于提供帮助目的发布,但不提供任何担保,不以任何形式提供其适销性或适用于某一特定用途的默示保证。</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">版权 2015 Arin Alexander.所有权利保留.</span></p></body></html> {3C?} {4.0/?} {3.?} {40/?} {1"?} {9p?} {400;?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {100.?} {100"?} {12p?} {600;?} {12p?} {600;?} {7f?} {18;?} {12p?} {600;?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {11p?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {11p?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {11p?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {11p?} {11p?} {0000f?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {11p?} {0000f?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {10p?} {600;?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {10p?} {600;?} {000000;?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {10p?} {2021 ?}</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::AlignmentPropItem</name>
|
||||
@ -469,6 +527,10 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Create Vertical Layout</source>
|
||||
<translation>创建水平布局</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit borders...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::ConnectionDesc</name>
|
||||
@ -1253,6 +1315,10 @@ p, li { white-space: pre-wrap; }
|
||||
<source>All borders</source>
|
||||
<translation>所有边框</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit border</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::MasterDetailProxyModel</name>
|
||||
@ -1345,6 +1411,14 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Set page size to printer</source>
|
||||
<translation>适合打印机纸张大小</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mix with prior page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished">编辑</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::PreviewReportWidget</name>
|
||||
@ -2041,6 +2115,38 @@ p, li { white-space: pre-wrap; }
|
||||
<source>removeGap</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>xAxisField</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>seriesLineWidth</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>drawPoints</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>dropPrinterMargins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>notPrintIfEmpty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>gridChartLines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>horizontalAxisOnTop</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>mixWithPriorPage</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::RectPropItem</name>
|
||||
@ -2947,10 +3053,6 @@ This preview is no longer valid.</source>
|
||||
<source>Cancel</source>
|
||||
<translation>取消</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Esc</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::TranslationEditor</name>
|
||||
@ -3288,5 +3390,215 @@ This preview is no longer valid.</source>
|
||||
<source>Series</source>
|
||||
<translation type="unfinished">数据系列</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Y Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Y axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>lrbordereditor</name>
|
||||
<message>
|
||||
<source>Style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Solid</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Presets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No lines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Border</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>...</source>
|
||||
<translation type="unfinished">...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit border</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Width:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>0.25</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>0.5</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1.5</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>4</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>5</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>6</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Color:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dash</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dash dot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dash dot dot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>lrpageeditor</name>
|
||||
<message>
|
||||
<source>Paper</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format</source>
|
||||
<translation type="unfinished">格式</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dimension</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Width:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> mm</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Height:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Orientation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Portrait</source>
|
||||
<translation type="unfinished">纵向</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Landscape</source>
|
||||
<translation type="unfinished">横向</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Margins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Drop printer margins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Other</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Height options</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Endless Height</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extended Height:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Full page</source>
|
||||
<translation type="unfinished">全页</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Page setup</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
Loading…
Reference in New Issue
Block a user