diff options
author | Andy Shaw <andy.shaw@qt.io> | 2017-08-15 13:16:16 +0200 |
---|---|---|
committer | Andy Shaw <andy.shaw@qt.io> | 2018-03-16 07:10:24 +0000 |
commit | ca58c627272b9b49786bfcc44e3b70ca7712a8f2 (patch) | |
tree | 2bcb64311f6f6f9f5911a6646318fdec2d5eb58a /src/gui/text/qtextlayout.cpp | |
parent | f816f2e3c9dc7735eff35175c05a50446d389935 (diff) |
Show nbsps as a degree symbol to differeniate from normal spaces
When using QTextOption::ShowTabsAndSpaces then spaces and nbsps
would appear the same. So since using the degree symbol to
illustrate nbsps is an accepted standard, we use that and spaces
are illustrated as before.
[ChangeLog][QtGui] Display non-breaking spaces as a degree symbol
when QTextOption::ShowTabsAndSpaces is used.
Task-number: QTBUG-57479
Change-Id: I20c72c9e1640457c034b87587a8975cb73228803
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Diffstat (limited to 'src/gui/text/qtextlayout.cpp')
-rw-r--r-- | src/gui/text/qtextlayout.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp index cd1990dfb9..860d1e8c7c 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp @@ -2610,12 +2610,13 @@ void QTextLine::draw(QPainter *p, const QPointF &pos, const QTextLayout::FormatR QPainterPrivate::get(p)->drawTextItem(pos, gf, eng); } - if (si.analysis.flags == QScriptAnalysis::Space + if ((si.analysis.flags == QScriptAnalysis::Space + || si.analysis.flags == QScriptAnalysis::Nbsp) && (eng->option.flags() & QTextOption::ShowTabsAndSpaces)) { QBrush c = format.foreground(); if (c.style() != Qt::NoBrush) p->setPen(c.color()); - QChar visualSpace((ushort)0xb7); + QChar visualSpace(si.analysis.flags == QScriptAnalysis::Space ? (ushort)0xb7 : (ushort)0xb0); p->drawText(QPointF(iterator.x.toReal(), itemBaseLine.toReal()), visualSpace); p->setPen(pen); } |