Utils: Align enum StyleHelper::UiElement with upcoming design system #3

The Qt Creator Design System defines display headings H1 and H2 with a
"Titillium  Web" font face.

This change introduces the "Titillium Web" based as new H1 and H2 and
lets the WelcomeScreen code obtain them via StyleHelper::UiFont(). It is
supposed to not change the visual appearance.

Change-Id: Ia2c5ac14858e574c4ffd31af1ed80ac1781cd970
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
Alessandro Portale
2023-11-17 11:06:23 +01:00
parent b3acdae338
commit 1da84754db
6 changed files with 26 additions and 29 deletions

View File

@@ -933,6 +933,15 @@ QColor StyleHelper::ensureReadableOn(const QColor &background, const QColor &des
return foreground;
}
static QStringList brandFontFamilies()
{
const static QStringList families = []{
const int id = QFontDatabase::addApplicationFont(":/studiofonts/TitilliumWeb-Regular.ttf");
return id >= 0 ? QFontDatabase::applicationFontFamilies(id) : QStringList();
}();
return families;
}
QFont StyleHelper::UiFont(UiElement element)
{
QFont font;
@@ -941,8 +950,14 @@ QFont StyleHelper::UiFont(UiElement element)
switch (element) {
case UiElementH1:
font.setFamilies(brandFontFamilies());
font.setPixelSize(30);
font.setWeight(QFont::Light);
font.setWordSpacing(2);
break;
case UiElementH2:
font.setFamilies(brandFontFamilies());
font.setPixelSize(16);
break;
case UiElementH3:
font.setPointSizeF(font.pointSizeF() * 1.6);