From adf7743ccf2ec9e7604187e699b4d0388efef2b7 Mon Sep 17 00:00:00 2001 From: Nikita Krupenko Date: Sat, 13 Feb 2016 06:54:44 +0200 Subject: Material: return proper themeFont() for controls This allow to get proper fonts for most controls. Change-Id: I4b43ce05b09c30f59dca7d23e8d890fa9dfb74ab Reviewed-by: J-P Nurmi --- src/imports/controls/material/ComboBox.qml | 2 +- .../controls/material/qquickmaterialtheme.cpp | 30 +++++++++++++++++++--- .../controls/material/qquickmaterialtheme_p.h | 5 +++- 3 files changed, 31 insertions(+), 6 deletions(-) (limited to 'src/imports') diff --git a/src/imports/controls/material/ComboBox.qml b/src/imports/controls/material/ComboBox.qml index 351feead..eb637ef2 100644 --- a/src/imports/controls/material/ComboBox.qml +++ b/src/imports/controls/material/ComboBox.qml @@ -53,7 +53,7 @@ T.ComboBox { padding: 12 //! [delegate] - delegate: ItemDelegate { + delegate: MenuItem { width: control.width text: control.textRole ? (Array.isArray(control.model) ? modelData[control.textRole] : model[control.textRole]) : modelData highlighted: control.highlightedIndex === index diff --git a/src/imports/controls/material/qquickmaterialtheme.cpp b/src/imports/controls/material/qquickmaterialtheme.cpp index 4124735a..c373c61b 100644 --- a/src/imports/controls/material/qquickmaterialtheme.cpp +++ b/src/imports/controls/material/qquickmaterialtheme.cpp @@ -50,11 +50,23 @@ QQuickMaterialTheme::QQuickMaterialTheme(QPlatformTheme *theme) if (font.exactMatch()) { systemFont.setFamily(font.family()); - tabButtonFont.setFamily(font.family()); + buttonFont.setFamily(font.family()); + toolButtonFont.setFamily(font.family()); + itemViewFont.setFamily(font.family()); + menuItemFont.setFamily(font.family()); } - tabButtonFont.setPixelSize(14); - tabButtonFont.setCapitalization(QFont::AllUppercase); + buttonFont.setPixelSize(14); + buttonFont.setCapitalization(QFont::AllUppercase); + buttonFont.setWeight(QFont::Medium); + + toolButtonFont.setPixelSize(14); + toolButtonFont.setCapitalization(QFont::AllUppercase); + + itemViewFont.setPixelSize(14); + itemViewFont.setWeight(QFont::Medium); + + menuItemFont.setPixelSize(16); } QQuickMaterialTheme::~QQuickMaterialTheme() @@ -65,7 +77,17 @@ const QFont *QQuickMaterialTheme::font(QPlatformTheme::Font type) const { switch (type) { case QPlatformTheme::TabButtonFont: - return &tabButtonFont; + case QPlatformTheme::PushButtonFont: + return &buttonFont; + case QPlatformTheme::ToolButtonFont: + return &toolButtonFont; + case QPlatformTheme::ItemViewFont: + return &itemViewFont; + case QPlatformTheme::MenuItemFont: + case QPlatformTheme::ComboMenuItemFont: + case QPlatformTheme::CheckBoxFont: + case QPlatformTheme::RadioButtonFont: + return &menuItemFont; default: return &systemFont; } diff --git a/src/imports/controls/material/qquickmaterialtheme_p.h b/src/imports/controls/material/qquickmaterialtheme_p.h index 28fb30e9..e0279bf6 100644 --- a/src/imports/controls/material/qquickmaterialtheme_p.h +++ b/src/imports/controls/material/qquickmaterialtheme_p.h @@ -65,7 +65,10 @@ public: private: QFont systemFont; - QFont tabButtonFont; + QFont buttonFont; + QFont toolButtonFont; + QFont itemViewFont; + QFont menuItemFont; }; QT_END_NAMESPACE -- cgit v1.2.3