From 188b5e2a02926b6f1b43793f0bc1f6435bb949c4 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Thu, 21 Sep 2017 10:11:04 +0200 Subject: Default: use palette.text Make editors and delegates use the "text" color role from palettes. This color role is normally used as a foreground color for the "base" background color. Task-number: QTBUG-63331 Change-Id: Ic08463f54c1b04a4eccf791a576ae792f75bf89b Reviewed-by: Mitch Curtis --- src/imports/controls/CheckDelegate.qml | 4 ++-- src/imports/controls/ComboBox.qml | 3 +-- src/imports/controls/ItemDelegate.qml | 4 ++-- src/imports/controls/RadioDelegate.qml | 4 ++-- src/imports/controls/SpinBox.qml | 3 +-- src/imports/controls/SwipeDelegate.qml | 4 ++-- src/imports/controls/SwitchDelegate.qml | 4 ++-- src/imports/controls/TextArea.qml | 2 +- src/imports/controls/TextField.qml | 2 +- src/imports/controls/Tumbler.qml | 4 ++-- src/imports/controls/qquickdefaulttheme.cpp | 9 +++++++++ src/imports/controls/qquickdefaulttheme_p.h | 5 +++++ 12 files changed, 30 insertions(+), 18 deletions(-) (limited to 'src/imports/controls') diff --git a/src/imports/controls/CheckDelegate.qml b/src/imports/controls/CheckDelegate.qml index 93a5666b..1b03e1ff 100644 --- a/src/imports/controls/CheckDelegate.qml +++ b/src/imports/controls/CheckDelegate.qml @@ -54,7 +54,7 @@ T.CheckDelegate { icon.width: 24 icon.height: 24 - icon.color: enabled ? Default.textDarkColor : Default.textDisabledColor + icon.color: control.palette.text contentItem: IconLabel { leftPadding: control.mirrored ? control.indicator.width + control.spacing : 0 @@ -68,7 +68,7 @@ T.CheckDelegate { icon: control.icon text: control.text font: control.font - color: control.enabled ? Default.textDarkColor : Default.textDisabledColor + color: control.palette.text } indicator: CheckIndicator { diff --git a/src/imports/controls/ComboBox.qml b/src/imports/controls/ComboBox.qml index f7391112..9e9a53df 100644 --- a/src/imports/controls/ComboBox.qml +++ b/src/imports/controls/ComboBox.qml @@ -84,12 +84,11 @@ T.ComboBox { validator: control.validator font: control.font - color: !control.editable && control.visualFocus ? Default.focusColor : Default.textColor + color: !control.editable && control.visualFocus ? Default.focusColor : control.palette.text selectionColor: Default.focusColor selectedTextColor: Default.textLightColor horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter - opacity: control.enabled ? 1 : 0.3 background: Rectangle { visible: control.editable && !control.flat diff --git a/src/imports/controls/ItemDelegate.qml b/src/imports/controls/ItemDelegate.qml index cfe0e591..8156bff1 100644 --- a/src/imports/controls/ItemDelegate.qml +++ b/src/imports/controls/ItemDelegate.qml @@ -54,7 +54,7 @@ T.ItemDelegate { icon.width: 24 icon.height: 24 - icon.color: enabled ? Default.textDarkColor : Default.textDisabledColor + icon.color: control.palette.text contentItem: IconLabel { spacing: control.spacing @@ -65,7 +65,7 @@ T.ItemDelegate { icon: control.icon text: control.text font: control.font - color: control.enabled ? Default.textDarkColor : Default.textDisabledColor + color: control.palette.text } background: Rectangle { diff --git a/src/imports/controls/RadioDelegate.qml b/src/imports/controls/RadioDelegate.qml index cc2631d8..beb1aa9a 100644 --- a/src/imports/controls/RadioDelegate.qml +++ b/src/imports/controls/RadioDelegate.qml @@ -54,7 +54,7 @@ T.RadioDelegate { icon.width: 24 icon.height: 24 - icon.color: enabled ? Default.textDarkColor : Default.textDisabledColor + icon.color: control.palette.text contentItem: IconLabel { leftPadding: control.mirrored ? control.indicator.width + control.spacing : 0 @@ -68,7 +68,7 @@ T.RadioDelegate { icon: control.icon text: control.text font: control.font - color: control.enabled ? Default.textDarkColor : Default.textDisabledColor + color: control.palette.text } indicator: RadioIndicator { diff --git a/src/imports/controls/SpinBox.qml b/src/imports/controls/SpinBox.qml index 5d800c77..33e0c51e 100644 --- a/src/imports/controls/SpinBox.qml +++ b/src/imports/controls/SpinBox.qml @@ -65,10 +65,9 @@ T.SpinBox { contentItem: TextInput { z: 2 text: control.textFromValue(control.value, control.locale) - opacity: control.enabled ? 1 : 0.3 font: control.font - color: Default.textColor + color: control.palette.text selectionColor: Default.focusColor selectedTextColor: Default.textLightColor horizontalAlignment: Qt.AlignHCenter diff --git a/src/imports/controls/SwipeDelegate.qml b/src/imports/controls/SwipeDelegate.qml index 01b1c7d3..da3313a7 100644 --- a/src/imports/controls/SwipeDelegate.qml +++ b/src/imports/controls/SwipeDelegate.qml @@ -54,7 +54,7 @@ T.SwipeDelegate { icon.width: 24 icon.height: 24 - icon.color: control.enabled ? Default.textDarkColor : Default.textDisabledColor + icon.color: control.palette.text swipe.transition: Transition { SmoothedAnimation { velocity: 3; easing.type: Easing.InOutCubic } } @@ -67,7 +67,7 @@ T.SwipeDelegate { icon: control.icon text: control.text font: control.font - color: control.enabled ? Default.textDarkColor : Default.textDisabledColor + color: control.palette.text } background: Rectangle { diff --git a/src/imports/controls/SwitchDelegate.qml b/src/imports/controls/SwitchDelegate.qml index e4cc962e..0605a4cc 100644 --- a/src/imports/controls/SwitchDelegate.qml +++ b/src/imports/controls/SwitchDelegate.qml @@ -54,7 +54,7 @@ T.SwitchDelegate { icon.width: 24 icon.height: 24 - icon.color: enabled ? Default.textDarkColor : Default.textDisabledColor + icon.color: control.palette.text indicator: SwitchIndicator { x: text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2 @@ -74,7 +74,7 @@ T.SwitchDelegate { icon: control.icon text: control.text font: control.font - color: control.enabled ? Default.textDarkColor : Default.textDisabledColor + color: control.palette.text } background: Rectangle { diff --git a/src/imports/controls/TextArea.qml b/src/imports/controls/TextArea.qml index 37802665..6e336947 100644 --- a/src/imports/controls/TextArea.qml +++ b/src/imports/controls/TextArea.qml @@ -52,7 +52,7 @@ T.TextArea { padding: 6 leftPadding: padding + 4 - color: enabled ? Default.textColor : Default.textDisabledLightColor + color: control.palette.text selectionColor: Default.textSelectionColor selectedTextColor: color diff --git a/src/imports/controls/TextField.qml b/src/imports/controls/TextField.qml index bb314113..b8f8fb55 100644 --- a/src/imports/controls/TextField.qml +++ b/src/imports/controls/TextField.qml @@ -52,7 +52,7 @@ T.TextField { padding: 6 leftPadding: padding + 4 - color: enabled ? Default.textColor : Default.textDisabledColor + color: control.palette.text selectionColor: Default.textSelectionColor selectedTextColor: color verticalAlignment: TextInput.AlignVCenter diff --git a/src/imports/controls/Tumbler.qml b/src/imports/controls/Tumbler.qml index 04c4b535..622a6098 100644 --- a/src/imports/controls/Tumbler.qml +++ b/src/imports/controls/Tumbler.qml @@ -47,9 +47,9 @@ T.Tumbler { delegate: Text { id: label text: modelData - color: control.visualFocus ? Default.focusColor : Default.textDarkColor + color: control.visualFocus ? Default.focusColor : control.palette.text font: control.font - opacity: (1.0 - Math.abs(Tumbler.displacement) / (visibleItemCount / 2)) * (control.enabled ? 1 : 0.6) + opacity: 1.0 - Math.abs(Tumbler.displacement) / (visibleItemCount / 2) horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter } diff --git a/src/imports/controls/qquickdefaulttheme.cpp b/src/imports/controls/qquickdefaulttheme.cpp index f9cdcddc..a1ac91eb 100644 --- a/src/imports/controls/qquickdefaulttheme.cpp +++ b/src/imports/controls/qquickdefaulttheme.cpp @@ -41,6 +41,15 @@ QT_BEGIN_NAMESPACE QQuickDefaultTheme::QQuickDefaultTheme() : QQuickTheme(QStringLiteral("Default")) { + systemPalette.setColor(QPalette::Text, QColor::fromRgba(0xFF353637)); + systemPalette.setColor(QPalette::Disabled, QPalette::Text, QColor::fromRgba(0xFFC2C2C2)); + systemPalette = resolvePalette(systemPalette); +} + +const QPalette *QQuickDefaultTheme::palette(QPlatformTheme::Palette type) const +{ + Q_UNUSED(type); + return &systemPalette; } QT_END_NAMESPACE diff --git a/src/imports/controls/qquickdefaulttheme_p.h b/src/imports/controls/qquickdefaulttheme_p.h index e0811dcb..16e4d061 100644 --- a/src/imports/controls/qquickdefaulttheme_p.h +++ b/src/imports/controls/qquickdefaulttheme_p.h @@ -56,6 +56,11 @@ class QQuickDefaultTheme : public QQuickTheme { public: explicit QQuickDefaultTheme(); + + const QPalette *palette(Palette type) const override; + +private: + QPalette systemPalette; }; QT_END_NAMESPACE -- cgit v1.2.3