diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2015-12-19 03:38:51 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2015-12-21 09:31:04 +0000 |
commit | ab4ddea4c1c1856aadc66023a0234b68bcc2d71e (patch) | |
tree | 235f5242c134050ad172f30c630dee6869150934 | |
parent | 92398565fcc3868fb80b6c7c839b2d60bd96a987 (diff) |
Don't re-evaluate QTextCharFormat::font() all the time in QAccessibleTextWidget::attributes()
Saves ~100b in text size.
Change-Id: I144b8c1d02ce8a24f1654d54abad90ba1054be9a
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Boris DuĊĦek <me@dusek.me>
-rw-r--r-- | src/widgets/accessible/qaccessiblewidgets.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/widgets/accessible/qaccessiblewidgets.cpp b/src/widgets/accessible/qaccessiblewidgets.cpp index 1ecfb43309..83ea83a922 100644 --- a/src/widgets/accessible/qaccessiblewidgets.cpp +++ b/src/widgets/accessible/qaccessiblewidgets.cpp @@ -813,8 +813,10 @@ QString QAccessibleTextWidget::attributes(int offset, int *startOffset, int *end QTextBlockFormat blockFormat = cursor.blockFormat(); + const QFont charFormatFont = charFormat.font(); + AttributeFormatter attrs; - QString family = charFormat.font().family(); + QString family = charFormatFont.family(); if (!family.isEmpty()) { family = family.replace('\\',QStringLiteral("\\\\")); family = family.replace(':',QStringLiteral("\\:")); @@ -825,18 +827,18 @@ QString QAccessibleTextWidget::attributes(int offset, int *startOffset, int *end attrs["font-family"] = QString::fromLatin1("\"%1\"").arg(family); } - int fontSize = int(charFormat.font().pointSize()); + int fontSize = int(charFormatFont.pointSize()); if (fontSize) attrs["font-size"] = QString::fromLatin1("%1pt").arg(fontSize); //Different weight values are not handled - attrs["font-weight"] = QString::fromLatin1(charFormat.font().weight() > QFont::Normal ? "bold" : "normal"); + attrs["font-weight"] = QString::fromLatin1(charFormatFont.weight() > QFont::Normal ? "bold" : "normal"); - QFont::Style style = charFormat.font().style(); + QFont::Style style = charFormatFont.style(); attrs["font-style"] = QString::fromLatin1((style == QFont::StyleItalic) ? "italic" : ((style == QFont::StyleOblique) ? "oblique": "normal")); QTextCharFormat::UnderlineStyle underlineStyle = charFormat.underlineStyle(); - if (underlineStyle == QTextCharFormat::NoUnderline && charFormat.font().underline()) // underline could still be set in the default font + if (underlineStyle == QTextCharFormat::NoUnderline && charFormatFont.underline()) // underline could still be set in the default font underlineStyle = QTextCharFormat::SingleUnderline; QString underlineStyleValue; switch (underlineStyle) { |