0
0
mirror of https://github.com/fralx/LimeReport.git synced 2024-12-24 08:34:38 +03:00

replaceCRwithBR property has been added

This commit is contained in:
Arin Alexander 2018-06-04 00:17:56 +03:00
parent 8fd072c65e
commit 21b9a94168
5 changed files with 50 additions and 14 deletions

View File

@ -62,7 +62,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc
LIMEREPORT_VERSION_MAJOR = 1
LIMEREPORT_VERSION_MINOR = 4
LIMEREPORT_VERSION_RELEASE = 78
LIMEREPORT_VERSION_RELEASE = 80
LIMEREPORT_VERSION = '\\"$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}\\"'
DEFINES += LIMEREPORT_VERSION_STR=\"$${LIMEREPORT_VERSION}\"

View File

@ -59,7 +59,8 @@ namespace LimeReport{
TextItem::TextItem(QObject *owner, QGraphicsItem *parent)
: ContentItemDesignIntf(xmlTag,owner,parent), m_angle(Angle0), m_trimValue(true), m_allowHTML(false),
m_allowHTMLInFields(false), m_followTo(""), m_follower(0), m_textIndent(0), m_textLayoutDirection(Qt::LayoutDirectionAuto)
m_allowHTMLInFields(false), m_replaceCarriageReturns(false), m_followTo(""), m_follower(0), m_textIndent(0),
m_textLayoutDirection(Qt::LayoutDirectionAuto)
{
PageItemDesignIntf* pageItem = dynamic_cast<PageItemDesignIntf*>(parent);
BaseDesignIntf* parentItem = dynamic_cast<BaseDesignIntf*>(parent);
@ -289,8 +290,10 @@ void TextItem::setContent(const QString &value)
void TextItem::updateItemSize(DataSourceManager* dataManager, RenderPass pass, int maxHeight)
{
if (isNeedExpandContent())
expandContent(dataManager, pass);
if (!isLoading() && (autoHeight() || autoWidth() || hasFollower()) )
initTextSizes();
@ -331,12 +334,12 @@ bool TextItem::isNeedExpandContent() const
return content().contains(rx);
}
QString TextItem::replaceBR(QString text)
QString TextItem::replaceBR(QString text) const
{
return text.replace("<br/>","\n");
}
QString TextItem::replaceReturns(QString text)
QString TextItem::replaceReturns(QString text) const
{
QString result = text.replace("\r\n","<br/>");
result = result.replace("\n","<br/>");
@ -465,7 +468,11 @@ TextItem::TextPtr TextItem::textDocument() const
TextPtr text(new QTextDocument);
if (allowHTML())
if (isReplaceCarriageReturns()){
text->setHtml(replaceReturns(m_strText));
} else {
text->setHtml(m_strText);
}
else
text->setPlainText(m_strText);
@ -513,6 +520,21 @@ TextItem::TextPtr TextItem::textDocument() const
}
bool TextItem::isReplaceCarriageReturns() const
{
return m_replaceCarriageReturns;
}
void TextItem::setReplaceCarriageReturns(bool replaceCarriageReturns)
{
if (replaceCarriageReturns != m_replaceCarriageReturns){
m_replaceCarriageReturns = replaceCarriageReturns;
update();
notify("replaceCRwithBR",!replaceCarriageReturns, replaceCarriageReturns);
}
}
qreal TextItem::textIndent() const
{
return m_textIndent;

View File

@ -72,6 +72,7 @@ class TextItem : public LimeReport::ContentItemDesignIntf, IPageInit {
Q_PROPERTY(qreal textIndent READ textIndent WRITE setTextIndent)
Q_PROPERTY(Qt::LayoutDirection textLayoutDirection READ textLayoutDirection WRITE setTextLayoutDirection)
Q_PROPERTY(bool watermark READ isWatermark WRITE setWatermark)
Q_PROPERTY(bool replaceCRwithBR READ isReplaceCarriageReturns WRITE setReplaceCarriageReturns)
public:
enum AutoWidth{NoneAutoWidth,MaxWordLength,MaxStringLength};
@ -167,11 +168,14 @@ public:
void setWatermark(bool watermark);
bool isReplaceCarriageReturns() const;
void setReplaceCarriageReturns(bool isReplaceCarriageReturns);
protected:
void updateLayout();
bool isNeedExpandContent() const;
QString replaceBR(QString text);
QString replaceReturns(QString text);
QString replaceBR(QString text) const;
QString replaceReturns(QString text) const;
int fakeMarginSize() const;
QString getTextPart(int height, int skipHeight);
void restoreLinksEvent();
@ -204,6 +208,7 @@ private:
int m_underlineLineSize;
bool m_allowHTML;
bool m_allowHTMLInFields;
bool m_replaceCarriageReturns;
QString m_format;
ValueType m_valueType;

View File

@ -135,6 +135,7 @@ void QObjectPropertyModel::translatePropertyName()
tr("groupFieldName");
tr("keepGroupTogether");
tr("watermark");
tr("replaceCRwithBR");
}
void QObjectPropertyModel::clearObjectsList()

View File

@ -325,15 +325,15 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>Keep bottom space</source>
<translation type="unfinished"></translation>
<translation>Сохранять нижний отступ</translation>
</message>
<message>
<source>Start from new page</source>
<translation type="unfinished"></translation>
<translation>Начинать с новой страницы</translation>
</message>
<message>
<source>Start new page</source>
<translation type="unfinished"></translation>
<translation>Начинать новую станицу</translation>
</message>
</context>
<context>
@ -458,7 +458,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>Port</source>
<translation type="unfinished"></translation>
<translation>Порт</translation>
</message>
</context>
<context>
@ -1635,6 +1635,14 @@ p, li { white-space: pre-wrap; }
<source>repeatOnEachRow</source>
<translation>Печатать на каждой странице</translation>
</message>
<message>
<source>watermark</source>
<translation>Водяной знак</translation>
</message>
<message>
<source>replaceCRwithBR</source>
<translation>Заменять CR на BR</translation>
</message>
</context>
<context>
<name>LimeReport::RectMMPropItem</name>
@ -1957,11 +1965,11 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>Hide left panel | Alt+L</source>
<translation type="unfinished"></translation>
<translation>Скрыть левую панель | Alt+L</translation>
</message>
<message>
<source>Hide right panel | Alt+R</source>
<translation type="unfinished"></translation>
<translation>Скрыть правую панель | Alt+R</translation>
</message>
</context>
<context>
@ -2239,7 +2247,7 @@ This preview is no longer valid.</source>
</message>
<message>
<source>Seconds</source>
<translation type="unfinished"></translation>
<translation>Секунды</translation>
</message>
</context>
<context>