From 467aa59a88d381dddb0e5b797c73f205d0b275c9 Mon Sep 17 00:00:00 2001 From: Fabian Kosmale Date: Tue, 11 Jun 2019 11:40:31 +0200 Subject: Qualify unqualified id lookup in controls This is a preparation for https://codereview.qt-project.org/c/qt/qtdeclarative/+/259561 and also avoids walking up the contexts Change-Id: I9f016b7346db088dfe1519924c9770e486b46ec9 Reviewed-by: Mitch Curtis Reviewed-by: Ulf Hermann --- src/imports/controls/CheckBox.qml | 2 +- src/imports/controls/Dial.qml | 10 ++++---- src/imports/controls/RadioButton.qml | 2 +- src/imports/controls/SpinBox.qml | 8 +++--- src/imports/controls/Switch.qml | 2 +- src/imports/controls/SwitchDelegate.qml | 2 +- src/imports/controls/TabButton.qml | 2 +- src/imports/controls/Tumbler.qml | 8 +++--- src/imports/controls/fusion/ButtonPanel.qml | 4 +-- src/imports/controls/fusion/CheckBox.qml | 2 +- src/imports/controls/fusion/CheckIndicator.qml | 6 ++--- src/imports/controls/fusion/ComboBox.qml | 2 +- src/imports/controls/fusion/Dial.qml | 10 ++++---- src/imports/controls/fusion/Page.qml | 2 +- src/imports/controls/fusion/Pane.qml | 2 +- src/imports/controls/fusion/RadioButton.qml | 2 +- src/imports/controls/fusion/RadioIndicator.qml | 4 +-- src/imports/controls/fusion/SliderGroove.qml | 18 ++++++------- src/imports/controls/fusion/SpinBox.qml | 4 +-- src/imports/controls/fusion/Switch.qml | 2 +- src/imports/controls/fusion/SwitchDelegate.qml | 2 +- src/imports/controls/fusion/SwitchIndicator.qml | 30 +++++++++++----------- src/imports/controls/fusion/Tumbler.qml | 8 +++--- src/imports/controls/imagine/RadioButton.qml | 2 +- src/imports/controls/imagine/ScrollBar.qml | 6 ++--- src/imports/controls/imagine/ScrollIndicator.qml | 4 +-- src/imports/controls/imagine/Switch.qml | 2 +- src/imports/controls/imagine/SwitchDelegate.qml | 2 +- src/imports/controls/imagine/Tumbler.qml | 8 +++--- src/imports/controls/material/CheckBox.qml | 2 +- src/imports/controls/material/CheckDelegate.qml | 2 +- src/imports/controls/material/CheckIndicator.qml | 8 +++--- src/imports/controls/material/Dial.qml | 10 ++++---- src/imports/controls/material/ElevationEffect.qml | 22 ++++++++-------- src/imports/controls/material/MenuItem.qml | 2 +- src/imports/controls/material/RadioButton.qml | 2 +- src/imports/controls/material/RadioDelegate.qml | 2 +- src/imports/controls/material/RadioIndicator.qml | 3 ++- src/imports/controls/material/RectangularGlow.qml | 2 +- src/imports/controls/material/ScrollBar.qml | 6 ++--- src/imports/controls/material/SliderHandle.qml | 2 +- src/imports/controls/material/SwitchDelegate.qml | 2 +- src/imports/controls/material/SwitchIndicator.qml | 12 ++++----- src/imports/controls/material/Tumbler.qml | 8 +++--- src/imports/controls/universal/CheckBox.qml | 2 +- src/imports/controls/universal/CheckDelegate.qml | 2 +- src/imports/controls/universal/CheckIndicator.qml | 23 +++++++++-------- src/imports/controls/universal/Dial.qml | 10 ++++---- src/imports/controls/universal/RadioButton.qml | 2 +- src/imports/controls/universal/RadioDelegate.qml | 2 +- src/imports/controls/universal/RadioIndicator.qml | 15 ++++++----- src/imports/controls/universal/ScrollBar.qml | 6 ++--- src/imports/controls/universal/Switch.qml | 2 +- src/imports/controls/universal/SwitchDelegate.qml | 2 +- src/imports/controls/universal/SwitchIndicator.qml | 25 +++++++++--------- src/imports/controls/universal/Tumbler.qml | 8 +++--- 56 files changed, 173 insertions(+), 169 deletions(-) (limited to 'src/imports/controls') diff --git a/src/imports/controls/CheckBox.qml b/src/imports/controls/CheckBox.qml index c58399f7..b1f50ed1 100644 --- a/src/imports/controls/CheckBox.qml +++ b/src/imports/controls/CheckBox.qml @@ -56,7 +56,7 @@ T.CheckBox { implicitWidth: 28 implicitHeight: 28 - x: text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 color: control.down ? control.palette.light : control.palette.base diff --git a/src/imports/controls/Dial.qml b/src/imports/controls/Dial.qml index b6324db5..cc4618a5 100644 --- a/src/imports/controls/Dial.qml +++ b/src/imports/controls/Dial.qml @@ -56,8 +56,8 @@ T.Dial { } handle: ColorImage { - x: background.x + background.width / 2 - handle.width / 2 - y: background.y + background.height / 2 - handle.height / 2 + x: control.background.x + control.background.width / 2 - control.handle.width / 2 + y: control.background.y + control.background.height / 2 - control.handle.height / 2 width: 14 height: 10 defaultColor: "#353637" @@ -67,12 +67,12 @@ T.Dial { opacity: control.enabled ? 1 : 0.3 transform: [ Translate { - y: -Math.min(background.width, background.height) * 0.4 + handle.height / 2 + y: -Math.min(control.background.width, control.background.height) * 0.4 + control.handle.height / 2 }, Rotation { angle: control.angle - origin.x: handle.width / 2 - origin.y: handle.height / 2 + origin.x: control.handle.width / 2 + origin.y: control.handle.height / 2 } ] } diff --git a/src/imports/controls/RadioButton.qml b/src/imports/controls/RadioButton.qml index 726e8862..cdf0c30e 100644 --- a/src/imports/controls/RadioButton.qml +++ b/src/imports/controls/RadioButton.qml @@ -56,7 +56,7 @@ T.RadioButton { implicitWidth: 28 implicitHeight: 28 - x: text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 radius: width / 2 diff --git a/src/imports/controls/SpinBox.qml b/src/imports/controls/SpinBox.qml index 824ce061..d1c2ea5b 100644 --- a/src/imports/controls/SpinBox.qml +++ b/src/imports/controls/SpinBox.qml @@ -77,9 +77,9 @@ T.SpinBox { inputMethodHints: control.inputMethodHints Rectangle { - x: -6 - (down.indicator ? 1 : 0) + x: -6 - (control.down.indicator ? 1 : 0) y: -6 - width: control.width - (up.indicator ? up.indicator.width - 1 : 0) - (down.indicator ? down.indicator.width - 1 : 0) + width: control.width - (control.up.indicator ? control.up.indicator.width - 1 : 0) - (control.down.indicator ? control.down.indicator.width - 1 : 0) height: control.height visible: control.activeFocus color: "transparent" @@ -93,7 +93,7 @@ T.SpinBox { height: parent.height implicitWidth: 40 implicitHeight: 40 - color: up.pressed ? control.palette.mid : control.palette.button + color: control.up.pressed ? control.palette.mid : control.palette.button Rectangle { x: (parent.width - width) / 2 @@ -116,7 +116,7 @@ T.SpinBox { height: parent.height implicitWidth: 40 implicitHeight: 40 - color: down.pressed ? control.palette.mid : control.palette.button + color: control.down.pressed ? control.palette.mid : control.palette.button Rectangle { x: (parent.width - width) / 2 diff --git a/src/imports/controls/Switch.qml b/src/imports/controls/Switch.qml index 522d9980..f62e2502 100644 --- a/src/imports/controls/Switch.qml +++ b/src/imports/controls/Switch.qml @@ -55,7 +55,7 @@ T.Switch { implicitWidth: 56 implicitHeight: 28 - x: text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 radius: 8 diff --git a/src/imports/controls/SwitchDelegate.qml b/src/imports/controls/SwitchDelegate.qml index 0abf7641..d6447e77 100644 --- a/src/imports/controls/SwitchDelegate.qml +++ b/src/imports/controls/SwitchDelegate.qml @@ -59,7 +59,7 @@ T.SwitchDelegate { implicitWidth: 56 implicitHeight: 28 - x: text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 radius: 8 diff --git a/src/imports/controls/TabButton.qml b/src/imports/controls/TabButton.qml index 34a5a115..f8b303ea 100644 --- a/src/imports/controls/TabButton.qml +++ b/src/imports/controls/TabButton.qml @@ -62,7 +62,7 @@ T.TabButton { icon: control.icon text: control.text font: control.font - color: checked ? control.palette.windowText : control.palette.brightText + color: control.checked ? control.palette.windowText : control.palette.brightText } background: Rectangle { diff --git a/src/imports/controls/Tumbler.qml b/src/imports/controls/Tumbler.qml index 621f4113..cd10263b 100644 --- a/src/imports/controls/Tumbler.qml +++ b/src/imports/controls/Tumbler.qml @@ -62,11 +62,11 @@ T.Tumbler { model: control.model delegate: control.delegate path: Path { - startX: contentItem.width / 2 - startY: -contentItem.delegateHeight / 2 + startX: control.contentItem.width / 2 + startY: -control.contentItem.delegateHeight / 2 PathLine { - x: contentItem.width / 2 - y: (control.visibleItemCount + 1) * contentItem.delegateHeight - contentItem.delegateHeight / 2 + x: control.contentItem.width / 2 + y: (control.visibleItemCount + 1) * control.contentItem.delegateHeight - control.contentItem.delegateHeight / 2 } } diff --git a/src/imports/controls/fusion/ButtonPanel.qml b/src/imports/controls/fusion/ButtonPanel.qml index 3250044b..125aa2f3 100644 --- a/src/imports/controls/fusion/ButtonPanel.qml +++ b/src/imports/controls/fusion/ButtonPanel.qml @@ -55,11 +55,11 @@ Rectangle { id: buttonGradient GradientStop { position: 0 - color: Fusion.gradientStart(Fusion.buttonColor(control.palette, panel.highlighted, control.down, control.hovered)) + color: Fusion.gradientStart(Fusion.buttonColor(panel.control.palette, panel.highlighted, panel.control.down, panel.control.hovered)) } GradientStop { position: 1 - color: Fusion.gradientStop(Fusion.buttonColor(control.palette, panel.highlighted, control.down, control.hovered)) + color: Fusion.gradientStop(Fusion.buttonColor(panel.control.palette, panel.highlighted, panel.control.down, panel.control.hovered)) } } diff --git a/src/imports/controls/fusion/CheckBox.qml b/src/imports/controls/fusion/CheckBox.qml index f90c80fb..edb4c77f 100644 --- a/src/imports/controls/fusion/CheckBox.qml +++ b/src/imports/controls/fusion/CheckBox.qml @@ -54,7 +54,7 @@ T.CheckBox { spacing: 6 indicator: CheckIndicator { - x: text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 control: control } diff --git a/src/imports/controls/fusion/CheckIndicator.qml b/src/imports/controls/fusion/CheckIndicator.qml index 314a6798..7dcfee30 100644 --- a/src/imports/controls/fusion/CheckIndicator.qml +++ b/src/imports/controls/fusion/CheckIndicator.qml @@ -59,7 +59,7 @@ Rectangle { width: parent.width - 2 height: 1 color: Fusion.topShadow - visible: control.enabled && !control.down + visible: indicator.control.enabled && !indicator.control.down } ColorImage { @@ -67,7 +67,7 @@ Rectangle { y: (parent.height - height) / 2 color: Color.transparent(indicator.checkMarkColor, 210 / 255) source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Fusion/images/checkmark.png" - visible: control.checkState === Qt.Checked || (control.checked && control.checkState === undefined) + visible: indicator.control.checkState === Qt.Checked || (indicator.control.checked && indicator.control.checkState === undefined) } Rectangle { @@ -75,7 +75,7 @@ Rectangle { width: parent.width - 6 height: parent.width - 6 - visible: control.checkState === Qt.PartiallyChecked + visible: indicator.control.checkState === Qt.PartiallyChecked gradient: Gradient { GradientStop { diff --git a/src/imports/controls/fusion/ComboBox.qml b/src/imports/controls/fusion/ComboBox.qml index 58764809..e9b836ef 100644 --- a/src/imports/controls/fusion/ComboBox.qml +++ b/src/imports/controls/fusion/ComboBox.qml @@ -159,7 +159,7 @@ T.ComboBox { } background: Rectangle { - color: popup.palette.window + color: control.popup.palette.window border.color: Fusion.outline(control.palette) Rectangle { diff --git a/src/imports/controls/fusion/Dial.qml b/src/imports/controls/fusion/Dial.qml index 423087c9..a1337242 100644 --- a/src/imports/controls/fusion/Dial.qml +++ b/src/imports/controls/fusion/Dial.qml @@ -57,19 +57,19 @@ T.Dial { } handle: KnobImpl { - x: background.x + background.width / 2 - handle.width / 2 - y: background.y + background.height / 2 - handle.height / 2 + x: control.background.x + control.background.width / 2 - control.handle.width / 2 + y: control.background.y + control.background.height / 2 - control.handle.height / 2 width: control.width / 7 height: control.height / 7 palette: control.palette transform: [ Translate { - y: -Math.min(background.width, background.height) * 0.42 + handle.height + y: -Math.min(control.background.width, control.background.height) * 0.42 + control.handle.height }, Rotation { angle: control.angle - origin.x: handle.width / 2 - origin.y: handle.height / 2 + origin.x: control.handle.width / 2 + origin.y: control.handle.height / 2 } ] } diff --git a/src/imports/controls/fusion/Page.qml b/src/imports/controls/fusion/Page.qml index 796dff1c..ce4b1d54 100644 --- a/src/imports/controls/fusion/Page.qml +++ b/src/imports/controls/fusion/Page.qml @@ -54,6 +54,6 @@ T.Page { + (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0)) background: Rectangle { - color: palette.window + color: control.palette.window } } diff --git a/src/imports/controls/fusion/Pane.qml b/src/imports/controls/fusion/Pane.qml index 69fbdca0..28be3b47 100644 --- a/src/imports/controls/fusion/Pane.qml +++ b/src/imports/controls/fusion/Pane.qml @@ -52,6 +52,6 @@ T.Pane { padding: 9 background: Rectangle { - color: palette.window + color: control.palette.window } } diff --git a/src/imports/controls/fusion/RadioButton.qml b/src/imports/controls/fusion/RadioButton.qml index fed6fa7c..a940aff3 100644 --- a/src/imports/controls/fusion/RadioButton.qml +++ b/src/imports/controls/fusion/RadioButton.qml @@ -54,7 +54,7 @@ T.RadioButton { spacing: 6 indicator: RadioIndicator { - x: text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 control: control } diff --git a/src/imports/controls/fusion/RadioIndicator.qml b/src/imports/controls/fusion/RadioIndicator.qml index 4b67d24e..c73cd49f 100644 --- a/src/imports/controls/fusion/RadioIndicator.qml +++ b/src/imports/controls/fusion/RadioIndicator.qml @@ -62,7 +62,7 @@ Rectangle { radius: width / 2 color: "transparent" border.color: Fusion.topShadow - visible: control.enabled && !control.down + visible: indicator.control.enabled && !indicator.control.down } Rectangle { @@ -73,6 +73,6 @@ Rectangle { radius: width / 2 color: Color.transparent(indicator.checkMarkColor, 180 / 255) border.color: Color.transparent(indicator.checkMarkColor, 200 / 255) - visible: control.checked + visible: indicator.control.checked } } diff --git a/src/imports/controls/fusion/SliderGroove.qml b/src/imports/controls/fusion/SliderGroove.qml index c34217a8..381a02b5 100644 --- a/src/imports/controls/fusion/SliderGroove.qml +++ b/src/imports/controls/fusion/SliderGroove.qml @@ -63,31 +63,31 @@ Rectangle { gradient: Gradient { GradientStop { position: 0 - color: Qt.darker(Fusion.grooveColor(control.palette), 1.1) + color: Qt.darker(Fusion.grooveColor(groove.control.palette), 1.1) } GradientStop { position: 1 - color: Qt.lighter(Fusion.grooveColor(control.palette), 1.1) + color: Qt.lighter(Fusion.grooveColor(groove.control.palette), 1.1) } } Rectangle { - x: control.horizontal ? groove.offset * parent.width : 0 - y: control.horizontal ? 0 : groove.visualProgress * parent.height - width: control.horizontal ? groove.progress * parent.width - groove.offset * parent.width : 5 - height: control.horizontal ? 5 : groove.progress * parent.height - groove.offset * parent.height + x: groove.control.horizontal ? groove.offset * parent.width : 0 + y: groove.control.horizontal ? 0 : groove.visualProgress * parent.height + width: groove.control.horizontal ? groove.progress * parent.width - groove.offset * parent.width : 5 + height: groove.control.horizontal ? 5 : groove.progress * parent.height - groove.offset * parent.height radius: 2 - border.color: Qt.darker(Fusion.highlightedOutline(control.palette), 1.1) + border.color: Qt.darker(Fusion.highlightedOutline(groove.control.palette), 1.1) gradient: Gradient { GradientStop { position: 0 - color: Fusion.highlight(control.palette) + color: Fusion.highlight(groove.control.palette) } GradientStop { position: 1 - color: Qt.lighter(Fusion.highlight(control.palette), 1.2) + color: Qt.lighter(Fusion.highlight(groove.control.palette), 1.2) } } } diff --git a/src/imports/controls/fusion/SpinBox.qml b/src/imports/controls/fusion/SpinBox.qml index fd77f9f3..41754f63 100644 --- a/src/imports/controls/fusion/SpinBox.qml +++ b/src/imports/controls/fusion/SpinBox.qml @@ -145,8 +145,8 @@ T.SpinBox { Rectangle { x: control.mirrored ? 1 : parent.width - width - 1 y: 1 - width: Math.max(up.indicator ? up.indicator.width : 0, - down.indicator ? down.indicator.width : 0) + 1 + width: Math.max(control.up.indicator ? control.up.indicator.width : 0, + control.down.indicator ? control.down.indicator.width : 0) + 1 height: parent.height - 2 radius: 2 diff --git a/src/imports/controls/fusion/Switch.qml b/src/imports/controls/fusion/Switch.qml index edcb3650..bf18003a 100644 --- a/src/imports/controls/fusion/Switch.qml +++ b/src/imports/controls/fusion/Switch.qml @@ -54,7 +54,7 @@ T.Switch { spacing: 6 indicator: SwitchIndicator { - x: text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 control: control } diff --git a/src/imports/controls/fusion/SwitchDelegate.qml b/src/imports/controls/fusion/SwitchDelegate.qml index 0db13b41..67c41924 100644 --- a/src/imports/controls/fusion/SwitchDelegate.qml +++ b/src/imports/controls/fusion/SwitchDelegate.qml @@ -57,7 +57,7 @@ T.SwitchDelegate { icon.height: 16 indicator: SwitchIndicator { - x: text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 control: control } diff --git a/src/imports/controls/fusion/SwitchIndicator.qml b/src/imports/controls/fusion/SwitchIndicator.qml index f89388c7..ae7c89a0 100644 --- a/src/imports/controls/fusion/SwitchIndicator.qml +++ b/src/imports/controls/fusion/SwitchIndicator.qml @@ -56,44 +56,44 @@ Rectangle { gradient: Gradient { GradientStop { position: 0 - color: Qt.darker(Fusion.grooveColor(control.palette), 1.1) + color: Qt.darker(Fusion.grooveColor(indicator.control.palette), 1.1) } GradientStop { position: 1 - color: Qt.lighter(Fusion.grooveColor(control.palette), 1.1) + color: Qt.lighter(Fusion.grooveColor(indicator.control.palette), 1.1) } } Rectangle { - x: control.mirrored ? handle.x : 0 - width: control.mirrored ? parent.width - handle.x : handle.x + handle.width + x: indicator.control.mirrored ? handle.x : 0 + width: indicator.control.mirrored ? parent.width - handle.x : handle.x + handle.width height: parent.height - opacity: control.checked ? 1 : 0 + opacity: indicator.control.checked ? 1 : 0 Behavior on opacity { - enabled: !control.down + enabled: !indicator.control.down NumberAnimation { duration: 80 } } radius: 2 - border.color: Qt.darker(Fusion.highlightedOutline(control.palette), 1.1) - border.width: control.enabled ? 1 : 0 + border.color: Qt.darker(Fusion.highlightedOutline(indicator.control.palette), 1.1) + border.width: indicator.control.enabled ? 1 : 0 gradient: Gradient { GradientStop { position: 0 - color: Fusion.highlight(control.palette) + color: Fusion.highlight(indicator.control.palette) } GradientStop { position: 1 - color: Qt.lighter(Fusion.highlight(control.palette), 1.2) + color: Qt.lighter(Fusion.highlight(indicator.control.palette), 1.2) } } } Rectangle { id: handle - x: Math.max(0, Math.min(parent.width - width, control.visualPosition * parent.width - (width / 2))) + x: Math.max(0, Math.min(parent.width - width, indicator.control.visualPosition * parent.width - (width / 2))) y: (parent.height - height) / 2 width: 20 height: 16 @@ -102,11 +102,11 @@ Rectangle { gradient: Gradient { GradientStop { position: 0 - color: Fusion.gradientStart(Fusion.buttonColor(control.palette, control.visualFocus, control.pressed, control.hovered)) + color: Fusion.gradientStart(Fusion.buttonColor(indicator.control.palette, indicator.control.visualFocus, indicator.control.pressed, indicator.control.hovered)) } GradientStop { position: 1 - color: Fusion.gradientStop(Fusion.buttonColor(control.palette, control.visualFocus, control.pressed, control.hovered)) + color: Fusion.gradientStop(Fusion.buttonColor(indicator.control.palette, indicator.control.visualFocus, indicator.control.pressed, indicator.control.hovered)) } } border.width: 1 @@ -115,7 +115,7 @@ Rectangle { Rectangle { width: parent.width height: parent.height - border.color: control.visualFocus ? Fusion.highlightedOutline(control.palette) : Fusion.outline(control.palette) + border.color: indicator.control.visualFocus ? Fusion.highlightedOutline(indicator.control.palette) : Fusion.outline(indicator.control.palette) color: "transparent" radius: 2 @@ -130,7 +130,7 @@ Rectangle { } Behavior on x { - enabled: !control.down + enabled: !indicator.control.down SmoothedAnimation { velocity: 200 } } } diff --git a/src/imports/controls/fusion/Tumbler.qml b/src/imports/controls/fusion/Tumbler.qml index 6abf7b5a..0129f06c 100644 --- a/src/imports/controls/fusion/Tumbler.qml +++ b/src/imports/controls/fusion/Tumbler.qml @@ -64,11 +64,11 @@ T.Tumbler { model: control.model delegate: control.delegate path: Path { - startX: contentItem.width / 2 - startY: -contentItem.delegateHeight / 2 + startX: control.contentItem.width / 2 + startY: -control.contentItem.delegateHeight / 2 PathLine { - x: contentItem.width / 2 - y: (control.visibleItemCount + 1) * contentItem.delegateHeight - contentItem.delegateHeight / 2 + x: control.contentItem.width / 2 + y: (control.visibleItemCount + 1) * control.contentItem.delegateHeight - control.contentItem.delegateHeight / 2 } } diff --git a/src/imports/controls/imagine/RadioButton.qml b/src/imports/controls/imagine/RadioButton.qml index d431695f..a50bc127 100644 --- a/src/imports/controls/imagine/RadioButton.qml +++ b/src/imports/controls/imagine/RadioButton.qml @@ -61,7 +61,7 @@ T.RadioButton { bottomInset: background ? -background.bottomInset || 0 : 0 indicator: Image { - x: text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 source: Imagine.url + "radiobutton-indicator" diff --git a/src/imports/controls/imagine/ScrollBar.qml b/src/imports/controls/imagine/ScrollBar.qml index 1b21becb..68772e12 100644 --- a/src/imports/controls/imagine/ScrollBar.qml +++ b/src/imports/controls/imagine/ScrollBar.qml @@ -105,14 +105,14 @@ T.ScrollBar { transitions: [ Transition { to: "active" - NumberAnimation { targets: [contentItem, background]; property: "opacity"; to: 1.0 } + NumberAnimation { targets: [control.contentItem, control.background]; property: "opacity"; to: 1.0 } }, Transition { from: "active" SequentialAnimation { - PropertyAction{ targets: [contentItem, background]; property: "opacity"; value: 1.0 } + PropertyAction{ targets: [control.contentItem, control.background]; property: "opacity"; value: 1.0 } PauseAnimation { duration: 3000 } - NumberAnimation { targets: [contentItem, background]; property: "opacity"; to: 0.0 } + NumberAnimation { targets: [control.contentItem, control.background]; property: "opacity"; to: 0.0 } } } ] diff --git a/src/imports/controls/imagine/ScrollIndicator.qml b/src/imports/controls/imagine/ScrollIndicator.qml index 2fd578ef..896cd876 100644 --- a/src/imports/controls/imagine/ScrollIndicator.qml +++ b/src/imports/controls/imagine/ScrollIndicator.qml @@ -98,13 +98,13 @@ T.ScrollIndicator { transitions: [ Transition { to: "active" - NumberAnimation { targets: [contentItem, background]; property: "opacity"; to: 1.0 } + NumberAnimation { targets: [contentItem, control.background]; property: "opacity"; to: 1.0 } }, Transition { from: "active" SequentialAnimation { PauseAnimation { duration: 5000 } - NumberAnimation { targets: [contentItem, background]; property: "opacity"; to: 0.0 } + NumberAnimation { targets: [contentItem, control.background]; property: "opacity"; to: 0.0 } } } ] diff --git a/src/imports/controls/imagine/Switch.qml b/src/imports/controls/imagine/Switch.qml index 7d1f3a2a..50b407ac 100644 --- a/src/imports/controls/imagine/Switch.qml +++ b/src/imports/controls/imagine/Switch.qml @@ -61,7 +61,7 @@ T.Switch { bottomInset: background ? -background.bottomInset || 0 : 0 indicator: NinePatchImage { - x: text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 width: Math.max(implicitWidth, handle.leftPadding && handle.rightPadding ? handle.implicitWidth : 2 * handle.implicitWidth) height: Math.max(implicitHeight, handle.implicitHeight) diff --git a/src/imports/controls/imagine/SwitchDelegate.qml b/src/imports/controls/imagine/SwitchDelegate.qml index e95023fb..73e5aac0 100644 --- a/src/imports/controls/imagine/SwitchDelegate.qml +++ b/src/imports/controls/imagine/SwitchDelegate.qml @@ -67,7 +67,7 @@ T.SwitchDelegate { icon.color: control.palette.text indicator: NinePatchImage { - x: text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 width: Math.max(implicitWidth, handle.leftPadding && handle.rightPadding ? handle.implicitWidth : 2 * handle.implicitWidth) height: Math.max(implicitHeight, handle.implicitHeight) diff --git a/src/imports/controls/imagine/Tumbler.qml b/src/imports/controls/imagine/Tumbler.qml index d49966b0..12025cc5 100644 --- a/src/imports/controls/imagine/Tumbler.qml +++ b/src/imports/controls/imagine/Tumbler.qml @@ -69,11 +69,11 @@ T.Tumbler { model: control.model delegate: control.delegate path: Path { - startX: contentItem.width / 2 - startY: -contentItem.delegateHeight / 2 + startX: control.contentItem.width / 2 + startY: -control.contentItem.delegateHeight / 2 PathLine { - x: contentItem.width / 2 - y: (control.visibleItemCount + 1) * contentItem.delegateHeight - contentItem.delegateHeight / 2 + x: control.contentItem.width / 2 + y: (control.visibleItemCount + 1) * control.contentItem.delegateHeight - control.contentItem.delegateHeight / 2 } } diff --git a/src/imports/controls/material/CheckBox.qml b/src/imports/controls/material/CheckBox.qml index cad5ae97..159e2f12 100644 --- a/src/imports/controls/material/CheckBox.qml +++ b/src/imports/controls/material/CheckBox.qml @@ -53,7 +53,7 @@ T.CheckBox { verticalPadding: padding + 7 indicator: CheckIndicator { - x: text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 control: control diff --git a/src/imports/controls/material/CheckDelegate.qml b/src/imports/controls/material/CheckDelegate.qml index 34495e2d..c7d7575e 100644 --- a/src/imports/controls/material/CheckDelegate.qml +++ b/src/imports/controls/material/CheckDelegate.qml @@ -59,7 +59,7 @@ T.CheckDelegate { icon.color: enabled ? Material.foreground : Material.hintTextColor indicator: CheckIndicator { - x: text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 control: control } diff --git a/src/imports/controls/material/CheckIndicator.qml b/src/imports/controls/material/CheckIndicator.qml index 673d6f48..7caf8553 100644 --- a/src/imports/controls/material/CheckIndicator.qml +++ b/src/imports/controls/material/CheckIndicator.qml @@ -75,7 +75,7 @@ Rectangle { source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Material/images/check.png" fillMode: Image.PreserveAspectFit - scale: checkState === Qt.Checked ? 1 : 0 + scale: indicatorItem.checkState === Qt.Checked ? 1 : 0 Behavior on scale { NumberAnimation { duration: 100 } } } @@ -85,18 +85,18 @@ Rectangle { width: 12 height: 3 - scale: checkState === Qt.PartiallyChecked ? 1 : 0 + scale: indicatorItem.checkState === Qt.PartiallyChecked ? 1 : 0 Behavior on scale { NumberAnimation { duration: 100 } } } states: [ State { name: "checked" - when: checkState === Qt.Checked + when: indicatorItem.checkState === Qt.Checked }, State { name: "partiallychecked" - when: checkState === Qt.PartiallyChecked + when: indicatorItem.checkState === Qt.PartiallyChecked } ] diff --git a/src/imports/controls/material/Dial.qml b/src/imports/controls/material/Dial.qml index 1148dd25..1f80a7fe 100644 --- a/src/imports/controls/material/Dial.qml +++ b/src/imports/controls/material/Dial.qml @@ -62,16 +62,16 @@ T.Dial { } handle: SliderHandle { - x: background.x + background.width / 2 - handle.width / 2 - y: background.y + background.height / 2 - handle.height / 2 + x: control.background.x + control.background.width / 2 - control.handle.width / 2 + y: control.background.y + control.background.height / 2 - control.handle.height / 2 transform: [ Translate { - y: -background.height * 0.4 + handle.height / 2 + y: -control.background.height * 0.4 + control.handle.height / 2 }, Rotation { angle: control.angle - origin.x: handle.width / 2 - origin.y: handle.height / 2 + origin.x: control.handle.width / 2 + origin.y: control.handle.height / 2 } ] implicitWidth: 10 diff --git a/src/imports/controls/material/ElevationEffect.qml b/src/imports/controls/material/ElevationEffect.qml index 06b654a8..73a2a238 100644 --- a/src/imports/controls/material/ElevationEffect.qml +++ b/src/imports/controls/material/ElevationEffect.qml @@ -235,9 +235,9 @@ Item { // the size of the parent, so we don't need to worry about the extra padding // in the parent Item BoxShadow { - offsetY: _shadow[0].offset - blurRadius: _shadow[0].blur - spreadRadius: _shadow[0].spread + offsetY: effect._shadow[0].offset + blurRadius: effect._shadow[0].blur + spreadRadius: effect._shadow[0].spread color: Qt.rgba(0,0,0, 0.2) fullWidth: effect.fullWidth @@ -246,9 +246,9 @@ Item { } BoxShadow { - offsetY: _shadow[1].offset - blurRadius: _shadow[1].blur - spreadRadius: _shadow[1].spread + offsetY: effect._shadow[1].offset + blurRadius: effect._shadow[1].blur + spreadRadius: effect._shadow[1].spread color: Qt.rgba(0,0,0, 0.14) fullWidth: effect.fullWidth @@ -257,9 +257,9 @@ Item { } BoxShadow { - offsetY: _shadow[2].offset - blurRadius: _shadow[2].blur - spreadRadius: _shadow[2].spread + offsetY: effect._shadow[2].offset + blurRadius: effect._shadow[2].blur + spreadRadius: effect._shadow[2].spread color: Qt.rgba(0,0,0, 0.12) fullWidth: effect.fullWidth @@ -272,8 +272,8 @@ Item { x: (parent.width - width)/2 y: (parent.height - height)/2 - width: sourceItem.width - height: sourceItem.height + width: effect.sourceItem.width + height: effect.sourceItem.height } } } diff --git a/src/imports/controls/material/MenuItem.qml b/src/imports/controls/material/MenuItem.qml index 069ad216..a5d2f8a1 100644 --- a/src/imports/controls/material/MenuItem.qml +++ b/src/imports/controls/material/MenuItem.qml @@ -59,7 +59,7 @@ T.MenuItem { icon.color: enabled ? Material.foreground : Material.hintTextColor indicator: CheckIndicator { - x: text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 visible: control.checkable control: control diff --git a/src/imports/controls/material/RadioButton.qml b/src/imports/controls/material/RadioButton.qml index 47bbbd80..dadcc84f 100644 --- a/src/imports/controls/material/RadioButton.qml +++ b/src/imports/controls/material/RadioButton.qml @@ -53,7 +53,7 @@ T.RadioButton { verticalPadding: padding + 6 indicator: RadioIndicator { - x: text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 control: control diff --git a/src/imports/controls/material/RadioDelegate.qml b/src/imports/controls/material/RadioDelegate.qml index edc93c2c..c977d332 100644 --- a/src/imports/controls/material/RadioDelegate.qml +++ b/src/imports/controls/material/RadioDelegate.qml @@ -59,7 +59,7 @@ T.RadioDelegate { icon.color: enabled ? Material.foreground : Material.hintTextColor indicator: RadioIndicator { - x: text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 control: control } diff --git a/src/imports/controls/material/RadioIndicator.qml b/src/imports/controls/material/RadioIndicator.qml index 4be816ad..e2c55184 100644 --- a/src/imports/controls/material/RadioIndicator.qml +++ b/src/imports/controls/material/RadioIndicator.qml @@ -39,6 +39,7 @@ import QtQuick.Controls.Material 2.12 import QtQuick.Controls.Material.impl 2.12 Rectangle { + id: indicator implicitWidth: 20 implicitHeight: 20 radius: width / 2 @@ -56,6 +57,6 @@ Rectangle { height: 10 radius: width / 2 color: parent.border.color - visible: control.checked || control.down + visible: indicator.control.checked || indicator.control.down } } diff --git a/src/imports/controls/material/RectangularGlow.qml b/src/imports/controls/material/RectangularGlow.qml index 58e11b9f..c01e536d 100644 --- a/src/imports/controls/material/RectangularGlow.qml +++ b/src/imports/controls/material/RectangularGlow.qml @@ -224,7 +224,7 @@ Item { height: parent.height + rootItem.glowRadius * 2 + cornerRadius * 2 function clampedCornerRadius() { - var maxCornerRadius = Math.min(rootItem.width, rootItem.height) / 2 + glowRadius; + var maxCornerRadius = Math.min(rootItem.width, rootItem.height) / 2 + rootItem.glowRadius; return Math.max(0, Math.min(rootItem.cornerRadius, maxCornerRadius)) } diff --git a/src/imports/controls/material/ScrollBar.qml b/src/imports/controls/material/ScrollBar.qml index 8f2cc99d..fda64346 100644 --- a/src/imports/controls/material/ScrollBar.qml +++ b/src/imports/controls/material/ScrollBar.qml @@ -75,14 +75,14 @@ T.ScrollBar { transitions: [ Transition { to: "active" - NumberAnimation { targets: [contentItem, background]; property: "opacity"; to: 1.0 } + NumberAnimation { targets: [control.contentItem, control.background]; property: "opacity"; to: 1.0 } }, Transition { from: "active" SequentialAnimation { - PropertyAction{ targets: [contentItem, background]; property: "opacity"; value: 1.0 } + PropertyAction{ targets: [control.contentItem, control.background]; property: "opacity"; value: 1.0 } PauseAnimation { duration: 2450 } - NumberAnimation { targets: [contentItem, background]; property: "opacity"; to: 0.0 } + NumberAnimation { targets: [control.contentItem, control.background]; property: "opacity"; to: 0.0 } } } ] diff --git a/src/imports/controls/material/SliderHandle.qml b/src/imports/controls/material/SliderHandle.qml index b3bdb802..2e3120e4 100644 --- a/src/imports/controls/material/SliderHandle.qml +++ b/src/imports/controls/material/SliderHandle.qml @@ -71,6 +71,6 @@ Item { width: 22; height: 22 pressed: root.handlePressed active: root.handlePressed || root.handleHasFocus || root.handleHovered - color: control.Material.rippleColor + color: root.control.Material.rippleColor } } diff --git a/src/imports/controls/material/SwitchDelegate.qml b/src/imports/controls/material/SwitchDelegate.qml index bae5171b..834a3dfa 100644 --- a/src/imports/controls/material/SwitchDelegate.qml +++ b/src/imports/controls/material/SwitchDelegate.qml @@ -59,7 +59,7 @@ T.SwitchDelegate { icon.color: enabled ? Material.foreground : Material.hintTextColor indicator: SwitchIndicator { - x: text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 control: control } diff --git a/src/imports/controls/material/SwitchIndicator.qml b/src/imports/controls/material/SwitchIndicator.qml index 7fef407c..3034e771 100644 --- a/src/imports/controls/material/SwitchIndicator.qml +++ b/src/imports/controls/material/SwitchIndicator.qml @@ -53,22 +53,22 @@ Item { height: 14 radius: height / 2 y: parent.height / 2 - height / 2 - color: control.enabled ? (control.checked ? control.Material.switchCheckedTrackColor : control.Material.switchUncheckedTrackColor) - : control.Material.switchDisabledTrackColor + color: indicator.control.enabled ? (indicator.control.checked ? indicator.control.Material.switchCheckedTrackColor : indicator.control.Material.switchUncheckedTrackColor) + : indicator.control.Material.switchDisabledTrackColor } Rectangle { id: handle - x: Math.max(0, Math.min(parent.width - width, control.visualPosition * parent.width - (width / 2))) + x: Math.max(0, Math.min(parent.width - width, indicator.control.visualPosition * parent.width - (width / 2))) y: (parent.height - height) / 2 width: 20 height: 20 radius: width / 2 - color: control.enabled ? (control.checked ? control.Material.switchCheckedHandleColor : control.Material.switchUncheckedHandleColor) - : control.Material.switchDisabledHandleColor + color: indicator.control.enabled ? (indicator.control.checked ? indicator.control.Material.switchCheckedHandleColor : indicator.control.Material.switchUncheckedHandleColor) + : indicator.control.Material.switchDisabledHandleColor Behavior on x { - enabled: !control.pressed + enabled: !indicator.control.pressed SmoothedAnimation { duration: 300 } diff --git a/src/imports/controls/material/Tumbler.qml b/src/imports/controls/material/Tumbler.qml index 92e24430..30d66c58 100644 --- a/src/imports/controls/material/Tumbler.qml +++ b/src/imports/controls/material/Tumbler.qml @@ -63,11 +63,11 @@ T.Tumbler { model: control.model delegate: control.delegate path: Path { - startX: contentItem.width / 2 - startY: -contentItem.delegateHeight / 2 + startX: control.contentItem.width / 2 + startY: -control.contentItem.delegateHeight / 2 PathLine { - x: contentItem.width / 2 - y: (control.visibleItemCount + 1) * contentItem.delegateHeight - contentItem.delegateHeight / 2 + x: control.contentItem.width / 2 + y: (control.visibleItemCount + 1) * control.contentItem.delegateHeight - control.contentItem.delegateHeight / 2 } } diff --git a/src/imports/controls/universal/CheckBox.qml b/src/imports/controls/universal/CheckBox.qml index b726339a..9494f4d2 100644 --- a/src/imports/controls/universal/CheckBox.qml +++ b/src/imports/controls/universal/CheckBox.qml @@ -54,7 +54,7 @@ T.CheckBox { property bool useSystemFocusVisuals: true indicator: CheckIndicator { - x: text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 control: control } diff --git a/src/imports/controls/universal/CheckDelegate.qml b/src/imports/controls/universal/CheckDelegate.qml index 7847f459..b544c42e 100644 --- a/src/imports/controls/universal/CheckDelegate.qml +++ b/src/imports/controls/universal/CheckDelegate.qml @@ -61,7 +61,7 @@ T.CheckDelegate { icon.color: Color.transparent(Universal.foreground, enabled ? 1.0 : 0.2) indicator: CheckIndicator { - x: text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 control: control } diff --git a/src/imports/controls/universal/CheckIndicator.qml b/src/imports/controls/universal/CheckIndicator.qml index 0f535ea6..8f41617a 100644 --- a/src/imports/controls/universal/CheckIndicator.qml +++ b/src/imports/controls/universal/CheckIndicator.qml @@ -41,6 +41,7 @@ import QtQuick.Controls.impl 2.12 import QtQuick.Controls.Universal 2.12 Rectangle { + id: indicator implicitWidth: 20 implicitHeight: 20 @@ -59,23 +60,23 @@ Rectangle { x: (parent.width - width) / 2 y: (parent.height - height) / 2 - visible: control.checkState === Qt.Checked - color: !control.enabled ? control.Universal.baseLowColor : control.Universal.chromeWhiteColor + visible: indicator.control.checkState === Qt.Checked + color: !indicator.control.enabled ? indicator.control.Universal.baseLowColor : indicator.control.Universal.chromeWhiteColor source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Universal/images/checkmark.png" } Rectangle { x: (parent.width - width) / 2 y: (parent.height - height) / 2 - width: partiallyChecked ? parent.width / 2 : parent.width - height: partiallyChecked ? parent.height / 2 : parent.height + width: indicator.partiallyChecked ? parent.width / 2 : parent.width + height: indicator.partiallyChecked ? parent.height / 2 : parent.height - visible: !control.pressed && control.hovered || partiallyChecked - color: !partiallyChecked ? "transparent" : - !control.enabled ? control.Universal.baseLowColor : - control.down ? control.Universal.baseMediumColor : - control.hovered ? control.Universal.baseHighColor : control.Universal.baseMediumHighColor - border.width: partiallyChecked ? 0 : 2 // CheckBoxBorderThemeThickness - border.color: control.Universal.baseMediumLowColor + visible: !indicator.control.pressed && indicator.control.hovered || indicator.partiallyChecked + color: !indicator.partiallyChecked ? "transparent" : + !indicator.control.enabled ? indicator.control.Universal.baseLowColor : + indicator.control.down ? indicator.control.Universal.baseMediumColor : + indicator.control.hovered ? indicator.control.Universal.baseHighColor : indicator.control.Universal.baseMediumHighColor + border.width: indicator.partiallyChecked ? 0 : 2 // CheckBoxBorderThemeThickness + border.color: indicator.control.Universal.baseMediumLowColor } } diff --git a/src/imports/controls/universal/Dial.qml b/src/imports/controls/universal/Dial.qml index 276c87d6..f45d912e 100644 --- a/src/imports/controls/universal/Dial.qml +++ b/src/imports/controls/universal/Dial.qml @@ -64,8 +64,8 @@ T.Dial { implicitWidth: 14 implicitHeight: 14 - x: background.x + background.width / 2 - handle.width / 2 - y: background.y + background.height / 2 - handle.height / 2 + x: control.background.x + control.background.width / 2 - control.handle.width / 2 + y: control.background.y + control.background.height / 2 - control.handle.height / 2 radius: width / 2 color: !control.enabled ? control.Universal.baseLowColor : @@ -74,12 +74,12 @@ T.Dial { transform: [ Translate { - y: -background.height * 0.4 + handle.height / 2 + y: -control.background.height * 0.4 + control.handle.height / 2 }, Rotation { angle: control.angle - origin.x: handle.width / 2 - origin.y: handle.height / 2 + origin.x: control.handle.width / 2 + origin.y: control.handle.height / 2 } ] } diff --git a/src/imports/controls/universal/RadioButton.qml b/src/imports/controls/universal/RadioButton.qml index 5a61c3f7..a50cdf9b 100644 --- a/src/imports/controls/universal/RadioButton.qml +++ b/src/imports/controls/universal/RadioButton.qml @@ -54,7 +54,7 @@ T.RadioButton { property bool useSystemFocusVisuals: true indicator: RadioIndicator { - x: text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 control: control } diff --git a/src/imports/controls/universal/RadioDelegate.qml b/src/imports/controls/universal/RadioDelegate.qml index d56cef33..9fc910f3 100644 --- a/src/imports/controls/universal/RadioDelegate.qml +++ b/src/imports/controls/universal/RadioDelegate.qml @@ -61,7 +61,7 @@ T.RadioDelegate { icon.color: Color.transparent(Universal.foreground, enabled ? 1.0 : 0.2) indicator: RadioIndicator { - x: text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 control: control } diff --git a/src/imports/controls/universal/RadioIndicator.qml b/src/imports/controls/universal/RadioIndicator.qml index 68d53d45..1a32decb 100644 --- a/src/imports/controls/universal/RadioIndicator.qml +++ b/src/imports/controls/universal/RadioIndicator.qml @@ -38,6 +38,7 @@ import QtQuick 2.12 import QtQuick.Controls.Universal 2.12 Rectangle { + id: indicator implicitWidth: 20 implicitHeight: 20 radius: width / 2 @@ -56,11 +57,11 @@ Rectangle { height: parent.height radius: width / 2 - opacity: control.checked ? 1 : 0 + opacity: indicator.control.checked ? 1 : 0 color: "transparent" border.width: 2 // RadioButtonBorderThemeThickness - border.color: !control.enabled ? control.Universal.baseLowColor : - control.down ? control.Universal.baseMediumColor : control.Universal.accent + border.color: !indicator.control.enabled ? indicator.control.Universal.baseLowColor : + indicator.control.down ? indicator.control.Universal.baseMediumColor : indicator.control.Universal.accent } Rectangle { @@ -71,9 +72,9 @@ Rectangle { height: parent.height / 2 radius: width / 2 - opacity: control.checked ? 1 : 0 - color: !control.enabled ? control.Universal.baseLowColor : - control.down ? control.Universal.baseMediumColor : - control.hovered ? control.Universal.baseHighColor : control.Universal.baseMediumHighColor + opacity: indicator.control.checked ? 1 : 0 + color: !indicator.control.enabled ? indicator.control.Universal.baseLowColor : + indicator.control.down ? indicator.control.Universal.baseMediumColor : + indicator.control.hovered ? indicator.control.Universal.baseHighColor : indicator.control.Universal.baseMediumHighColor } } diff --git a/src/imports/controls/universal/ScrollBar.qml b/src/imports/controls/universal/ScrollBar.qml index 1e049533..8b8e325d 100644 --- a/src/imports/controls/universal/ScrollBar.qml +++ b/src/imports/controls/universal/ScrollBar.qml @@ -79,14 +79,14 @@ T.ScrollBar { transitions: [ Transition { to: "active" - NumberAnimation { targets: [contentItem, background]; property: "opacity"; to: 1.0 } + NumberAnimation { targets: [control.contentItem, control.background]; property: "opacity"; to: 1.0 } }, Transition { from: "active" SequentialAnimation { - PropertyAction{ targets: [contentItem, background]; property: "opacity"; value: 1.0 } + PropertyAction{ targets: [control.contentItem, control.background]; property: "opacity"; value: 1.0 } PauseAnimation { duration: 3000 } - NumberAnimation { targets: [contentItem, background]; property: "opacity"; to: 0.0 } + NumberAnimation { targets: [control.contentItem, control.background]; property: "opacity"; to: 0.0 } } } ] diff --git a/src/imports/controls/universal/Switch.qml b/src/imports/controls/universal/Switch.qml index 962d5157..284b1229 100644 --- a/src/imports/controls/universal/Switch.qml +++ b/src/imports/controls/universal/Switch.qml @@ -54,7 +54,7 @@ T.Switch { property bool useSystemFocusVisuals: true indicator: SwitchIndicator { - x: text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 control: control } diff --git a/src/imports/controls/universal/SwitchDelegate.qml b/src/imports/controls/universal/SwitchDelegate.qml index bf6069f5..56ba8494 100644 --- a/src/imports/controls/universal/SwitchDelegate.qml +++ b/src/imports/controls/universal/SwitchDelegate.qml @@ -61,7 +61,7 @@ T.SwitchDelegate { icon.color: Color.transparent(Universal.foreground, enabled ? 1.0 : 0.2) indicator: SwitchIndicator { - x: text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2 + x: control.text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2 y: control.topPadding + (control.availableHeight - height) / 2 control: control } diff --git a/src/imports/controls/universal/SwitchIndicator.qml b/src/imports/controls/universal/SwitchIndicator.qml index ad9a23e9..10f39515 100644 --- a/src/imports/controls/universal/SwitchIndicator.qml +++ b/src/imports/controls/universal/SwitchIndicator.qml @@ -39,6 +39,7 @@ import QtQuick.Templates 2.12 as T import QtQuick.Controls.Universal 2.12 Item { + id: indicator implicitWidth: 44 implicitHeight: 20 @@ -47,13 +48,13 @@ Item { height: parent.height radius: 10 - color: !control.enabled ? "transparent" : - control.pressed ? control.Universal.baseMediumColor : - control.checked ? control.Universal.accent : "transparent" - border.color: !control.enabled ? control.Universal.baseLowColor : - control.checked && !control.pressed ? control.Universal.accent : - control.hovered && !control.checked && !control.pressed ? control.Universal.baseHighColor : control.Universal.baseMediumColor - opacity: control.hovered && control.checked && !control.pressed ? (control.Universal.theme === Universal.Light ? 0.7 : 0.9) : 1.0 + color: !indicator.control.enabled ? "transparent" : + indicator.control.pressed ? indicator.control.Universal.baseMediumColor : + indicator.control.checked ? indicator.control.Universal.accent : "transparent" + border.color: !indicator.control.enabled ? indicator.control.Universal.baseLowColor : + indicator.control.checked && !indicator.control.pressed ? indicator.control.Universal.accent : + indicator.control.hovered && !indicator.control.checked && !indicator.control.pressed ? indicator.control.Universal.baseHighColor : indicator.control.Universal.baseMediumColor + opacity: indicator.control.hovered && indicator.control.checked && !indicator.control.pressed ? (indicator.control.Universal.theme === Universal.Light ? 0.7 : 0.9) : 1.0 border.width: 2 } @@ -64,16 +65,16 @@ Item { height: 10 radius: 5 - color: !control.enabled ? control.Universal.baseLowColor : - control.pressed || control.checked ? control.Universal.chromeWhiteColor : - control.hovered && !control.checked ? control.Universal.baseHighColor : control.Universal.baseMediumHighColor + color: !indicator.control.enabled ? indicator.control.Universal.baseLowColor : + indicator.control.pressed || indicator.control.checked ? indicator.control.Universal.chromeWhiteColor : + indicator.control.hovered && !indicator.control.checked ? indicator.control.Universal.baseHighColor : indicator.control.Universal.baseMediumHighColor x: Math.max(5, Math.min(parent.width - width - 5, - control.visualPosition * parent.width - (width / 2))) + indicator.control.visualPosition * parent.width - (width / 2))) y: (parent.height - height) / 2 Behavior on x { - enabled: !control.pressed + enabled: !indicator.control.pressed SmoothedAnimation { velocity: 200 } } } diff --git a/src/imports/controls/universal/Tumbler.qml b/src/imports/controls/universal/Tumbler.qml index f7338c2b..d0e7b12f 100644 --- a/src/imports/controls/universal/Tumbler.qml +++ b/src/imports/controls/universal/Tumbler.qml @@ -63,11 +63,11 @@ T.Tumbler { model: control.model delegate: control.delegate path: Path { - startX: contentItem.width / 2 - startY: -contentItem.delegateHeight / 2 + startX: control.contentItem.width / 2 + startY: -control.contentItem.delegateHeight / 2 PathLine { - x: contentItem.width / 2 - y: (control.visibleItemCount + 1) * contentItem.delegateHeight - contentItem.delegateHeight / 2 + x: control.contentItem.width / 2 + y: (control.visibleItemCount + 1) * control.contentItem.delegateHeight - control.contentItem.delegateHeight / 2 } } -- cgit v1.2.3