mirror of
https://github.com/fralx/LimeReport.git
synced 2025-09-23 08:29:07 +03:00
TOC generation has been changed
This commit is contained in:
@@ -339,7 +339,7 @@ void TextItem::updateLayout()
|
||||
bool TextItem::isNeedExpandContent() const
|
||||
{
|
||||
QRegExp rx("$*\\{[^{]*\\}");
|
||||
return content().contains(rx);
|
||||
return content().contains(rx) || isContentBackedUp();
|
||||
}
|
||||
|
||||
QString TextItem::replaceBR(QString text)
|
||||
@@ -733,23 +733,35 @@ void TextItem::setAlignment(Qt::Alignment value)
|
||||
void TextItem::expandContent(DataSourceManager* dataManager, RenderPass pass)
|
||||
{
|
||||
QString context=content();
|
||||
ExpandType expandType = (allowHTML() && !allowHTMLInFields())?ReplaceHTMLSymbols:NoEscapeSymbols;
|
||||
foreach (QString variableName, dataManager->variableNamesByRenderPass(SecondPass)) {
|
||||
QRegExp rx(QString(Const::NAMED_VARIABLE_RX).arg(variableName));
|
||||
if (context.contains(rx) && pass == FirstPass){
|
||||
backupContent();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
ExpandType expandType = (allowHTML() && !allowHTMLInFields()) ? ReplaceHTMLSymbols : NoEscapeSymbols;
|
||||
switch(pass){
|
||||
case FirstPass:
|
||||
if (!fillInSecondPass()){
|
||||
context=expandUserVariables(context, pass, expandType, dataManager);
|
||||
context=expandScripts(context, dataManager);
|
||||
context=expandDataFields(context, expandType, dataManager);
|
||||
} else {
|
||||
context=expandDataFields(context, expandType, dataManager);
|
||||
}
|
||||
break;
|
||||
case SecondPass:;
|
||||
case SecondPass:
|
||||
if (isContentBackedUp()) {
|
||||
restoreContent();
|
||||
context = content();
|
||||
}
|
||||
context=expandUserVariables(context, pass, expandType, dataManager);
|
||||
context=expandScripts(context, dataManager);
|
||||
if (fillInSecondPass())
|
||||
context=expandDataFields(context, expandType, dataManager);
|
||||
}
|
||||
|
||||
if (expandType == NoEscapeSymbols && !m_varValue.isNull() &&m_valueType!=Default) {
|
||||
if (expandType == NoEscapeSymbols && !m_varValue.isNull() &&m_valueType != Default) {
|
||||
setContent(formatFieldValue());
|
||||
} else {
|
||||
setContent(context);
|
||||
|
@@ -71,6 +71,7 @@ class TextItem : public LimeReport::ContentItemDesignIntf, IPageInit {
|
||||
Q_PROPERTY(BrushStyle backgroundBrushStyle READ backgroundBrushStyle WRITE setBackgroundBrushStyle)
|
||||
Q_PROPERTY(qreal textIndent READ textIndent WRITE setTextIndent)
|
||||
Q_PROPERTY(Qt::LayoutDirection textLayoutDirection READ textLayoutDirection WRITE setTextLayoutDirection)
|
||||
Q_PROPERTY(bool fillInSecondPass READ fillInSecondPass WRITE setFillInSecondPass)
|
||||
public:
|
||||
|
||||
enum AutoWidth{NoneAutoWidth,MaxWordLength,MaxStringLength};
|
||||
|
Reference in New Issue
Block a user