aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/controls/universal
diff options
context:
space:
mode:
Diffstat (limited to 'src/imports/controls/universal')
-rw-r--r--src/imports/controls/universal/CheckBox.qml2
-rw-r--r--src/imports/controls/universal/CheckDelegate.qml2
-rw-r--r--src/imports/controls/universal/CheckIndicator.qml23
-rw-r--r--src/imports/controls/universal/ComboBox.qml12
-rw-r--r--src/imports/controls/universal/Dial.qml10
-rw-r--r--src/imports/controls/universal/RadioButton.qml2
-rw-r--r--src/imports/controls/universal/RadioDelegate.qml2
-rw-r--r--src/imports/controls/universal/RadioIndicator.qml15
-rw-r--r--src/imports/controls/universal/ScrollBar.qml7
-rw-r--r--src/imports/controls/universal/Switch.qml2
-rw-r--r--src/imports/controls/universal/SwitchDelegate.qml2
-rw-r--r--src/imports/controls/universal/SwitchIndicator.qml25
-rw-r--r--src/imports/controls/universal/Tumbler.qml8
13 files changed, 58 insertions, 54 deletions
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/ComboBox.qml b/src/imports/controls/universal/ComboBox.qml
index 3ec7e98b..9a4e119b 100644
--- a/src/imports/controls/universal/ComboBox.qml
+++ b/src/imports/controls/universal/ComboBox.qml
@@ -34,12 +34,12 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtQuick.Window 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.impl 2.12
-import QtQuick.Templates 2.12 as T
-import QtQuick.Controls.Universal 2.12
+import QtQuick 2.14
+import QtQuick.Window 2.14
+import QtQuick.Controls 2.14
+import QtQuick.Controls.impl 2.14
+import QtQuick.Templates 2.14 as T
+import QtQuick.Controls.Universal 2.14
T.ComboBox {
id: control
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 d6a525f7..8b8e325d 100644
--- a/src/imports/controls/universal/ScrollBar.qml
+++ b/src/imports/controls/universal/ScrollBar.qml
@@ -47,6 +47,7 @@ T.ScrollBar {
implicitContentHeight + topPadding + bottomPadding)
visible: control.policy !== T.ScrollBar.AlwaysOff
+ minimumSize: orientation == Qt.Horizontal ? height / width : width / height
// TODO: arrows
@@ -78,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
}
}