Don't ignore default font's font capitalization in QTextDocument
authorEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Wed, 9 May 2012 13:06:25 +0000 (15:06 +0200)
committerQt by Nokia <qt-info@nokia.com>
Thu, 10 May 2012 00:39:30 +0000 (02:39 +0200)
The consequence of this was e.g. that it would be impossible to
set the capitalization of TextEdit elements (or Text elements
with RichText format) in QML.

Change-Id: Ie219fac7e4305efc59a4ac9da5b06c25ff3ac9ac
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
src/gui/text/qtextengine.cpp

index 41bc249..20f85d0 100644 (file)
@@ -1399,12 +1399,14 @@ void QTextEngine::itemize() const
                     s = 0;
                 }
                 Q_ASSERT(position <= length);
-                itemizer.generate(prevPosition, position - prevPosition,
-                    formats()->charFormat(format).fontCapitalization());
+                QFont::Capitalization capitalization =
+                        formats()->charFormat(format).hasProperty(QTextFormat::FontCapitalization)
+                        ? formats()->charFormat(format).fontCapitalization()
+                        : formats()->defaultFont().capitalization();
+                itemizer.generate(prevPosition, position - prevPosition, capitalization);
                 if (it == end) {
                     if (position < length)
-                        itemizer.generate(position, length - position,
-                                          formats()->charFormat(format).fontCapitalization());
+                        itemizer.generate(position, length - position, capitalization);
                     break;
                 }
                 format = frag->format;