54void QQuickMaterialTheme::initialize(QQuickTheme *theme)
64 auto defaultFontFamily = QLatin1String(
"Roboto");
65 if (!QFontDatabase::hasFamily(defaultFontFamily)) {
66 defaultFontFamily = QLatin1String(
"Noto");
67 if (!QFontDatabase::hasFamily(defaultFontFamily))
68 defaultFontFamily = {};
71 if (!defaultFontFamily.isEmpty()) {
72 const QStringList families{defaultFontFamily};
73 systemFont.setFamilies(families);
74 buttonFont.setFamilies(families);
75 toolTipFont.setFamilies(families);
76 itemViewFont.setFamilies(families);
77 listViewFont.setFamilies(families);
78 menuItemFont.setFamilies(families);
79 editorFont.setFamilies(families);
82 const bool dense = QQuickMaterialStyle::variant() == QQuickMaterialStyle::Dense;
83 systemFont.setPixelSize(dense ? 13 : 14);
84 theme->setFont(QQuickTheme::System, systemFont);
87 buttonFont.setPixelSize(dense ? 13 : 14);
88 buttonFont.setWeight(QFont::Medium);
89 theme->setFont(QQuickTheme::Button, buttonFont);
90 theme->setFont(QQuickTheme::TabBar, buttonFont);
91 theme->setFont(QQuickTheme::ToolBar, buttonFont);
94 toolTipFont.setPixelSize(dense ? 10 : 14);
95 toolTipFont.setWeight(QFont::Medium);
96 theme->setFont(QQuickTheme::ToolTip, toolTipFont);
98 itemViewFont.setPixelSize(dense ? 13 : 14);
99 itemViewFont.setWeight(QFont::Medium);
100 theme->setFont(QQuickTheme::ItemView, itemViewFont);
103 listViewFont.setPixelSize(dense ? 13 : 16);
104 theme->setFont(QQuickTheme::ListView, listViewFont);
106 menuItemFont.setPixelSize(dense ? 13 : 16);
107 theme->setFont(QQuickTheme::Menu, menuItemFont);
108 theme->setFont(QQuickTheme::MenuBar, menuItemFont);
109 theme->setFont(QQuickTheme::ComboBox, menuItemFont);
111 editorFont.setPixelSize(dense ? 13 : 16);
112 theme->setFont(QQuickTheme::TextArea, editorFont);
113 theme->setFont(QQuickTheme::TextField, editorFont);
114 theme->setFont(QQuickTheme::SpinBox, editorFont);