mirror of
https://github.com/fralx/LimeReport.git
synced 2024-12-26 01:24:39 +03:00
Finish 1.4.54
This commit is contained in:
commit
cc48fbe176
@ -62,7 +62,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc
|
|||||||
|
|
||||||
LIMEREPORT_VERSION_MAJOR = 1
|
LIMEREPORT_VERSION_MAJOR = 1
|
||||||
LIMEREPORT_VERSION_MINOR = 4
|
LIMEREPORT_VERSION_MINOR = 4
|
||||||
LIMEREPORT_VERSION_RELEASE = 52
|
LIMEREPORT_VERSION_RELEASE = 54
|
||||||
|
|
||||||
LIMEREPORT_VERSION = '\\"$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}\\"'
|
LIMEREPORT_VERSION = '\\"$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}\\"'
|
||||||
DEFINES += LIMEREPORT_VERSION_STR=\"$${LIMEREPORT_VERSION}\"
|
DEFINES += LIMEREPORT_VERSION_STR=\"$${LIMEREPORT_VERSION}\"
|
||||||
|
@ -777,50 +777,39 @@ bool TextItem::canBeSplitted(int height) const
|
|||||||
return height > m_firstLineSize;
|
return height > m_firstLineSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString TextItem::getTextPart(int height, int skipHeight){
|
QString TextItem::extractText(QTextBlock& curBlock, int height){
|
||||||
int linesHeight = 0;
|
|
||||||
int curLine = 0;
|
int curLine = 0;
|
||||||
// int textPos = 0;
|
int linesHeight = 0;
|
||||||
|
QString resultText;
|
||||||
|
for (;curBlock != curBlock.document()->end() || curLine<=curBlock.lineCount(); curBlock = curBlock.next(), curLine = 0, resultText += '\n' ){
|
||||||
|
linesHeight+=curBlock.blockFormat().topMargin();
|
||||||
|
for (;curLine < curBlock.layout()->lineCount(); curLine++){
|
||||||
|
linesHeight += curBlock.layout()->lineAt(curLine).height() + lineSpacing();
|
||||||
|
if (height > 0 && linesHeight > (height-borderLineSize() * 2)) {goto loop_exit;}
|
||||||
|
resultText += curBlock.text().mid(curBlock.layout()->lineAt(curLine).textStart(),
|
||||||
|
curBlock.layout()->lineAt(curLine).textLength());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
loop_exit: return resultText;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString TextItem::getTextPart(int height, int skipHeight){
|
||||||
|
|
||||||
|
QString resultText = "";
|
||||||
TextPtr text = textDocument();
|
TextPtr text = textDocument();
|
||||||
text->size().height();
|
text->size().height();
|
||||||
|
QTextBlock curBlock = text->begin();
|
||||||
QTextCursor cursor(text.data());
|
QTextCursor cursor(text.data());
|
||||||
cursor.movePosition(QTextCursor::Start);
|
cursor.movePosition(QTextCursor::Start);
|
||||||
QTextBlock curBlock = text->begin();
|
|
||||||
QString resultText = "";
|
|
||||||
|
|
||||||
if (skipHeight > 0){
|
if (skipHeight > 0){
|
||||||
for (;curBlock != text->end() || curLine<=curBlock.lineCount(); curBlock = curBlock.next(), curLine = 0){
|
resultText = extractText(curBlock, skipHeight);
|
||||||
linesHeight+=curBlock.blockFormat().topMargin();
|
cursor.movePosition(QTextCursor::Right, QTextCursor::MoveAnchor, resultText.length());
|
||||||
for (;curLine < curBlock.layout()->lineCount(); curLine++){
|
|
||||||
linesHeight += curBlock.layout()->lineAt(curLine).rect().height() + lineSpacing();
|
|
||||||
if (linesHeight > (skipHeight-(/*fakeMarginSize()*2+*/borderLineSize() * 2))) {goto loop_exit;}
|
|
||||||
cursor.movePosition(QTextCursor::Right, QTextCursor::MoveAnchor, curBlock.layout()->lineAt(curLine).textLength());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
loop_exit: cursor.movePosition(QTextCursor::EndOfLine, QTextCursor::MoveAnchor);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
linesHeight = 0;
|
resultText = extractText(curBlock, height);
|
||||||
|
cursor.movePosition(QTextCursor::Right, QTextCursor::KeepAnchor, resultText.length());
|
||||||
|
|
||||||
for (;curBlock != text->end() || curLine<curBlock.lineCount(); curBlock = curBlock.next(), curLine = 0, resultText += '\n')
|
|
||||||
{
|
|
||||||
linesHeight+=curBlock.blockFormat().topMargin();
|
|
||||||
for (; curLine < curBlock.layout()->lineCount(); curLine++){
|
|
||||||
// if (resultText == "") textPos = curBlock.layout()->lineAt(curLine).textStart();
|
|
||||||
linesHeight += curBlock.layout()->lineAt(curLine).height() + lineSpacing();
|
|
||||||
if ( (height>0) && (linesHeight>(height-(/*fakeMarginSize()*2+*/borderLineSize()*2))) ) {
|
|
||||||
linesHeight-=curBlock.layout()->lineAt(curLine).height();
|
|
||||||
goto loop_exit1;
|
|
||||||
}
|
|
||||||
// QString fragment = curBlock.text().mid(curBlock.layout()->lineAt(curLine).textStart(),
|
|
||||||
// curBlock.layout()->lineAt(curLine).textLength());
|
|
||||||
// resultText+=fragment;
|
|
||||||
cursor.movePosition(QTextCursor::Right, QTextCursor::KeepAnchor, curBlock.layout()->lineAt(curLine).textLength());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
loop_exit1:;
|
|
||||||
cursor.movePosition(QTextCursor::EndOfLine, QTextCursor::KeepAnchor);
|
|
||||||
if (allowHTML()){
|
if (allowHTML()){
|
||||||
resultText = cursor.selection().toHtml();
|
resultText = cursor.selection().toHtml();
|
||||||
resultText.remove("<!--StartFragment-->");
|
resultText.remove("<!--StartFragment-->");
|
||||||
@ -829,10 +818,7 @@ QString TextItem::getTextPart(int height, int skipHeight){
|
|||||||
resultText = cursor.selection().toPlainText();
|
resultText = cursor.selection().toPlainText();
|
||||||
}
|
}
|
||||||
|
|
||||||
// resultText.chop(1);
|
return resultText;
|
||||||
|
|
||||||
// QScopedPointer<HtmlContext> context(new HtmlContext(m_strText));
|
|
||||||
return resultText;//context->extendTextByTags(resultText,textPos);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextItem::restoreLinksEvent()
|
void TextItem::restoreLinksEvent()
|
||||||
|
@ -181,7 +181,7 @@ private:
|
|||||||
QString formatDateTime(const QDateTime &value);
|
QString formatDateTime(const QDateTime &value);
|
||||||
QString formatNumber(const double value);
|
QString formatNumber(const double value);
|
||||||
QString formatFieldValue();
|
QString formatFieldValue();
|
||||||
|
QString extractText(QTextBlock& curBlock, int height);
|
||||||
TextPtr textDocument() const;
|
TextPtr textDocument() const;
|
||||||
private:
|
private:
|
||||||
QString m_strText;
|
QString m_strText;
|
||||||
@ -208,6 +208,7 @@ private:
|
|||||||
TextItem* m_follower;
|
TextItem* m_follower;
|
||||||
qreal m_textIndent;
|
qreal m_textIndent;
|
||||||
Qt::LayoutDirection m_textLayoutDirection;
|
Qt::LayoutDirection m_textLayoutDirection;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user