diff options
author | Mitch Curtis <mitch.curtis@qt.io> | 2018-01-03 09:44:32 +0100 |
---|---|---|
committer | Mitch Curtis <mitch.curtis@qt.io> | 2018-01-03 09:28:31 +0000 |
commit | d26d6a46bb5793e4a3bdc2c7a387f8f8a89b349b (patch) | |
tree | be4aa09f65a7a938d56df34912205abc29c3f9a9 | |
parent | 9378dc92968a2267bf51811329c0d79d37067279 (diff) |
Respect user font settings from qtquickcontrols2.conf file
Resolve the style's font against the font that the user set in the
configuration file, rather than only using the style's font.
This patch also removes all of the fonts which were identical and
replaces them with a single font.
Task-number: QTBUG-65500
Change-Id: I284b0d75ac3ad5bf7123bbd13bbfe85d25145483
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
4 files changed, 18 insertions, 46 deletions
diff --git a/src/imports/controls/imagine/qquickimaginetheme.cpp b/src/imports/controls/imagine/qquickimaginetheme.cpp index 17fb920f..5505e7ce 100644 --- a/src/imports/controls/imagine/qquickimaginetheme.cpp +++ b/src/imports/controls/imagine/qquickimaginetheme.cpp @@ -43,20 +43,8 @@ QT_BEGIN_NAMESPACE QQuickImagineTheme::QQuickImagineTheme() : QQuickTheme(QStringLiteral("Imagine")) { - QFont font; - font.setFamily(QLatin1String("Open Sans")); - const QString family = QFontInfo(font).family(); - if (family == QLatin1String("Open Sans")) { - buttonFont.setFamily(family); - checkBoxFont.setFamily(family); - editorFont.setFamily(family); - groupBoxFont.setFamily(family); - labelFont.setFamily(family); - itemViewFont.setFamily(family); - menuItemFont.setFamily(family); - systemFont.setFamily(family); - toolTipFont.setFamily(family); - } + systemFont.setFamily(QLatin1String("Open Sans")); + systemFont = resolveFont(systemFont); const QColor accentColor = QColor::fromRgb(0x4fc1e9); const QColor windowTextColor = QColor::fromRgb(0x434a54); @@ -76,29 +64,8 @@ QQuickImagineTheme::QQuickImagineTheme() const QFont *QQuickImagineTheme::font(QPlatformTheme::Font type) const { - switch (type) { - case QPlatformTheme::TabButtonFont: - case QPlatformTheme::PushButtonFont: - case QPlatformTheme::ToolButtonFont: - return &buttonFont; - case QPlatformTheme::CheckBoxFont: - return &checkBoxFont; - case QPlatformTheme::GroupBoxTitleFont: - return &groupBoxFont; - case QPlatformTheme::LabelFont: - return &labelFont; - case QPlatformTheme::TipLabelFont: - return &toolTipFont; - case QPlatformTheme::ItemViewFont: - return &itemViewFont; - case QPlatformTheme::MenuItemFont: - case QPlatformTheme::ComboMenuItemFont: - return &menuItemFont; - case QPlatformTheme::EditorFont: - return &editorFont; - default: - return &systemFont; - } + Q_UNUSED(type); + return &systemFont; } const QPalette *QQuickImagineTheme::palette(QPlatformTheme::Palette type) const diff --git a/src/imports/controls/imagine/qquickimaginetheme_p.h b/src/imports/controls/imagine/qquickimaginetheme_p.h index 9006e6ef..ea3a1cbd 100644 --- a/src/imports/controls/imagine/qquickimaginetheme_p.h +++ b/src/imports/controls/imagine/qquickimaginetheme_p.h @@ -61,16 +61,7 @@ public: const QPalette *palette(Palette type = SystemPalette) const override; private: - QFont buttonFont; - QFont checkBoxFont; - QFont editorFont; - QFont groupBoxFont; - QFont labelFont; - QFont itemViewFont; - QFont menuItemFont; QFont systemFont; - QFont toolTipFont; - QPalette systemPalette; }; diff --git a/tests/auto/qquickimaginestyle/data/tst_imagine.qml b/tests/auto/qquickimaginestyle/data/tst_imagine.qml index 7a711dcd..72df8814 100644 --- a/tests/auto/qquickimaginestyle/data/tst_imagine.qml +++ b/tests/auto/qquickimaginestyle/data/tst_imagine.qml @@ -64,6 +64,11 @@ TestCase { name: "Imagine" Component { + id: buttonComponent + Button {} + } + + Component { id: implicitQrcButtonComponent Button { Imagine.path: ":/control-assets" @@ -94,4 +99,10 @@ TestCase { var image = grabImage(control) compare(image.pixel(control.width / 2, control.height / 2), "#ff0000") } + + function test_fontFromConfigFile() { + var control = createTemporaryObject(buttonComponent, testCase) + verify(control) + compare(control.font.pixelSize, 80) + } } diff --git a/tests/auto/qquickimaginestyle/qtquickcontrols2.conf b/tests/auto/qquickimaginestyle/qtquickcontrols2.conf index add378d4..cc58a8e3 100644 --- a/tests/auto/qquickimaginestyle/qtquickcontrols2.conf +++ b/tests/auto/qquickimaginestyle/qtquickcontrols2.conf @@ -1,2 +1,5 @@ [Controls] Style=Imagine + +[Imagine] +Font\PixelSize=80 |