aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/controls/imagine
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2018-01-20 22:43:14 +0100
committerLiang Qi <liang.qi@qt.io>2018-01-20 22:43:14 +0100
commit205e714cf8dfba9327eaddbb52e03c1448bef047 (patch)
treeeaefe818853c0980adc3965b2447ceed49e9e048 /src/imports/controls/imagine
parentf8fd551aa96fa83d4cad3b43b4c84aa04cce3e7a (diff)
parentdeb779cdbaeeaea52ca0e99c9295db587c25f41c (diff)
Merge remote-tracking branch 'origin/5.10' into dev
Diffstat (limited to 'src/imports/controls/imagine')
-rw-r--r--src/imports/controls/imagine/BusyIndicator.qml6
-rw-r--r--src/imports/controls/imagine/DelayButton.qml21
-rw-r--r--src/imports/controls/imagine/GroupBox.qml9
-rw-r--r--src/imports/controls/imagine/ProgressBar.qml31
-rw-r--r--src/imports/controls/imagine/SpinBox.qml6
-rw-r--r--src/imports/controls/imagine/Switch.qml5
-rw-r--r--src/imports/controls/imagine/SwitchDelegate.qml5
-rw-r--r--src/imports/controls/imagine/Tumbler.qml2
8 files changed, 42 insertions, 43 deletions
diff --git a/src/imports/controls/imagine/BusyIndicator.qml b/src/imports/controls/imagine/BusyIndicator.qml
index d373dcfd..a9a5ac40 100644
--- a/src/imports/controls/imagine/BusyIndicator.qml
+++ b/src/imports/controls/imagine/BusyIndicator.qml
@@ -53,10 +53,10 @@ T.BusyIndicator {
bottomPadding: background ? background.bottomPadding : 0
contentItem: AnimatedImage {
- playing: control.running
opacity: control.running ? 1 : 0
- visible: control.running || animator.running
- Behavior on opacity { OpacityAnimator { id: animator; duration: 250 } }
+ playing: control.running || opacity > 0
+ visible: control.running || opacity > 0
+ Behavior on opacity { OpacityAnimator { duration: 250 } }
source: Imagine.url + "busyindicator-animation"
AnimatedImageSelector on source {
diff --git a/src/imports/controls/imagine/DelayButton.qml b/src/imports/controls/imagine/DelayButton.qml
index 14db2b96..f0a2c568 100644
--- a/src/imports/controls/imagine/DelayButton.qml
+++ b/src/imports/controls/imagine/DelayButton.qml
@@ -86,8 +86,8 @@ T.DelayButton {
]
}
- NinePatchImage {
- id: progress
+ readonly property NinePatchImage progress: NinePatchImage {
+ parent: control.background
width: control.progress * parent.width
height: parent.height
visible: false
@@ -105,10 +105,9 @@ T.DelayButton {
}
}
- NinePatchImage {
- id: mask
- width: parent.width
- height: parent.height
+ readonly property NinePatchImage mask: NinePatchImage {
+ width: control.background.width
+ height: control.background.height
visible: false
source: Imagine.url + "delaybutton-mask"
@@ -124,15 +123,15 @@ T.DelayButton {
}
}
- OpacityMask {
- id: effect
+ readonly property OpacityMask effect: OpacityMask {
+ parent: control.background
width: source.width
height: source.height
- source: progress
+ source: control.background.progress
maskSource: ShaderEffectSource {
- sourceItem: mask
- sourceRect: Qt.rect(0, 0, effect.width, effect.height)
+ sourceItem: control.background.mask
+ sourceRect: Qt.rect(0, 0, control.background.effect.width, control.background.effect.height)
}
}
}
diff --git a/src/imports/controls/imagine/GroupBox.qml b/src/imports/controls/imagine/GroupBox.qml
index b2b199a3..f262fb5f 100644
--- a/src/imports/controls/imagine/GroupBox.qml
+++ b/src/imports/controls/imagine/GroupBox.qml
@@ -60,10 +60,10 @@ T.GroupBox {
label: Label {
width: control.width
- topPadding: header.topPadding
- leftPadding: header.leftPadding
- rightPadding: header.rightPadding
- bottomPadding: header.bottomPadding
+ topPadding: background.topPadding
+ leftPadding: background.leftPadding
+ rightPadding: background.rightPadding
+ bottomPadding: background.bottomPadding
text: control.title
font: control.font
@@ -73,7 +73,6 @@ T.GroupBox {
color: control.palette.windowText
background: NinePatchImage {
- id: header
width: parent.width
height: parent.height
diff --git a/src/imports/controls/imagine/ProgressBar.qml b/src/imports/controls/imagine/ProgressBar.qml
index 5cfc292c..7fd0ce1b 100644
--- a/src/imports/controls/imagine/ProgressBar.qml
+++ b/src/imports/controls/imagine/ProgressBar.qml
@@ -58,11 +58,13 @@ T.ProgressBar {
implicitHeight: control.indeterminate ? animation.implicitHeight || progress.implicitHeight : progress.implicitHeight
scale: control.mirrored ? -1 : 1
- NinePatchImage {
- id: progress
+ readonly property bool hasMask: mask.status !== Image.Null
+
+ readonly property NinePatchImage progress: NinePatchImage {
+ parent: control.contentItem
width: control.position * parent.width
height: parent.height
- visible: !control.indeterminate && mask.status === Image.Null
+ visible: !control.indeterminate && !control.contentItem.hasMask
source: Imagine.url + "progressbar-progress"
NinePatchImageSelector on source {
@@ -75,12 +77,12 @@ T.ProgressBar {
}
}
- AnimatedImage {
- id: animation
+ readonly property AnimatedImage animation: AnimatedImage {
+ parent: control.contentItem
width: parent.width
height: parent.height
playing: control.indeterminate
- visible: control.indeterminate && mask.status === Image.Null
+ visible: control.indeterminate && !control.contentItem.hasMask
source: Imagine.url + "progressbar-animation"
AnimatedImageSelector on source {
@@ -92,10 +94,9 @@ T.ProgressBar {
}
}
- NinePatchImage {
- id: mask
- width: parent.width
- height: parent.height
+ readonly property NinePatchImage mask: NinePatchImage {
+ width: control.availableWidth
+ height: control.availableHeight
visible: false
source: Imagine.url + "progressbar-mask"
@@ -109,15 +110,15 @@ T.ProgressBar {
}
}
- OpacityMask {
- id: effect
+ readonly property OpacityMask effect: OpacityMask {
+ parent: control.contentItem
width: source.width
height: source.height
- source: control.indeterminate ? animation : progress
+ source: control.indeterminate ? control.contentItem.animation : control.contentItem.progress
maskSource: ShaderEffectSource {
- sourceItem: mask
- sourceRect: Qt.rect(0, 0, effect.width, effect.height)
+ sourceItem: control.contentItem.mask
+ sourceRect: Qt.rect(0, 0, control.contentItem.effect.width, control.contentItem.effect.height)
}
}
}
diff --git a/src/imports/controls/imagine/SpinBox.qml b/src/imports/controls/imagine/SpinBox.qml
index 334b6996..1ef862f5 100644
--- a/src/imports/controls/imagine/SpinBox.qml
+++ b/src/imports/controls/imagine/SpinBox.qml
@@ -98,7 +98,6 @@ T.SpinBox {
}
up.indicator: NinePatchImage {
- id: upIndicator
x: control.mirrored ? 0 : parent.width - width
height: parent.height
@@ -106,7 +105,7 @@ T.SpinBox {
NinePatchImageSelector on source {
states: [
{"up": true},
- {"disabled": !upIndicator.enabled},
+ {"disabled": !control.up.indicator.enabled},
{"editable": control.editable},
{"pressed": control.up.pressed},
{"focused": control.activeFocus},
@@ -117,7 +116,6 @@ T.SpinBox {
}
down.indicator: NinePatchImage {
- id: downIndicator
x: control.mirrored ? parent.width - width : 0
height: parent.height
@@ -125,7 +123,7 @@ T.SpinBox {
NinePatchImageSelector on source {
states: [
{"down": true},
- {"disabled": !downIndicator.enabled},
+ {"disabled": !control.down.indicator.enabled},
{"editable": control.editable},
{"pressed": control.down.pressed},
{"focused": control.activeFocus},
diff --git a/src/imports/controls/imagine/Switch.qml b/src/imports/controls/imagine/Switch.qml
index 44e5d68e..085d6879 100644
--- a/src/imports/controls/imagine/Switch.qml
+++ b/src/imports/controls/imagine/Switch.qml
@@ -74,12 +74,13 @@ T.Switch {
]
}
- NinePatchImage {
- id: handle
+ property NinePatchImage handle: NinePatchImage {
readonly property real minPos: parent.leftPadding - leftPadding
readonly property real maxPos: parent.width - width + rightPadding - parent.rightPadding
readonly property real dragPos: control.visualPosition * parent.width - (width / 2)
+ parent: control.indicator
+
x: Math.max(minPos, Math.min(maxPos, control.visualPosition * parent.width - (width / 2)))
y: (parent.height - height) / 2
diff --git a/src/imports/controls/imagine/SwitchDelegate.qml b/src/imports/controls/imagine/SwitchDelegate.qml
index 497bc4e5..b53cf321 100644
--- a/src/imports/controls/imagine/SwitchDelegate.qml
+++ b/src/imports/controls/imagine/SwitchDelegate.qml
@@ -81,12 +81,13 @@ T.SwitchDelegate {
]
}
- NinePatchImage {
- id: handle
+ property NinePatchImage handle: NinePatchImage {
readonly property real minPos: parent.leftPadding - leftPadding
readonly property real maxPos: parent.width - width + rightPadding - parent.rightPadding
readonly property real dragPos: control.visualPosition * parent.width - (width / 2)
+ parent: control.indicator
+
x: Math.max(minPos, Math.min(maxPos, control.visualPosition * parent.width - (width / 2)))
y: (parent.height - height) / 2
diff --git a/src/imports/controls/imagine/Tumbler.qml b/src/imports/controls/imagine/Tumbler.qml
index 0fa8c137..7beb39c5 100644
--- a/src/imports/controls/imagine/Tumbler.qml
+++ b/src/imports/controls/imagine/Tumbler.qml
@@ -50,7 +50,7 @@ T.Tumbler {
text: modelData
font: control.font
color: control.palette.text
- opacity: (1.0 - Math.abs(Tumbler.displacement) / (visibleItemCount / 2)) * (control.enabled ? 1 : 0.6)
+ opacity: (1.0 - Math.abs(Tumbler.displacement) / (control.visibleItemCount / 2)) * (control.enabled ? 1 : 0.6)
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
}