D28974: [KFontChooser] Make styleIdentifier() more precise by adding font styleName
Ahmad Samir
noreply at phabricator.kde.org
Sun Apr 19 09:48:46 BST 2020
ahmadsamir created this revision.
ahmadsamir added reviewers: Frameworks, dfaure, cfeck, bport.
Herald added a project: Frameworks.
ahmadsamir requested review of this revision.
REVISION SUMMARY
styleIdentifier() tries to get the correct font style based on weight,
style, and stretch; this "styleID" could be the same for different font
styles in the same family, and it worked in most cases because "Regular"-like
styles usually are ordered first in the family styles list from QFontDatabase.
However this breaks for font families that provide many font styles, e.g.
Noto Sans, where "SemiCondensed" comes first in the list.
Make it more precise by adding the font "styleName" property to the
"styleID" we concatenate, this makes it more precise. Also handle empty
styleName font prop. (we strip it on purpose, see KConfigGroupGui::writeEntryGui()
for more details), try to pick the correct one so that we highlight
it in the font style list view.
TEST PLAN
kfontchooserdialogtest app, with the initial font set to "Noto Sans",
before this change it'd select "SemiCondensed"; now it selects "Regular"
as expected.
BUG: 420287
FIXED-IN: 5.70
REPOSITORY
R236 KWidgetsAddons
BRANCH
l-tightenStyleId (branched from master)
REVISION DETAIL
https://phabricator.kde.org/D28974
AFFECTED FILES
src/kfontchooser.cpp
tests/kfontchooserdialogtest.cpp
To: ahmadsamir, #frameworks, dfaure, cfeck, bport
Cc: ndavis, kde-frameworks-devel, LeGast00n, cblack, michaelh, ngraham, bruns
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20200419/2145b13c/attachment.html>
More information about the Kde-frameworks-devel
mailing list