[Fonts KCM] Use KFontChooserDialog instead of QFontDialog

Authored by ahmadsamir on Mar 18 2020, 2:52 PM.

Description

[Fonts KCM] Use KFontChooserDialog instead of QFontDialog

Summary:
Now all font selection dialogs use KFontChooserDialog (from KWidgetAddons),
bump KF5 minimum required version to 5.69.0.

KFontChooserDialog has some pros over QFontDialog:

    • If the font to pre-select in KFontChooser doesn't have the styleName property set, the dialog will try and select the correct style (usually that works); this is useful since we want to save/load fonts with "Regular"-like styles without setting that property so that setBold(true) can work properly
  • Fractional font sizes, e.g. 10.5 pt (QFontDialog only supports int)
  • KFontChooserDialog will discard "Regular"-like styleName prop. after the user has selected a font, which means less workarounds in the fonts KCM code.

Do not check for immutability:

  • The setters generated by KConfig already do that
  • The QML FontWidget check for immutability and disable the relevant font widget

adjustAllFonts() doesn't take any args, change the qml code accrodingly.

Test Plan: The fonts KCM still works.

Reviewers: Plasma, davidedmundson, broulik, meven, cfeck, bport

Reviewed By: bport

Subscribers: plasma-devel

Tags: Plasma

Differential Revision: https://phabricator.kde.org/D27808