QtGui: Disambiguate static variables in markdown code

It causes clashes in CMake Unity (Jumbo) builds.

Task-number: QTBUG-109394
Initial-patch-by: Amir Masoud Abdol <amir.abdol@qt.io>
Change-Id: I7d8c7a15dd8d3b7198b5ac1924a0f2bcf4415e06
Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 960430556c7814b003e7c1f03a78d6221dde4f98)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Friedemann Kleint 2023-01-23 11:33:41 +01:00 committed by Qt Cherry-pick Bot
parent 51d6782cc9
commit 89023ded0b
2 changed files with 73 additions and 69 deletions

View File

@ -24,11 +24,12 @@ using namespace Qt::StringLiterals;
Q_LOGGING_CATEGORY(lcMD, "qt.text.markdown") Q_LOGGING_CATEGORY(lcMD, "qt.text.markdown")
static const QChar Newline = u'\n'; static const QChar qtmi_Newline = u'\n';
static const QChar Space = u' '; static const QChar qtmi_Space = u' ';
// TODO maybe eliminate the margins after all views recognize BlockQuoteLevel, CSS can format it, etc. // TODO maybe eliminate the margins after all views recognize BlockQuoteLevel, CSS can format it, etc.
static const int BlockQuoteIndent = 40; // pixels, same as in QTextHtmlParserNode::initializeProperties static const int qtmi_BlockQuoteIndent =
40; // pixels, same as in QTextHtmlParserNode::initializeProperties
static_assert(int(QTextMarkdownImporter::FeatureCollapseWhitespace) == MD_FLAG_COLLAPSEWHITESPACE); static_assert(int(QTextMarkdownImporter::FeatureCollapseWhitespace) == MD_FLAG_COLLAPSEWHITESPACE);
static_assert(int(QTextMarkdownImporter::FeaturePermissiveATXHeaders) == MD_FLAG_PERMISSIVEATXHEADERS); static_assert(int(QTextMarkdownImporter::FeaturePermissiveATXHeaders) == MD_FLAG_PERMISSIVEATXHEADERS);
@ -447,10 +448,10 @@ int QTextMarkdownImporter::cbText(int textType, const char *text, unsigned size)
s = QString(QChar(u'\xFFFD')); // CommonMark-required replacement for null s = QString(QChar(u'\xFFFD')); // CommonMark-required replacement for null
break; break;
case MD_TEXT_BR: case MD_TEXT_BR:
s = QString(Newline); s = QString(qtmi_Newline);
break; break;
case MD_TEXT_SOFTBR: case MD_TEXT_SOFTBR:
s = QString(Space); s = QString(qtmi_Space);
break; break;
case MD_TEXT_CODE: case MD_TEXT_CODE:
// We'll see MD_SPAN_CODE too, which will set the char format, and that's enough. // We'll see MD_SPAN_CODE too, which will set the char format, and that's enough.
@ -499,7 +500,7 @@ int QTextMarkdownImporter::cbText(int textType, const char *text, unsigned size)
m_nonEmptyTableCells.append(m_tableCol); m_nonEmptyTableCells.append(m_tableCol);
break; break;
case MD_BLOCK_CODE: case MD_BLOCK_CODE:
if (s == Newline) { if (s == qtmi_Newline) {
// defer a blank line until we see something else in the code block, // defer a blank line until we see something else in the code block,
// to avoid ending every code block with a gratuitous blank line // to avoid ending every code block with a gratuitous blank line
m_needsInsertBlock = true; m_needsInsertBlock = true;
@ -572,8 +573,8 @@ void QTextMarkdownImporter::insertBlock()
} }
if (m_blockQuoteDepth) { if (m_blockQuoteDepth) {
blockFormat.setProperty(QTextFormat::BlockQuoteLevel, m_blockQuoteDepth); blockFormat.setProperty(QTextFormat::BlockQuoteLevel, m_blockQuoteDepth);
blockFormat.setLeftMargin(BlockQuoteIndent * m_blockQuoteDepth); blockFormat.setLeftMargin(qtmi_BlockQuoteIndent * m_blockQuoteDepth);
blockFormat.setRightMargin(BlockQuoteIndent); blockFormat.setRightMargin(qtmi_BlockQuoteIndent);
} }
if (m_codeBlock) { if (m_codeBlock) {
blockFormat.setProperty(QTextFormat::BlockCodeLanguage, m_blockCodeLanguage); blockFormat.setProperty(QTextFormat::BlockCodeLanguage, m_blockCodeLanguage);

View File

@ -21,15 +21,15 @@ using namespace Qt::StringLiterals;
Q_LOGGING_CATEGORY(lcMDW, "qt.text.markdown.writer") Q_LOGGING_CATEGORY(lcMDW, "qt.text.markdown.writer")
static const QChar Space = u' '; static const QChar qtmw_Space = u' ';
static const QChar Tab = u'\t'; static const QChar qtmw_Tab = u'\t';
static const QChar Newline = u'\n'; static const QChar qtmw_Newline = u'\n';
static const QChar CarriageReturn = u'\r'; static const QChar qtmw_CarriageReturn = u'\r';
static const QChar LineBreak = u'\x2028'; static const QChar qtmw_LineBreak = u'\x2028';
static const QChar DoubleQuote = u'"'; static const QChar qtmw_DoubleQuote = u'"';
static const QChar Backtick = u'`'; static const QChar qtmw_Backtick = u'`';
static const QChar Backslash = u'\\'; static const QChar qtmw_Backslash = u'\\';
static const QChar Period = u'.'; static const QChar qtmw_Period = u'.';
QTextMarkdownWriter::QTextMarkdownWriter(QTextStream &stream, QTextDocument::MarkdownFeatures features) QTextMarkdownWriter::QTextMarkdownWriter(QTextStream &stream, QTextDocument::MarkdownFeatures features)
: m_stream(stream), m_features(features) : m_stream(stream), m_features(features)
@ -57,7 +57,7 @@ void QTextMarkdownWriter::writeTable(const QAbstractItemModel *table)
// write the header and separator // write the header and separator
for (int col = 0; col < table->columnCount(); ++col) { for (int col = 0; col < table->columnCount(); ++col) {
QString s = table->headerData(col, Qt::Horizontal).toString(); QString s = table->headerData(col, Qt::Horizontal).toString();
m_stream << "|" << s << QString(tableColumnWidths[col] - s.size(), Space); m_stream << '|' << s << QString(tableColumnWidths[col] - s.size(), qtmw_Space);
} }
m_stream << "|" << Qt::endl; m_stream << "|" << Qt::endl;
for (int col = 0; col < tableColumnWidths.size(); ++col) for (int col = 0; col < tableColumnWidths.size(); ++col)
@ -68,7 +68,7 @@ void QTextMarkdownWriter::writeTable(const QAbstractItemModel *table)
for (int row = 0; row < table->rowCount(); ++row) { for (int row = 0; row < table->rowCount(); ++row) {
for (int col = 0; col < table->columnCount(); ++col) { for (int col = 0; col < table->columnCount(); ++col) {
QString s = table->data(table->index(row, col)).toString(); QString s = table->data(table->index(row, col)).toString();
m_stream << "|" << s << QString(tableColumnWidths[col] - s.size(), Space); m_stream << '|' << s << QString(tableColumnWidths[col] - s.size(), qtmw_Space);
} }
m_stream << '|'<< Qt::endl; m_stream << '|'<< Qt::endl;
} }
@ -130,17 +130,17 @@ void QTextMarkdownWriter::writeFrame(const QTextFrame *frame)
QTextTableCell cell = table->cellAt(block.position()); QTextTableCell cell = table->cellAt(block.position());
if (tableRow < cell.row()) { if (tableRow < cell.row()) {
if (tableRow == 0) { if (tableRow == 0) {
m_stream << Newline; m_stream << qtmw_Newline;
for (int col = 0; col < tableColumnWidths.size(); ++col) for (int col = 0; col < tableColumnWidths.size(); ++col)
m_stream << '|' << QString(tableColumnWidths[col], u'-'); m_stream << '|' << QString(tableColumnWidths[col], u'-');
m_stream << '|'; m_stream << '|';
} }
m_stream << Newline << "|"; m_stream << qtmw_Newline << '|';
tableRow = cell.row(); tableRow = cell.row();
} }
} else if (!block.textList()) { } else if (!block.textList()) {
if (lastWasList) if (lastWasList)
m_stream << Newline; m_stream << qtmw_Newline;
} }
int endingCol = writeBlock(block, !table, table && tableRow == 0, int endingCol = writeBlock(block, !table, table && tableRow == 0,
nextIsDifferent && !block.textList()); nextIsDifferent && !block.textList());
@ -152,20 +152,20 @@ void QTextMarkdownWriter::writeFrame(const QTextFrame *frame)
for (int col = cell.column(); col < spanEndCol; ++col) for (int col = cell.column(); col < spanEndCol; ++col)
paddingLen += tableColumnWidths[col]; paddingLen += tableColumnWidths[col];
if (paddingLen > 0) if (paddingLen > 0)
m_stream << QString(paddingLen, Space); m_stream << QString(paddingLen, qtmw_Space);
for (int col = cell.column(); col < spanEndCol; ++col) for (int col = cell.column(); col < spanEndCol; ++col)
m_stream << "|"; m_stream << "|";
} else if (m_fencedCodeBlock && ending) { } else if (m_fencedCodeBlock && ending) {
m_stream << Newline << m_linePrefix << QString(m_wrappedLineIndent, Space) m_stream << qtmw_Newline << m_linePrefix << QString(m_wrappedLineIndent, qtmw_Space)
<< m_codeBlockFence << Newline << Newline; << m_codeBlockFence << qtmw_Newline << qtmw_Newline;
m_codeBlockFence.clear(); m_codeBlockFence.clear();
} else if (m_indentedCodeBlock && nextIsDifferent) { } else if (m_indentedCodeBlock && nextIsDifferent) {
m_stream << Newline << Newline; m_stream << qtmw_Newline << qtmw_Newline;
} else if (endingCol > 0) { } else if (endingCol > 0) {
if (block.textList() || block.blockFormat().hasProperty(QTextFormat::BlockCodeLanguage)) { if (block.textList() || block.blockFormat().hasProperty(QTextFormat::BlockCodeLanguage)) {
m_stream << Newline; m_stream << qtmw_Newline;
} else { } else {
m_stream << Newline << Newline; m_stream << qtmw_Newline << qtmw_Newline;
m_doubleNewlineWritten = true; m_doubleNewlineWritten = true;
} }
} }
@ -175,7 +175,7 @@ void QTextMarkdownWriter::writeFrame(const QTextFrame *frame)
++iterator; ++iterator;
} }
if (table) { if (table) {
m_stream << Newline << Newline; m_stream << qtmw_Newline << qtmw_Newline;
m_doubleNewlineWritten = true; m_doubleNewlineWritten = true;
} }
m_listInfo.clear(); m_listInfo.clear();
@ -218,11 +218,11 @@ static int nearestWordWrapIndex(const QString &s, int before)
if (lcMDW().isDebugEnabled()) { if (lcMDW().isDebugEnabled()) {
QString frag = s.mid(fragBegin, 30); QString frag = s.mid(fragBegin, 30);
qCDebug(lcMDW) << frag << before; qCDebug(lcMDW) << frag << before;
qCDebug(lcMDW) << QString(before - fragBegin, Period) + u'<'; qCDebug(lcMDW) << QString(before - fragBegin, qtmw_Period) + u'<';
} }
for (int i = before - 1; i >= 0; --i) { for (int i = before - 1; i >= 0; --i) {
if (s.at(i).isSpace()) { if (s.at(i).isSpace()) {
qCDebug(lcMDW) << QString(i - fragBegin, Period) + u'^' << i; qCDebug(lcMDW) << QString(i - fragBegin, qtmw_Period) + u'^' << i;
return i; return i;
} }
} }
@ -235,7 +235,7 @@ static int adjacentBackticksCount(const QString &s)
int start = -1, len = s.size(); int start = -1, len = s.size();
int ret = 0; int ret = 0;
for (int i = 0; i < len; ++i) { for (int i = 0; i < len; ++i) {
if (s.at(i) == Backtick) { if (s.at(i) == qtmw_Backtick) {
if (start < 0) if (start < 0)
start = i; start = i;
} else if (start >= 0) { } else if (start >= 0) {
@ -243,7 +243,7 @@ static int adjacentBackticksCount(const QString &s)
start = -1; start = -1;
} }
} }
if (s.at(len - 1) == Backtick) if (s.at(len - 1) == qtmw_Backtick)
ret = qMax(ret, len - start); ret = qMax(ret, len - start);
return ret; return ret;
} }
@ -270,14 +270,14 @@ static LineEndPositions findLineEnd(const QChar *begin, const QChar *end)
LineEndPositions result{ end, end }; LineEndPositions result{ end, end };
while (begin < end) { while (begin < end) {
if (*begin == Newline) { if (*begin == qtmw_Newline) {
result.lineEnd = begin; result.lineEnd = begin;
result.nextLineBegin = begin + 1; result.nextLineBegin = begin + 1;
break; break;
} else if (*begin == CarriageReturn) { } else if (*begin == qtmw_CarriageReturn) {
result.lineEnd = begin; result.lineEnd = begin;
result.nextLineBegin = begin + 1; result.nextLineBegin = begin + 1;
if (((begin + 1) < end) && begin[1] == Newline) if (((begin + 1) < end) && begin[1] == qtmw_Newline)
++result.nextLineBegin; ++result.nextLineBegin;
break; break;
} }
@ -291,7 +291,7 @@ static LineEndPositions findLineEnd(const QChar *begin, const QChar *end)
static bool isBlankLine(const QChar *begin, const QChar *end) static bool isBlankLine(const QChar *begin, const QChar *end)
{ {
while (begin < end) { while (begin < end) {
if (*begin != Space && *begin != Tab) if (*begin != qtmw_Space && *begin != qtmw_Tab)
return false; return false;
++begin; ++begin;
} }
@ -302,7 +302,7 @@ static QString createLinkTitle(const QString &title)
{ {
QString result; QString result;
result.reserve(title.size() + 2); result.reserve(title.size() + 2);
result += DoubleQuote; result += qtmw_DoubleQuote;
const QChar *data = title.data(); const QChar *data = title.data();
const QChar *end = data + title.size(); const QChar *end = data + title.size();
@ -312,8 +312,8 @@ static QString createLinkTitle(const QString &title)
if (!isBlankLine(data, lineEndPositions.lineEnd)) { if (!isBlankLine(data, lineEndPositions.lineEnd)) {
while (data < lineEndPositions.nextLineBegin) { while (data < lineEndPositions.nextLineBegin) {
if (*data == DoubleQuote) if (*data == qtmw_DoubleQuote)
result += Backslash; result += qtmw_Backslash;
result += *data; result += *data;
++data; ++data;
} }
@ -322,7 +322,7 @@ static QString createLinkTitle(const QString &title)
data = lineEndPositions.nextLineBegin; data = lineEndPositions.nextLineBegin;
} }
result += DoubleQuote; result += qtmw_DoubleQuote;
return result; return result;
} }
@ -337,7 +337,7 @@ int QTextMarkdownWriter::writeBlock(const QTextBlock &block, bool wrap, bool ign
blockFmt.stringProperty(QTextFormat::BlockCodeLanguage).size() > 0 || blockFmt.stringProperty(QTextFormat::BlockCodeLanguage).size() > 0 ||
blockFmt.nonBreakableLines(); blockFmt.nonBreakableLines();
if (m_fencedCodeBlock && !codeBlock) { if (m_fencedCodeBlock && !codeBlock) {
m_stream << m_linePrefix << m_codeBlockFence << Newline; m_stream << m_linePrefix << m_codeBlockFence << qtmw_Newline;
m_fencedCodeBlock = false; m_fencedCodeBlock = false;
m_codeBlockFence.clear(); m_codeBlockFence.clear();
} }
@ -383,19 +383,19 @@ int QTextMarkdownWriter::writeBlock(const QTextBlock &block, bool wrap, bool ign
int indentFirstLine = (listLevel - 1) * (numeric ? 4 : 2); int indentFirstLine = (listLevel - 1) * (numeric ? 4 : 2);
m_wrappedLineIndent += indentFirstLine; m_wrappedLineIndent += indentFirstLine;
if (m_lastListIndent != listLevel && !m_doubleNewlineWritten && listInfo(block.textList()).loose) if (m_lastListIndent != listLevel && !m_doubleNewlineWritten && listInfo(block.textList()).loose)
m_stream << Newline; m_stream << qtmw_Newline;
m_lastListIndent = listLevel; m_lastListIndent = listLevel;
QString prefix(indentFirstLine, Space); QString prefix(indentFirstLine, qtmw_Space);
if (numeric) { if (numeric) {
QString suffix = fmt.numberSuffix(); QString suffix = fmt.numberSuffix();
if (suffix.isEmpty()) if (suffix.isEmpty())
suffix = QString(Period); suffix = QString(qtmw_Period);
QString numberStr = QString::number(number) + suffix + Space; QString numberStr = QString::number(number) + suffix + qtmw_Space;
if (numberStr.size() == 3) if (numberStr.size() == 3)
numberStr += Space; numberStr += qtmw_Space;
prefix += numberStr; prefix += numberStr;
} else { } else {
prefix += QLatin1StringView(bullet) + Space; prefix += QLatin1StringView(bullet) + qtmw_Space;
} }
m_stream << prefix; m_stream << prefix;
} else if (blockFmt.hasProperty(QTextFormat::BlockTrailingHorizontalRulerWidth)) { } else if (blockFmt.hasProperty(QTextFormat::BlockTrailingHorizontalRulerWidth)) {
@ -412,10 +412,10 @@ int QTextMarkdownWriter::writeBlock(const QTextBlock &block, bool wrap, bool ign
fenceChar = "`"_L1; fenceChar = "`"_L1;
m_codeBlockFence = QString(3, fenceChar.at(0)); m_codeBlockFence = QString(3, fenceChar.at(0));
if (blockFmt.hasProperty(QTextFormat::BlockIndent)) if (blockFmt.hasProperty(QTextFormat::BlockIndent))
m_codeBlockFence = QString(m_wrappedLineIndent, Space) + m_codeBlockFence; m_codeBlockFence = QString(m_wrappedLineIndent, qtmw_Space) + m_codeBlockFence;
// A block quote can contain an indented code block, but not vice-versa. // A block quote can contain an indented code block, but not vice-versa.
m_stream << m_linePrefix << m_codeBlockFence m_stream << m_linePrefix << m_codeBlockFence
<< blockFmt.stringProperty(QTextFormat::BlockCodeLanguage) << Newline; << blockFmt.stringProperty(QTextFormat::BlockCodeLanguage) << qtmw_Newline;
m_fencedCodeBlock = true; m_fencedCodeBlock = true;
} }
wrap = false; wrap = false;
@ -431,7 +431,7 @@ int QTextMarkdownWriter::writeBlock(const QTextBlock &block, bool wrap, bool ign
} }
if (blockFmt.hasProperty(QTextFormat::BlockCodeLanguage)) { if (blockFmt.hasProperty(QTextFormat::BlockCodeLanguage)) {
// A block quote can contain an indented code block, but not vice-versa. // A block quote can contain an indented code block, but not vice-versa.
m_linePrefix += QString(4, Space); m_linePrefix += QString(4, qtmw_Space);
m_indentedCodeBlock = true; m_indentedCodeBlock = true;
} }
} }
@ -440,7 +440,7 @@ int QTextMarkdownWriter::writeBlock(const QTextBlock &block, bool wrap, bool ign
else else
m_stream << m_linePrefix; m_stream << m_linePrefix;
QString wrapIndentString = m_linePrefix + QString(m_wrappedLineIndent, Space); QString wrapIndentString = m_linePrefix + QString(m_wrappedLineIndent, qtmw_Space);
// It would be convenient if QTextStream had a lineCharPos() accessor, // It would be convenient if QTextStream had a lineCharPos() accessor,
// to keep track of how many characters (not bytes) have been written on the current line, // to keep track of how many characters (not bytes) have been written on the current line,
// but it doesn't. So we have to keep track with this col variable. // but it doesn't. So we have to keep track with this col variable.
@ -451,21 +451,23 @@ int QTextMarkdownWriter::writeBlock(const QTextBlock &block, bool wrap, bool ign
bool italic = false; bool italic = false;
bool underline = false; bool underline = false;
bool strikeOut = false; bool strikeOut = false;
QString backticks(Backtick); QString backticks(qtmw_Backtick);
for (QTextBlock::Iterator frag = block.begin(); !frag.atEnd(); ++frag) { for (QTextBlock::Iterator frag = block.begin(); !frag.atEnd(); ++frag) {
missedBlankCodeBlockLine = false; missedBlankCodeBlockLine = false;
QString fragmentText = frag.fragment().text(); QString fragmentText = frag.fragment().text();
while (fragmentText.endsWith(Newline)) while (fragmentText.endsWith(qtmw_Newline))
fragmentText.chop(1); fragmentText.chop(1);
if (block.textList()) { // <li>first line</br>continuation</li> if (block.textList()) { // <li>first line</br>continuation</li>
QString newlineIndent = QString(Newline) + QString(m_wrappedLineIndent, Space); QString newlineIndent =
fragmentText.replace(QString(LineBreak), newlineIndent); QString(qtmw_Newline) + QString(m_wrappedLineIndent, qtmw_Space);
fragmentText.replace(QString(qtmw_LineBreak), newlineIndent);
} else if (blockFmt.indent() > 0) { // <li>first line<p>continuation</p></li> } else if (blockFmt.indent() > 0) { // <li>first line<p>continuation</p></li>
m_stream << QString(m_wrappedLineIndent, Space); m_stream << QString(m_wrappedLineIndent, qtmw_Space);
} else { } else {
fragmentText.replace(LineBreak, Newline); fragmentText.replace(qtmw_LineBreak, qtmw_Newline);
} }
startsOrEndsWithBacktick |= fragmentText.startsWith(Backtick) || fragmentText.endsWith(Backtick); startsOrEndsWithBacktick |=
fragmentText.startsWith(qtmw_Backtick) || fragmentText.endsWith(qtmw_Backtick);
QTextCharFormat fmt = frag.fragment().charFormat(); QTextCharFormat fmt = frag.fragment().charFormat();
if (fmt.isImageFormat()) { if (fmt.isImageFormat()) {
QTextImageFormat ifmt = fmt.toImageFormat(); QTextImageFormat ifmt = fmt.toImageFormat();
@ -475,10 +477,10 @@ int QTextMarkdownWriter::writeBlock(const QTextBlock &block, bool wrap, bool ign
QString s = "!["_L1 + desc + "]("_L1 + ifmt.name(); QString s = "!["_L1 + desc + "]("_L1 + ifmt.name();
QString title = ifmt.stringProperty(QTextFormat::ImageTitle); QString title = ifmt.stringProperty(QTextFormat::ImageTitle);
if (!title.isEmpty()) if (!title.isEmpty())
s += Space + DoubleQuote + title + DoubleQuote; s += qtmw_Space + qtmw_DoubleQuote + title + qtmw_DoubleQuote;
s += u')'; s += u')';
if (wrap && col + s.size() > ColumnLimit) { if (wrap && col + s.size() > ColumnLimit) {
m_stream << Newline << wrapIndentString; m_stream << qtmw_Newline << wrapIndentString;
col = m_wrappedLineIndent; col = m_wrappedLineIndent;
} }
m_stream << s; m_stream << s;
@ -492,13 +494,13 @@ int QTextMarkdownWriter::writeBlock(const QTextBlock &block, bool wrap, bool ign
} else { } else {
s = u'[' + fragmentText + "]("_L1 + href; s = u'[' + fragmentText + "]("_L1 + href;
if (hasToolTip) { if (hasToolTip) {
s += Space; s += qtmw_Space;
s += createLinkTitle(fmt.property(QTextFormat::TextToolTip).toString()); s += createLinkTitle(fmt.property(QTextFormat::TextToolTip).toString());
} }
s += u')'; s += u')';
} }
if (wrap && col + s.size() > ColumnLimit) { if (wrap && col + s.size() > ColumnLimit) {
m_stream << Newline << wrapIndentString; m_stream << qtmw_Newline << wrapIndentString;
col = m_wrappedLineIndent; col = m_wrappedLineIndent;
} }
m_stream << s; m_stream << s;
@ -510,10 +512,11 @@ int QTextMarkdownWriter::writeBlock(const QTextBlock &block, bool wrap, bool ign
if (!ignoreFormat) { if (!ignoreFormat) {
if (monoFrag != mono && !m_indentedCodeBlock && !m_fencedCodeBlock) { if (monoFrag != mono && !m_indentedCodeBlock && !m_fencedCodeBlock) {
if (monoFrag) if (monoFrag)
backticks = QString(adjacentBackticksCount(fragmentText) + 1, Backtick); backticks =
QString(adjacentBackticksCount(fragmentText) + 1, qtmw_Backtick);
markers += backticks; markers += backticks;
if (startsOrEndsWithBacktick) if (startsOrEndsWithBacktick)
markers += Space; markers += qtmw_Space;
mono = monoFrag; mono = monoFrag;
} }
if (!blockFmt.headingLevel() && !mono) { if (!blockFmt.headingLevel() && !mono) {
@ -544,7 +547,7 @@ int QTextMarkdownWriter::writeBlock(const QTextBlock &block, bool wrap, bool ign
bool breakingLine = false; bool breakingLine = false;
while (i < fragLen) { while (i < fragLen) {
if (col >= ColumnLimit) { if (col >= ColumnLimit) {
m_stream << Newline << wrapIndentString; m_stream << qtmw_Newline << wrapIndentString;
col = m_wrappedLineIndent; col = m_wrappedLineIndent;
while (i < fragLen && fragmentText[i].isSpace()) while (i < fragLen && fragmentText[i].isSpace())
++i; ++i;
@ -571,7 +574,7 @@ int QTextMarkdownWriter::writeBlock(const QTextBlock &block, bool wrap, bool ign
maybeEscapeFirstChar(subfrag); maybeEscapeFirstChar(subfrag);
m_stream << subfrag; m_stream << subfrag;
if (breakingLine) { if (breakingLine) {
m_stream << Newline << wrapIndentString; m_stream << qtmw_Newline << wrapIndentString;
col = m_wrappedLineIndent; col = m_wrappedLineIndent;
} else { } else {
col += subfrag.size(); col += subfrag.size();
@ -586,7 +589,7 @@ int QTextMarkdownWriter::writeBlock(const QTextBlock &block, bool wrap, bool ign
} }
if (mono) { if (mono) {
if (startsOrEndsWithBacktick) { if (startsOrEndsWithBacktick) {
m_stream << Space; m_stream << qtmw_Space;
col += 1; col += 1;
} }
m_stream << backticks; m_stream << backticks;
@ -609,7 +612,7 @@ int QTextMarkdownWriter::writeBlock(const QTextBlock &block, bool wrap, bool ign
col += 2; col += 2;
} }
if (missedBlankCodeBlockLine) if (missedBlankCodeBlockLine)
m_stream << Newline; m_stream << qtmw_Newline;
return col; return col;
} }