From 539ef45689e0d038b6cd83d772597a5be886d8ff Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Mon, 8 Oct 2012 16:51:41 +0300 Subject: Update/fix QTextBoundaryFinder simple usage cases in qtbase Change-Id: I4d3000558bce86e2de3c32247915868ba18fc8b7 Reviewed-by: Konstantin Ritt Reviewed-by: Lars Knoll --- src/gui/text/qtextengine.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'src/gui') diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index 8527a85369..cff1487278 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -157,27 +157,27 @@ private: m_splitter->setPosition(start); QScriptAnalysis itemAnalysis = m_analysis[start]; - if (m_splitter->boundaryReasons() & QTextBoundaryFinder::StartWord) { + if (m_splitter->boundaryReasons() & QTextBoundaryFinder::StartOfItem) itemAnalysis.flags = QScriptAnalysis::Uppercase; - m_splitter->toNextBoundary(); - } + + m_splitter->toNextBoundary(); const int end = start + length; for (int i = start + 1; i < end; ++i) { - - bool atWordBoundary = false; + bool atWordStart = false; if (i == m_splitter->position()) { - if (m_splitter->boundaryReasons() & QTextBoundaryFinder::StartWord - && m_analysis[i].flags < QScriptAnalysis::TabOrObject) - atWordBoundary = true; + if (m_splitter->boundaryReasons() & QTextBoundaryFinder::StartOfItem) { + Q_ASSERT(m_analysis[i].flags < QScriptAnalysis::TabOrObject); + atWordStart = true; + } m_splitter->toNextBoundary(); } if (m_analysis[i] == itemAnalysis && m_analysis[i].flags < QScriptAnalysis::TabOrObject - && !atWordBoundary + && !atWordStart && i - start < MaxItemLength) continue; @@ -185,7 +185,7 @@ private: start = i; itemAnalysis = m_analysis[start]; - if (atWordBoundary) + if (atWordStart) itemAnalysis.flags = QScriptAnalysis::Uppercase; } m_items.append(QScriptItem(start, itemAnalysis)); -- cgit v1.2.3