aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@qt.io>2018-01-03 09:44:32 +0100
committerMitch Curtis <mitch.curtis@qt.io>2018-01-03 09:28:31 +0000
commitd26d6a46bb5793e4a3bdc2c7a387f8f8a89b349b (patch)
treebe4aa09f65a7a938d56df34912205abc29c3f9a9
parent9378dc92968a2267bf51811329c0d79d37067279 (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>
-rw-r--r--src/imports/controls/imagine/qquickimaginetheme.cpp41
-rw-r--r--src/imports/controls/imagine/qquickimaginetheme_p.h9
-rw-r--r--tests/auto/qquickimaginestyle/data/tst_imagine.qml11
-rw-r--r--tests/auto/qquickimaginestyle/qtquickcontrols2.conf3
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