From 53180c430fb27fb1f5e901000856350bcf6d2723 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Tue, 29 Mar 2016 18:33:35 +0200 Subject: [PATCH] Add flag for showing document terminator in text In 208496091d994c2ffe44ea41368fb659978c1581, the behavior of QTextOption::ShowLineAndParagraphSeparators was changed to also include a section symbol at the end of the document. This was an unnecessary behavioral change. Instead we add a separate flag for this marker. [ChangeLog][QtGui][Text] Added QTextOption::ShowDocumentTerminator flag. Task-number: QTBUG-52048 Change-Id: I2f6f7e5c9c894f46525682f2c6520a7003fa09bc Reviewed-by: Oswald Buddenhagen Reviewed-by: Simon Hausmann --- src/gui/text/qtextengine.cpp | 8 ++++++-- src/gui/text/qtextoption.cpp | 2 ++ src/gui/text/qtextoption.h | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index fa73507c16..7864975091 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -1569,8 +1569,12 @@ void QTextEngine::validate() const layoutData = new LayoutData(); if (block.docHandle()) { layoutData->string = block.text(); - if (option.flags() & QTextOption::ShowLineAndParagraphSeparators) - layoutData->string += QLatin1Char(block.next().isValid() ? 0xb6 : 0xA7); + if (block.next().isValid()) { + if (option.flags() & QTextOption::ShowLineAndParagraphSeparators) + layoutData->string += QChar(0xb6); + } else if (option.flags() & QTextOption::ShowDocumentTerminator) { + layoutData->string += QChar(0xA7); + } } else { layoutData->string = text; } diff --git a/src/gui/text/qtextoption.cpp b/src/gui/text/qtextoption.cpp index 2eb025f412..87e31eeb2c 100644 --- a/src/gui/text/qtextoption.cpp +++ b/src/gui/text/qtextoption.cpp @@ -309,6 +309,8 @@ QList QTextOption::tabs() const this width is excluded. \value ShowTabsAndSpaces Visualize spaces with little dots, and tabs with little arrows. \value ShowLineAndParagraphSeparators Visualize line and paragraph separators with appropriate symbol characters. + \value ShowDocumentTerminator Visualize the end of the document with a section sign. This enum value was added + in Qt 5.7. \value AddSpaceForLineAndParagraphSeparators While determining the line-break positions take into account the space added for drawing a separator character. \value SuppressColors Suppress all color changes in the character formats (except the main selection). diff --git a/src/gui/text/qtextoption.h b/src/gui/text/qtextoption.h index 2ae0ec3d4c..f9c24ffeaf 100644 --- a/src/gui/text/qtextoption.h +++ b/src/gui/text/qtextoption.h @@ -109,6 +109,7 @@ public: ShowLineAndParagraphSeparators = 0x2, AddSpaceForLineAndParagraphSeparators = 0x4, SuppressColors = 0x8, + ShowDocumentTerminator = 0x10, IncludeTrailingSpaces = 0x80000000 }; Q_DECLARE_FLAGS(Flags, Flag)