aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Arve Sæther <jan-arve.saether@qt.io>2021-09-22 14:03:17 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-10-05 14:38:11 +0000
commitebe36ea115795af79f10310aa624b57b25ea694a (patch)
tree03e0fb2bf7ffe247743171bb1e62c8141512448a
parent5c246264d9d61307cf4e2004457923198c5bb7bd (diff)
Do not override font size by default
Font overriding should be a style-specific behavior. For instance, macos style cannot use a different font size than the default. Therefore, this patch moves the font overriding over to the macos style. This prevented font size to be inherited from the parent control Fixes autotests Popup::test_font() and ComboBox::test_font() on Windows style. Task-number: QTBUG-95679 Change-Id: Ic24de04a517a8a8710f916e70117729c41c1534e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 43eca45b061fe965fe2a6f1876d4a35a58e3a9e4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/quickcontrols2/macos/Button.qml2
-rw-r--r--src/quickcontrols2/macos/CheckBox.qml3
-rw-r--r--src/quickcontrols2/macos/ComboBox.qml1
-rw-r--r--src/quickcontrols2/macos/Dial.qml2
-rw-r--r--src/quickcontrols2/macos/GroupBox.qml1
-rw-r--r--src/quickcontrols2/macos/ProgressBar.qml2
-rw-r--r--src/quickcontrols2/macos/RadioButton.qml2
-rw-r--r--src/quickcontrols2/macos/ScrollBar.qml1
-rw-r--r--src/quickcontrols2/macos/Slider.qml1
-rw-r--r--src/quickcontrols2/macos/SpinBox.qml2
-rw-r--r--src/quickcontrols2/macos/TextField.qml1
-rw-r--r--src/quickcontrols2/windows/CheckBox.qml2
-rw-r--r--src/quickcontrols2/windows/ComboBox.qml2
-rw-r--r--src/quicknativestyle/controls/DefaultButton.qml2
-rw-r--r--src/quicknativestyle/controls/DefaultCheckBox.qml2
-rw-r--r--src/quicknativestyle/controls/DefaultComboBox.qml2
-rw-r--r--src/quicknativestyle/controls/DefaultDial.qml2
-rw-r--r--src/quicknativestyle/controls/DefaultGroupBox.qml2
-rw-r--r--src/quicknativestyle/controls/DefaultProgressBar.qml2
-rw-r--r--src/quicknativestyle/controls/DefaultRadioButton.qml2
-rw-r--r--src/quicknativestyle/controls/DefaultScrollBar.qml2
-rw-r--r--src/quicknativestyle/controls/DefaultSlider.qml4
-rw-r--r--src/quicknativestyle/controls/DefaultSpinBox.qml2
-rw-r--r--src/quicknativestyle/controls/DefaultTextField.qml2
-rw-r--r--tests/auto/quickcontrols2/controls/windows/BLACKLIST4
25 files changed, 17 insertions, 33 deletions
diff --git a/src/quickcontrols2/macos/Button.qml b/src/quickcontrols2/macos/Button.qml
index 58658c526f..bddaa89ca4 100644
--- a/src/quickcontrols2/macos/Button.qml
+++ b/src/quickcontrols2/macos/Button.qml
@@ -40,4 +40,6 @@ import QtQuick.NativeStyle as NativeStyle
NativeStyle.DefaultButton {
id: control
readonly property Item __focusFrameTarget: control
+
+ font.pixelSize: background.styleFont(control).pixelSize
}
diff --git a/src/quickcontrols2/macos/CheckBox.qml b/src/quickcontrols2/macos/CheckBox.qml
index 23ad442634..71c880a72e 100644
--- a/src/quickcontrols2/macos/CheckBox.qml
+++ b/src/quickcontrols2/macos/CheckBox.qml
@@ -38,6 +38,9 @@ import QtQuick
import QtQuick.NativeStyle as NativeStyle
NativeStyle.DefaultCheckBox {
+ id: control
readonly property Item __focusFrameTarget: indicator
readonly property Item __focusFrameStyleItem: indicator
+
+ font.pixelSize: indicator.styleFont(control).pixelSize
}
diff --git a/src/quickcontrols2/macos/ComboBox.qml b/src/quickcontrols2/macos/ComboBox.qml
index 53baabf8b6..798148e65f 100644
--- a/src/quickcontrols2/macos/ComboBox.qml
+++ b/src/quickcontrols2/macos/ComboBox.qml
@@ -41,6 +41,7 @@ import QtQuick.NativeStyle as NativeStyle
NativeStyle.DefaultComboBox {
id: control
readonly property Item __focusFrameTarget: control
+ font.pixelSize: background.styleFont(control).pixelSize
contentItem: T.TextField {
implicitWidth: contentWidth
diff --git a/src/quickcontrols2/macos/Dial.qml b/src/quickcontrols2/macos/Dial.qml
index 2076a54ad6..1628bae633 100644
--- a/src/quickcontrols2/macos/Dial.qml
+++ b/src/quickcontrols2/macos/Dial.qml
@@ -38,4 +38,6 @@ import QtQuick
import QtQuick.NativeStyle as NativeStyle
NativeStyle.DefaultDial {
+ id: control
+ font.pixelSize: background.styleFont(control).pixelSize
}
diff --git a/src/quickcontrols2/macos/GroupBox.qml b/src/quickcontrols2/macos/GroupBox.qml
index 142ddd15ed..c066a1577a 100644
--- a/src/quickcontrols2/macos/GroupBox.qml
+++ b/src/quickcontrols2/macos/GroupBox.qml
@@ -39,6 +39,7 @@ import QtQuick.NativeStyle as NativeStyle
NativeStyle.DefaultGroupBox {
id: control
+ font.pixelSize: background.styleFont(control).pixelSize
label: Item {
readonly property point labelPos : control.__nativeBackground
? background.labelPos
diff --git a/src/quickcontrols2/macos/ProgressBar.qml b/src/quickcontrols2/macos/ProgressBar.qml
index 59a1689dba..d9c5c02f4f 100644
--- a/src/quickcontrols2/macos/ProgressBar.qml
+++ b/src/quickcontrols2/macos/ProgressBar.qml
@@ -38,4 +38,6 @@ import QtQuick
import QtQuick.NativeStyle as NativeStyle
NativeStyle.DefaultProgressBar {
+ id: control
+ font.pixelSize: background.styleFont(control).pixelSize
}
diff --git a/src/quickcontrols2/macos/RadioButton.qml b/src/quickcontrols2/macos/RadioButton.qml
index c9cdf9850c..38aabae7f5 100644
--- a/src/quickcontrols2/macos/RadioButton.qml
+++ b/src/quickcontrols2/macos/RadioButton.qml
@@ -38,6 +38,8 @@ import QtQuick
import QtQuick.NativeStyle as NativeStyle
NativeStyle.DefaultRadioButton {
+ id: control
readonly property Item __focusFrameTarget: indicator
readonly property Item __focusFrameStyleItem: indicator
+ font.pixelSize: indicator.styleFont(control).pixelSize
}
diff --git a/src/quickcontrols2/macos/ScrollBar.qml b/src/quickcontrols2/macos/ScrollBar.qml
index 4a9f764b2a..64992346b7 100644
--- a/src/quickcontrols2/macos/ScrollBar.qml
+++ b/src/quickcontrols2/macos/ScrollBar.qml
@@ -39,6 +39,7 @@ import QtQuick.NativeStyle as NativeStyle
NativeStyle.DefaultScrollBar {
id: controlRoot
+ font.pixelSize: background.styleFont(controlRoot).pixelSize
contentItem: NativeStyle.ScrollBar {
control: controlRoot
diff --git a/src/quickcontrols2/macos/Slider.qml b/src/quickcontrols2/macos/Slider.qml
index 77543577d6..c4c1a8aa36 100644
--- a/src/quickcontrols2/macos/Slider.qml
+++ b/src/quickcontrols2/macos/Slider.qml
@@ -41,6 +41,7 @@ NativeStyle.DefaultSlider {
id: control
readonly property Item __focusFrameTarget: handle
readonly property Item __focusFrameStyleItem: handle
+ font.pixelSize: background.styleFont(control).pixelSize
background: NativeStyle.Slider {
control: control
diff --git a/src/quickcontrols2/macos/SpinBox.qml b/src/quickcontrols2/macos/SpinBox.qml
index 5928d37eb5..8816d0ce67 100644
--- a/src/quickcontrols2/macos/SpinBox.qml
+++ b/src/quickcontrols2/macos/SpinBox.qml
@@ -45,7 +45,7 @@ T.SpinBox {
property bool nativeIndicators: up.indicator.hasOwnProperty("_qt_default")
&& down.indicator.hasOwnProperty("_qt_default")
- font.pixelSize: __nativeBackground ? background.styleFont(control).pixelSize : undefined
+ font.pixelSize: background.styleFont(control).pixelSize
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
90 /* minimum */ )
diff --git a/src/quickcontrols2/macos/TextField.qml b/src/quickcontrols2/macos/TextField.qml
index f3a748f604..36567616c1 100644
--- a/src/quickcontrols2/macos/TextField.qml
+++ b/src/quickcontrols2/macos/TextField.qml
@@ -40,4 +40,5 @@ import QtQuick.NativeStyle as NativeStyle
NativeStyle.DefaultTextField {
id: control
readonly property Item __focusFrameTarget: control
+ font.pixelSize: background.styleFont(control).pixelSize
}
diff --git a/src/quickcontrols2/windows/CheckBox.qml b/src/quickcontrols2/windows/CheckBox.qml
index 13fde0e656..eaf70a3f35 100644
--- a/src/quickcontrols2/windows/CheckBox.qml
+++ b/src/quickcontrols2/windows/CheckBox.qml
@@ -51,8 +51,6 @@ T.CheckBox {
implicitContentHeight + topPadding + bottomPadding,
implicitIndicatorHeight + topPadding + bottomPadding)
- font.pixelSize: nativeIndicator ? indicator.styleFont(control).pixelSize : undefined
-
spacing: nativeIndicator ? 0 : 6
padding: nativeIndicator ? 0 : 6
diff --git a/src/quickcontrols2/windows/ComboBox.qml b/src/quickcontrols2/windows/ComboBox.qml
index 237d90b592..13fa844dae 100644
--- a/src/quickcontrols2/windows/ComboBox.qml
+++ b/src/quickcontrols2/windows/ComboBox.qml
@@ -53,8 +53,6 @@ T.ComboBox {
implicitContentHeight + topPadding + bottomPadding,
implicitIndicatorHeight + topPadding + bottomPadding)
- font.pixelSize: __nativeBackground ? background.styleFont(control).pixelSize : undefined
-
leftPadding: __nativeBackground ? background.contentPadding.left : 5
rightPadding: __nativeBackground ? background.contentPadding.right : 5
topPadding: __nativeBackground ? background.contentPadding.top : 5
diff --git a/src/quicknativestyle/controls/DefaultButton.qml b/src/quicknativestyle/controls/DefaultButton.qml
index 064cd13db6..9ab4437bcb 100644
--- a/src/quicknativestyle/controls/DefaultButton.qml
+++ b/src/quicknativestyle/controls/DefaultButton.qml
@@ -51,8 +51,6 @@ T.Button {
implicitWidth: implicitBackgroundWidth + leftInset + rightInset
implicitHeight: implicitBackgroundHeight + topInset + bottomInset
- font.pixelSize: __nativeBackground ? background.styleFont(control).pixelSize : undefined
-
leftPadding: __nativeBackground ? background.contentPadding.left : 5
rightPadding: __nativeBackground ? background.contentPadding.right : 5
topPadding: __nativeBackground ? background.contentPadding.top : 5
diff --git a/src/quicknativestyle/controls/DefaultCheckBox.qml b/src/quicknativestyle/controls/DefaultCheckBox.qml
index 09166820de..45e4988958 100644
--- a/src/quicknativestyle/controls/DefaultCheckBox.qml
+++ b/src/quicknativestyle/controls/DefaultCheckBox.qml
@@ -51,8 +51,6 @@ T.CheckBox {
implicitContentHeight + topPadding + bottomPadding,
implicitIndicatorHeight + topPadding + bottomPadding)
- font.pixelSize: nativeIndicator ? indicator.styleFont(control).pixelSize : undefined
-
spacing: nativeIndicator ? 0 : 6
padding: nativeIndicator ? 0 : 6
diff --git a/src/quicknativestyle/controls/DefaultComboBox.qml b/src/quicknativestyle/controls/DefaultComboBox.qml
index 7b286a1ebc..d3f168d567 100644
--- a/src/quicknativestyle/controls/DefaultComboBox.qml
+++ b/src/quicknativestyle/controls/DefaultComboBox.qml
@@ -53,8 +53,6 @@ T.ComboBox {
implicitContentHeight + topPadding + bottomPadding,
implicitIndicatorHeight + topPadding + bottomPadding)
- font.pixelSize: __nativeBackground ? background.styleFont(control).pixelSize : undefined
-
leftPadding: __nativeBackground ? background.contentPadding.left : 5
rightPadding: __nativeBackground ? background.contentPadding.right : 5
topPadding: __nativeBackground ? background.contentPadding.top : 5
diff --git a/src/quicknativestyle/controls/DefaultDial.qml b/src/quicknativestyle/controls/DefaultDial.qml
index b628ed0973..9ede707662 100644
--- a/src/quicknativestyle/controls/DefaultDial.qml
+++ b/src/quicknativestyle/controls/DefaultDial.qml
@@ -51,8 +51,6 @@ T.Dial {
implicitContentHeight + topPadding + bottomPadding,
80 /* minimum */ )
- font.pixelSize: __nativeBackground ? background.styleFont(control).pixelSize : undefined
-
background: NativeStyle.Dial {
control: control
useNinePatchImage: false
diff --git a/src/quicknativestyle/controls/DefaultGroupBox.qml b/src/quicknativestyle/controls/DefaultGroupBox.qml
index 09db97b775..dcaeaaf8a9 100644
--- a/src/quicknativestyle/controls/DefaultGroupBox.qml
+++ b/src/quicknativestyle/controls/DefaultGroupBox.qml
@@ -50,8 +50,6 @@ T.GroupBox {
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
contentHeight + topPadding + bottomPadding)
- font.pixelSize: __nativeBackground ? background.styleFont(control).pixelSize : undefined
-
label: Rectangle {
color: control.palette.window
property point labelPos : control.__nativeBackground
diff --git a/src/quicknativestyle/controls/DefaultProgressBar.qml b/src/quicknativestyle/controls/DefaultProgressBar.qml
index 037bdbaeea..77934b31c4 100644
--- a/src/quicknativestyle/controls/DefaultProgressBar.qml
+++ b/src/quicknativestyle/controls/DefaultProgressBar.qml
@@ -51,8 +51,6 @@ T.ProgressBar {
implicitContentHeight + topPadding + bottomPadding,
control.vertical ? 90 : 0 /* minimum */ )
- font.pixelSize: __nativeBackground ? background.styleFont(control).pixelSize : undefined
-
background: NativeStyle.ProgressBar {
control: control
useNinePatchImage: false
diff --git a/src/quicknativestyle/controls/DefaultRadioButton.qml b/src/quicknativestyle/controls/DefaultRadioButton.qml
index 29746ba7b0..91f340b716 100644
--- a/src/quicknativestyle/controls/DefaultRadioButton.qml
+++ b/src/quicknativestyle/controls/DefaultRadioButton.qml
@@ -51,8 +51,6 @@ T.RadioButton {
implicitContentHeight + topPadding + bottomPadding,
implicitIndicatorHeight + topPadding + bottomPadding)
- font.pixelSize: nativeIndicator ? indicator.styleFont(control).pixelSize : undefined
-
spacing: nativeIndicator ? 0 : 6
padding: nativeIndicator ? 0 : 6
diff --git a/src/quicknativestyle/controls/DefaultScrollBar.qml b/src/quicknativestyle/controls/DefaultScrollBar.qml
index b7b7873225..ef20f7016c 100644
--- a/src/quicknativestyle/controls/DefaultScrollBar.qml
+++ b/src/quicknativestyle/controls/DefaultScrollBar.qml
@@ -49,8 +49,6 @@ T.ScrollBar {
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
implicitContentHeight + topPadding + bottomPadding)
- font.pixelSize: __nativeContentItem ? contentItem.styleFont(control).pixelSize : undefined
-
visible: policy === T.ScrollBar.AlwaysOn || (policy === T.ScrollBar.AsNeeded && size < 1.0)
minimumSize: !__nativeContentItem ? 10 : orientation === Qt.Vertical ?
contentItem.minimumSize.height / height : contentItem.minimumSize.width / width
diff --git a/src/quicknativestyle/controls/DefaultSlider.qml b/src/quicknativestyle/controls/DefaultSlider.qml
index ebc1c2652c..6d4521720c 100644
--- a/src/quicknativestyle/controls/DefaultSlider.qml
+++ b/src/quicknativestyle/controls/DefaultSlider.qml
@@ -42,8 +42,6 @@ import QtQuick.NativeStyle as NativeStyle
T.Slider {
id: control
- readonly property bool __nativeBackground: background instanceof NativeStyle.StyleItem
-
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
implicitHandleWidth + leftPadding + rightPadding,
control.horizontal ? 90 : 0 /* minimum */ )
@@ -51,8 +49,6 @@ T.Slider {
implicitHandleHeight + topPadding + bottomPadding,
control.vertical ? 90 : 0 /* minimum */ )
- font.pixelSize: __nativeBackground ? background.styleFont(control).pixelSize : undefined
-
background: NativeStyle.Slider {
control: control
subControl: NativeStyle.Slider.Groove
diff --git a/src/quicknativestyle/controls/DefaultSpinBox.qml b/src/quicknativestyle/controls/DefaultSpinBox.qml
index 869ff41153..640aab0020 100644
--- a/src/quicknativestyle/controls/DefaultSpinBox.qml
+++ b/src/quicknativestyle/controls/DefaultSpinBox.qml
@@ -50,8 +50,6 @@ T.SpinBox {
implicitHeight: Math.max(implicitBackgroundHeight, up.implicitIndicatorHeight + down.implicitIndicatorHeight
+ (spacing * 3)) + topInset + bottomInset
- font.pixelSize: __nativeBackground ? background.styleFont(control).pixelSize : undefined
-
spacing: 2
leftPadding: (__nativeBackground ? background.contentPadding.left: 0)
diff --git a/src/quicknativestyle/controls/DefaultTextField.qml b/src/quicknativestyle/controls/DefaultTextField.qml
index f9279974df..2e4e21e501 100644
--- a/src/quicknativestyle/controls/DefaultTextField.qml
+++ b/src/quicknativestyle/controls/DefaultTextField.qml
@@ -52,8 +52,6 @@ T.TextField {
contentHeight + topPadding + bottomPadding,
placeholder.implicitHeight + topPadding + bottomPadding)
- font.pixelSize: __nativeBackground ? background.styleFont(control).pixelSize : undefined
-
leftPadding: __nativeBackground ? background.contentPadding.left: 7
rightPadding: __nativeBackground ? background.contentPadding.right: 7
topPadding: __nativeBackground ? background.contentPadding.top: 3
diff --git a/tests/auto/quickcontrols2/controls/windows/BLACKLIST b/tests/auto/quickcontrols2/controls/windows/BLACKLIST
index c8f4eaceb6..7340db5909 100644
--- a/tests/auto/quickcontrols2/controls/windows/BLACKLIST
+++ b/tests/auto/quickcontrols2/controls/windows/BLACKLIST
@@ -15,7 +15,3 @@
*
[ComboBox::test_defaults]
*
-[ComboBox::test_font]
-*
-[Popup::test_font]
-*