QTextDocument: Set the font family to be after the families set
This amends a1f4321bbba2f3bff24d753ce766be738dbfa61a 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>
This commit is contained in:
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…
x
Reference in New Issue
Block a user