QTextDocument: Set the font family to be after the families set
This amends a1f4321bbb as the font
families should take precedence over the font family set. If the font
family is already included in the families then it should keep its
placement. Otherwise it should be appended.
Task-number: QTBUG-80475
Change-Id: I0049189c88b6879e57619815ec780960e9c0a300
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
bb10
parent
5b22d17198
commit
6b835d5e51
|
|
@ -2301,10 +2301,8 @@ static QStringList resolvedFontFamilies(const QTextCharFormat &format)
|
|||
{
|
||||
QStringList fontFamilies = format.fontFamilies().toStringList();
|
||||
const QString mainFontFamily = format.fontFamily();
|
||||
if (!mainFontFamily.isEmpty() && !fontFamilies.startsWith(mainFontFamily)) {
|
||||
fontFamilies.removeAll(mainFontFamily);
|
||||
fontFamilies.prepend(mainFontFamily);
|
||||
}
|
||||
if (!mainFontFamily.isEmpty() && !fontFamilies.contains(mainFontFamily))
|
||||
fontFamilies.append(mainFontFamily);
|
||||
return fontFamilies;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3597,7 +3597,18 @@ void tst_QTextDocument::mergeFontFamilies()
|
|||
cursor.setPosition(QByteArray("Hello World").length(), QTextCursor::KeepAnchor);
|
||||
cursor.mergeCharFormat(newFormat);
|
||||
|
||||
QVERIFY(td.toHtml().contains(QLatin1String("font-family:'Jokerman','MS Shell Dlg 2';")));
|
||||
QVERIFY(td.toHtml().contains(QLatin1String("font-family:'MS Shell Dlg 2','Jokerman';")));
|
||||
|
||||
QTextCharFormat newFormatFamilies;
|
||||
newFormatFamilies.setFontFamilies({ QLatin1String("Arial"), QLatin1String("Helvetica") });
|
||||
cursor.mergeCharFormat(newFormatFamilies);
|
||||
|
||||
QVERIFY(td.toHtml().contains(QLatin1String("font-family:'Arial','Helvetica','Jokerman'")));
|
||||
|
||||
newFormatFamilies.setFontFamilies({ QLatin1String("Arial"), QLatin1String("Jokerman"), QLatin1String("Helvetica") });
|
||||
cursor.mergeCharFormat(newFormatFamilies);
|
||||
|
||||
QVERIFY(td.toHtml().contains(QLatin1String("font-family:'Arial','Jokerman','Helvetica'")));
|
||||
}
|
||||
|
||||
void tst_QTextDocument::clearUndoRedoStacks()
|
||||
|
|
|
|||
Loading…
Reference in New Issue