diff --git a/qt6/src/qml/Button.qml b/qt6/src/qml/Button.qml index 076f950a..83c59462 100644 --- a/qt6/src/qml/Button.qml +++ b/qt6/src/qml/Button.qml @@ -23,8 +23,11 @@ T.Button { opacity: D.ColorSelector.controlState === D.DTK.DisabledState ? 0.4 : 1 D.DciIcon.mode: D.ColorSelector.controlState D.DciIcon.theme: D.ColorSelector.controlTheme - D.DciIcon.palette: D.DTK.makeIconPalette(palette) - palette.windowText: D.ColorSelector.textColor + D.DciIcon.palette: { + const iconPalette = D.DTK.makeIconPalette(control.palette) + iconPalette.foreground = control.D.ColorSelector.textColor + return iconPalette + } icon { width: DS.Style.button.iconSize height: DS.Style.button.iconSize diff --git a/qt6/src/qml/ButtonIndicator.qml b/qt6/src/qml/ButtonIndicator.qml index f021bf1c..2b1c4d75 100644 --- a/qt6/src/qml/ButtonIndicator.qml +++ b/qt6/src/qml/ButtonIndicator.qml @@ -22,7 +22,7 @@ Rectangle { width: DS.Style.buttonIndicator.iconSize } name: "arrow_ordinary_down" - palette: control.D.DTK.makeIconPalette(control.palette) + palette: control.D.DciIcon.palette mode: control.D.ColorSelector.controlState theme: control.D.ColorSelector.controlTheme fallbackToQIcon: false diff --git a/qt6/src/qml/IconButton.qml b/qt6/src/qml/IconButton.qml index c7492d2c..52423edd 100644 --- a/qt6/src/qml/IconButton.qml +++ b/qt6/src/qml/IconButton.qml @@ -26,7 +26,7 @@ Button { contentItem: D.DciIcon { smooth: control.smooth name: control.icon.name - palette: D.DTK.makeIconPalette(control.palette) + palette: control.D.DciIcon.palette mode: control.D.ColorSelector.controlState theme: control.D.ColorSelector.controlTheme sourceSize: Qt.size(control.icon.width, control.icon.height) diff --git a/qt6/src/qml/ItemDelegate.qml b/qt6/src/qml/ItemDelegate.qml index ef530a6d..c0a0328a 100644 --- a/qt6/src/qml/ItemDelegate.qml +++ b/qt6/src/qml/ItemDelegate.qml @@ -43,14 +43,19 @@ T.ItemDelegate { spacing: DS.Style.control.spacing checkable: true autoExclusive: true - palette.windowText: { - let undraged = D.DTK.hasAnimation ? control.backgroundVisible && !dragActive : true - return checked && !control.cascadeSelected && undraged ? D.ColorSelector.checkedTextColor : undefined - } D.DciIcon.mode: D.ColorSelector.controlState D.DciIcon.theme: D.ColorSelector.controlTheme - D.DciIcon.palette: D.DTK.makeIconPalette(palette) + D.DciIcon.palette: { + const iconPalette = D.DTK.makeIconPalette(control.palette) + const dragAllowsSelection = D.DTK.hasAnimation + ? control.backgroundVisible && !control.dragActive + : true + iconPalette.foreground = control.checked && !control.cascadeSelected && dragAllowsSelection + ? control.D.ColorSelector.checkedTextColor + : control.palette.windowText + return iconPalette + } icon { width: DS.Style.itemDelegate.iconSize height: DS.Style.itemDelegate.iconSize @@ -65,7 +70,7 @@ T.ItemDelegate { sourceComponent: D.DciIcon { smooth: control.smooth - palette: D.DTK.makeIconPalette(control.palette) + palette: control.D.DciIcon.palette mode: control.D.ColorSelector.controlState theme: control.D.ColorSelector.controlTheme fallbackToQIcon: false @@ -84,7 +89,7 @@ T.ItemDelegate { ? Qt.AlignCenter : Qt.AlignLeft | Qt.AlignVCenter text: control.text font: control.font - color: control.palette.windowText + color: control.D.DciIcon.palette.foreground icon: D.DTK.makeIcon(control.icon, control.D.DciIcon) Layout.fillWidth: !control.contentFlow } diff --git a/qt6/src/qml/MenuItem.qml b/qt6/src/qml/MenuItem.qml index ed61474a..8eac81f8 100644 --- a/qt6/src/qml/MenuItem.qml +++ b/qt6/src/qml/MenuItem.qml @@ -27,10 +27,13 @@ T.MenuItem { : DS.Style.menu.itemText property D.Palette subMenuBackgroundColor: DS.Style.menu.subMenuOpenedBackground - palette.windowText: D.ColorSelector.textColor D.DciIcon.mode: D.ColorSelector.controlState D.DciIcon.theme: D.ColorSelector.controlTheme - D.DciIcon.palette: D.DTK.makeIconPalette(palette) + D.DciIcon.palette: { + const iconPalette = D.DTK.makeIconPalette(control.palette) + iconPalette.foreground = control.D.ColorSelector.textColor + return iconPalette + } contentItem: D.IconLabel { readonly property real arrowPadding: control.subMenu && control.arrow ? control.arrow.width + control.spacing : 0 readonly property real indicatorPadding: control.useIndicatorPadding && control.indicator ? control.indicator.width + control.spacing : 0 @@ -44,7 +47,7 @@ T.MenuItem { alignment: Qt.AlignLeft text: control.text font: control.font - color: control.palette.windowText + color: control.D.ColorSelector.textColor Behavior on color { enabled: D.DTK.hasAnimation ColorAnimation { duration: control.hovered ? 100 : 0; } diff --git a/qt6/src/qml/WindowButton.qml b/qt6/src/qml/WindowButton.qml index 81e0d82a..e5b1ea25 100644 --- a/qt6/src/qml/WindowButton.qml +++ b/qt6/src/qml/WindowButton.qml @@ -33,7 +33,7 @@ D.IconButton { smooth: control.smooth name: control.icon.name asynchronous: false - palette: D.DTK.makeIconPalette(control.palette) + palette: control.D.DciIcon.palette mode: control.D.ColorSelector.controlState theme: control.D.ColorSelector.controlTheme sourceSize: Qt.size(control.icon.width, control.icon.height)