From 44382ff104965c5596b5138aa84e0e4ccf178772 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Wed, 8 Nov 2017 16:08:56 +0100 Subject: SwipeView: fix slow swiping in large views Flickable has a default maximumFlickVelocity of 2500 regardless of its size. When SwipeView covers the whole screen and ends up being large, 2500 pixels per second is nowhere near enough. Calculate a suitable maximum flick velocity based on the size of the view. Task-number: QTBUG-62110 Change-Id: Iaf26f586f99e7635ea931a4e3060ad4dd480a011 Reviewed-by: Mitch Curtis --- src/imports/controls/SwipeView.qml | 1 + src/imports/controls/material/SwipeView.qml | 1 + 2 files changed, 2 insertions(+) (limited to 'src/imports/controls') diff --git a/src/imports/controls/SwipeView.qml b/src/imports/controls/SwipeView.qml index 4ccef22b..9f2d9ccb 100644 --- a/src/imports/controls/SwipeView.qml +++ b/src/imports/controls/SwipeView.qml @@ -60,5 +60,6 @@ T.SwipeView { preferredHighlightBegin: 0 preferredHighlightEnd: 0 highlightMoveDuration: 250 + maximumFlickVelocity: 4 * (control.orientation === Qt.Horizontal ? width : height) } } diff --git a/src/imports/controls/material/SwipeView.qml b/src/imports/controls/material/SwipeView.qml index 293cce46..64ecb00f 100644 --- a/src/imports/controls/material/SwipeView.qml +++ b/src/imports/controls/material/SwipeView.qml @@ -59,5 +59,6 @@ T.SwipeView { preferredHighlightBegin: 0 preferredHighlightEnd: 0 highlightMoveDuration: 250 + maximumFlickVelocity: 4 * (control.orientation === Qt.Horizontal ? width : height) } } -- cgit v1.2.3 From bbdf0c2d8a3bf4779a973dda9436ce12c8360f13 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Mon, 18 Dec 2017 17:00:19 +0100 Subject: Default: cleanup unnecessary property assignments QQuickText's default horizontal alignment is AlignLeft. There's no need to repeat the default. Furthermore, an empty QQuickText element does not do anything, so the "visible: control.text" binding seems bogus. Change-Id: I9461301606c45a3d889ad49e62356d38fcef6f87 Reviewed-by: Mitch Curtis --- src/imports/controls/CheckBox.qml | 2 -- src/imports/controls/CheckDelegate.qml | 2 -- src/imports/controls/ComboBox.qml | 1 - src/imports/controls/GroupBox.qml | 1 - src/imports/controls/ItemDelegate.qml | 2 -- src/imports/controls/MenuItem.qml | 2 -- src/imports/controls/RadioButton.qml | 2 -- src/imports/controls/RadioDelegate.qml | 2 -- src/imports/controls/SwipeDelegate.qml | 2 -- src/imports/controls/Switch.qml | 2 -- src/imports/controls/SwitchDelegate.qml | 2 -- 11 files changed, 20 deletions(-) (limited to 'src/imports/controls') diff --git a/src/imports/controls/CheckBox.qml b/src/imports/controls/CheckBox.qml index 7945ca72..4da79098 100644 --- a/src/imports/controls/CheckBox.qml +++ b/src/imports/controls/CheckBox.qml @@ -66,8 +66,6 @@ T.CheckBox { font: control.font color: control.down ? Default.textDarkColor : Default.textColor elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter opacity: enabled ? 1 : 0.3 } diff --git a/src/imports/controls/CheckDelegate.qml b/src/imports/controls/CheckDelegate.qml index 05a0baf6..3333642c 100644 --- a/src/imports/controls/CheckDelegate.qml +++ b/src/imports/controls/CheckDelegate.qml @@ -60,8 +60,6 @@ T.CheckDelegate { font: control.font color: control.enabled ? Default.textDarkColor : Default.textDisabledColor elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } diff --git a/src/imports/controls/ComboBox.qml b/src/imports/controls/ComboBox.qml index 8d1a28be..3eabcacf 100644 --- a/src/imports/controls/ComboBox.qml +++ b/src/imports/controls/ComboBox.qml @@ -88,7 +88,6 @@ T.ComboBox { color: !control.editable && control.visualFocus ? Default.focusColor : Default.textColor selectionColor: Default.focusColor selectedTextColor: Default.textLightColor - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter opacity: control.enabled ? 1 : 0.3 diff --git a/src/imports/controls/GroupBox.qml b/src/imports/controls/GroupBox.qml index ee81250b..272577c9 100644 --- a/src/imports/controls/GroupBox.qml +++ b/src/imports/controls/GroupBox.qml @@ -62,7 +62,6 @@ T.GroupBox { font: control.font color: control.enabled ? Default.textColor : Default.textDisabledColor elide: Text.ElideRight - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } diff --git a/src/imports/controls/ItemDelegate.qml b/src/imports/controls/ItemDelegate.qml index 6ee03ca2..3a7e1044 100644 --- a/src/imports/controls/ItemDelegate.qml +++ b/src/imports/controls/ItemDelegate.qml @@ -60,8 +60,6 @@ T.ItemDelegate { font: control.font color: control.enabled ? Default.textDarkColor : Default.textDisabledColor elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } diff --git a/src/imports/controls/MenuItem.qml b/src/imports/controls/MenuItem.qml index 2c8eab5f..74ae6002 100644 --- a/src/imports/controls/MenuItem.qml +++ b/src/imports/controls/MenuItem.qml @@ -59,8 +59,6 @@ T.MenuItem { font: control.font color: control.enabled ? Default.textDarkColor : Default.textDisabledColor elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } diff --git a/src/imports/controls/RadioButton.qml b/src/imports/controls/RadioButton.qml index 878a0fe3..3ca0466b 100644 --- a/src/imports/controls/RadioButton.qml +++ b/src/imports/controls/RadioButton.qml @@ -66,8 +66,6 @@ T.RadioButton { font: control.font color: control.down ? Default.textDarkColor : Default.textColor elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter opacity: enabled ? 1 : 0.3 } diff --git a/src/imports/controls/RadioDelegate.qml b/src/imports/controls/RadioDelegate.qml index 03cd83bd..708c826a 100644 --- a/src/imports/controls/RadioDelegate.qml +++ b/src/imports/controls/RadioDelegate.qml @@ -60,8 +60,6 @@ T.RadioDelegate { font: control.font color: control.enabled ? Default.textDarkColor : Default.textDisabledColor elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } diff --git a/src/imports/controls/SwipeDelegate.qml b/src/imports/controls/SwipeDelegate.qml index d9f72da9..2ddbea28 100644 --- a/src/imports/controls/SwipeDelegate.qml +++ b/src/imports/controls/SwipeDelegate.qml @@ -62,8 +62,6 @@ T.SwipeDelegate { font: control.font color: control.enabled ? Default.textDarkColor : Default.textDisabledColor elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } diff --git a/src/imports/controls/Switch.qml b/src/imports/controls/Switch.qml index 55b08039..030cdfa0 100644 --- a/src/imports/controls/Switch.qml +++ b/src/imports/controls/Switch.qml @@ -66,8 +66,6 @@ T.Switch { font: control.font color: control.enabled ? Default.textDarkColor : Default.textDisabledColor elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } } diff --git a/src/imports/controls/SwitchDelegate.qml b/src/imports/controls/SwitchDelegate.qml index 6536ac53..49e0fad2 100644 --- a/src/imports/controls/SwitchDelegate.qml +++ b/src/imports/controls/SwitchDelegate.qml @@ -66,8 +66,6 @@ T.SwitchDelegate { font: control.font color: control.enabled ? Default.textDarkColor : Default.textDisabledColor elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } -- cgit v1.2.3 From aea42abe76dae2cb47cda64ee36fcda85305e91d Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Tue, 19 Dec 2017 10:43:21 +0100 Subject: Material: cleanup unnecessary property assignments Change-Id: I1698392b1ef75b84d114cb19207729217abb4aed Reviewed-by: Mitch Curtis --- src/imports/controls/material/CheckBox.qml | 2 -- src/imports/controls/material/CheckDelegate.qml | 2 -- src/imports/controls/material/ComboBox.qml | 1 - src/imports/controls/material/GroupBox.qml | 1 - src/imports/controls/material/ItemDelegate.qml | 2 -- 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/SwipeDelegate.qml | 2 -- src/imports/controls/material/Switch.qml | 2 -- src/imports/controls/material/SwitchDelegate.qml | 2 -- 11 files changed, 20 deletions(-) (limited to 'src/imports/controls') diff --git a/src/imports/controls/material/CheckBox.qml b/src/imports/controls/material/CheckBox.qml index e1c559da..bb953761 100644 --- a/src/imports/controls/material/CheckBox.qml +++ b/src/imports/controls/material/CheckBox.qml @@ -80,8 +80,6 @@ T.CheckBox { font: control.font color: control.enabled ? control.Material.foreground : control.Material.hintTextColor elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } } diff --git a/src/imports/controls/material/CheckDelegate.qml b/src/imports/controls/material/CheckDelegate.qml index 545ca64a..63c63bdf 100644 --- a/src/imports/controls/material/CheckDelegate.qml +++ b/src/imports/controls/material/CheckDelegate.qml @@ -68,8 +68,6 @@ T.CheckDelegate { font: control.font color: control.enabled ? control.Material.foreground : control.Material.hintTextColor elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } diff --git a/src/imports/controls/material/ComboBox.qml b/src/imports/controls/material/ComboBox.qml index d2ca7679..79eee2b5 100644 --- a/src/imports/controls/material/ComboBox.qml +++ b/src/imports/controls/material/ComboBox.qml @@ -92,7 +92,6 @@ T.ComboBox { color: control.enabled ? control.Material.foreground : control.Material.hintTextColor selectionColor: control.Material.accentColor selectedTextColor: control.Material.primaryHighlightedTextColor - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter cursorDelegate: CursorDelegate { } diff --git a/src/imports/controls/material/GroupBox.qml b/src/imports/controls/material/GroupBox.qml index e7055404..67105653 100644 --- a/src/imports/controls/material/GroupBox.qml +++ b/src/imports/controls/material/GroupBox.qml @@ -62,7 +62,6 @@ T.GroupBox { font: control.font color: control.enabled ? control.Material.foreground : control.Material.hintTextColor elide: Text.ElideRight - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } diff --git a/src/imports/controls/material/ItemDelegate.qml b/src/imports/controls/material/ItemDelegate.qml index 59d51c36..a096bfc2 100644 --- a/src/imports/controls/material/ItemDelegate.qml +++ b/src/imports/controls/material/ItemDelegate.qml @@ -60,8 +60,6 @@ T.ItemDelegate { font: control.font color: control.enabled ? control.Material.foreground : control.Material.hintTextColor elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } diff --git a/src/imports/controls/material/MenuItem.qml b/src/imports/controls/material/MenuItem.qml index 5a136231..06408101 100644 --- a/src/imports/controls/material/MenuItem.qml +++ b/src/imports/controls/material/MenuItem.qml @@ -69,8 +69,6 @@ T.MenuItem { font: control.font color: control.enabled ? control.Material.foreground : control.Material.hintTextColor elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } diff --git a/src/imports/controls/material/RadioButton.qml b/src/imports/controls/material/RadioButton.qml index d178654f..9dec07b5 100644 --- a/src/imports/controls/material/RadioButton.qml +++ b/src/imports/controls/material/RadioButton.qml @@ -80,8 +80,6 @@ T.RadioButton { font: control.font color: control.enabled ? control.Material.foreground : control.Material.hintTextColor elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } } diff --git a/src/imports/controls/material/RadioDelegate.qml b/src/imports/controls/material/RadioDelegate.qml index fb4f33dc..e2c15342 100644 --- a/src/imports/controls/material/RadioDelegate.qml +++ b/src/imports/controls/material/RadioDelegate.qml @@ -68,8 +68,6 @@ T.RadioDelegate { font: control.font color: control.enabled ? control.Material.foreground : control.Material.hintTextColor elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } diff --git a/src/imports/controls/material/SwipeDelegate.qml b/src/imports/controls/material/SwipeDelegate.qml index d9014fcd..a406df2c 100644 --- a/src/imports/controls/material/SwipeDelegate.qml +++ b/src/imports/controls/material/SwipeDelegate.qml @@ -64,8 +64,6 @@ T.SwipeDelegate { font: control.font color: control.enabled ? control.Material.foreground : control.Material.hintTextColor elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } diff --git a/src/imports/controls/material/Switch.qml b/src/imports/controls/material/Switch.qml index c4f279ee..36adcb45 100644 --- a/src/imports/controls/material/Switch.qml +++ b/src/imports/controls/material/Switch.qml @@ -75,8 +75,6 @@ T.Switch { font: control.font color: control.enabled ? control.Material.foreground : control.Material.hintTextColor elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } } diff --git a/src/imports/controls/material/SwitchDelegate.qml b/src/imports/controls/material/SwitchDelegate.qml index 717ee250..2af147a0 100644 --- a/src/imports/controls/material/SwitchDelegate.qml +++ b/src/imports/controls/material/SwitchDelegate.qml @@ -68,8 +68,6 @@ T.SwitchDelegate { font: control.font color: control.enabled ? control.Material.foreground : control.Material.hintTextColor elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } -- cgit v1.2.3 From 6d88fc14ab97379ccc3546ad8bfb70effe69abda Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Tue, 19 Dec 2017 10:45:28 +0100 Subject: Universal: cleanup unnecessary property assignments Change-Id: I80c258ea21b4f6651e9c6e075357daabfb32d64b Reviewed-by: Mitch Curtis --- src/imports/controls/universal/CheckBox.qml | 2 -- src/imports/controls/universal/CheckDelegate.qml | 2 -- src/imports/controls/universal/ComboBox.qml | 1 - src/imports/controls/universal/GroupBox.qml | 1 - src/imports/controls/universal/ItemDelegate.qml | 2 -- src/imports/controls/universal/MenuItem.qml | 2 -- src/imports/controls/universal/RadioButton.qml | 2 -- src/imports/controls/universal/RadioDelegate.qml | 2 -- src/imports/controls/universal/SwipeDelegate.qml | 2 -- src/imports/controls/universal/Switch.qml | 2 -- src/imports/controls/universal/SwitchDelegate.qml | 2 -- 11 files changed, 20 deletions(-) (limited to 'src/imports/controls') diff --git a/src/imports/controls/universal/CheckBox.qml b/src/imports/controls/universal/CheckBox.qml index 8f4b248d..97a46c86 100644 --- a/src/imports/controls/universal/CheckBox.qml +++ b/src/imports/controls/universal/CheckBox.qml @@ -67,8 +67,6 @@ T.CheckBox { text: control.text font: control.font elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter opacity: enabled ? 1.0 : 0.2 diff --git a/src/imports/controls/universal/CheckDelegate.qml b/src/imports/controls/universal/CheckDelegate.qml index d3d8690e..230851cf 100644 --- a/src/imports/controls/universal/CheckDelegate.qml +++ b/src/imports/controls/universal/CheckDelegate.qml @@ -68,8 +68,6 @@ T.CheckDelegate { text: control.text font: control.font elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter opacity: enabled ? 1.0 : 0.2 diff --git a/src/imports/controls/universal/ComboBox.qml b/src/imports/controls/universal/ComboBox.qml index 596dcf5b..17e869d4 100644 --- a/src/imports/controls/universal/ComboBox.qml +++ b/src/imports/controls/universal/ComboBox.qml @@ -100,7 +100,6 @@ T.ComboBox { control.editable && control.activeFocus ? control.Universal.chromeBlackHighColor : control.Universal.foreground selectionColor: control.Universal.accent selectedTextColor: control.Universal.chromeWhiteColor - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } diff --git a/src/imports/controls/universal/GroupBox.qml b/src/imports/controls/universal/GroupBox.qml index 420cf22d..38ab3d0b 100644 --- a/src/imports/controls/universal/GroupBox.qml +++ b/src/imports/controls/universal/GroupBox.qml @@ -60,7 +60,6 @@ T.GroupBox { text: control.title font: control.font elide: Text.ElideRight - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter opacity: enabled ? 1.0 : 0.2 diff --git a/src/imports/controls/universal/ItemDelegate.qml b/src/imports/controls/universal/ItemDelegate.qml index 69b2cd9d..4154d6f7 100644 --- a/src/imports/controls/universal/ItemDelegate.qml +++ b/src/imports/controls/universal/ItemDelegate.qml @@ -61,8 +61,6 @@ T.ItemDelegate { text: control.text font: control.font elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter opacity: enabled ? 1.0 : 0.2 diff --git a/src/imports/controls/universal/MenuItem.qml b/src/imports/controls/universal/MenuItem.qml index 35e2f2ba..48e7bf1c 100644 --- a/src/imports/controls/universal/MenuItem.qml +++ b/src/imports/controls/universal/MenuItem.qml @@ -61,8 +61,6 @@ T.MenuItem { font: control.font color: !control.enabled ? control.Universal.baseLowColor : control.Universal.baseHighColor elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } diff --git a/src/imports/controls/universal/RadioButton.qml b/src/imports/controls/universal/RadioButton.qml index 5d778660..44949614 100644 --- a/src/imports/controls/universal/RadioButton.qml +++ b/src/imports/controls/universal/RadioButton.qml @@ -67,8 +67,6 @@ T.RadioButton { text: control.text font: control.font elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter opacity: enabled ? 1.0 : 0.2 diff --git a/src/imports/controls/universal/RadioDelegate.qml b/src/imports/controls/universal/RadioDelegate.qml index e8b0216c..575fa84d 100644 --- a/src/imports/controls/universal/RadioDelegate.qml +++ b/src/imports/controls/universal/RadioDelegate.qml @@ -68,8 +68,6 @@ T.RadioDelegate { text: control.text font: control.font elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter opacity: enabled ? 1.0 : 0.2 diff --git a/src/imports/controls/universal/SwipeDelegate.qml b/src/imports/controls/universal/SwipeDelegate.qml index cec5c132..60f2542c 100644 --- a/src/imports/controls/universal/SwipeDelegate.qml +++ b/src/imports/controls/universal/SwipeDelegate.qml @@ -63,8 +63,6 @@ T.SwipeDelegate { text: control.text font: control.font elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter opacity: enabled ? 1.0 : 0.2 diff --git a/src/imports/controls/universal/Switch.qml b/src/imports/controls/universal/Switch.qml index ad07d0df..bffd2b57 100644 --- a/src/imports/controls/universal/Switch.qml +++ b/src/imports/controls/universal/Switch.qml @@ -67,8 +67,6 @@ T.Switch { text: control.text font: control.font elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter opacity: enabled ? 1.0 : 0.2 diff --git a/src/imports/controls/universal/SwitchDelegate.qml b/src/imports/controls/universal/SwitchDelegate.qml index a4ba85db..533c2554 100644 --- a/src/imports/controls/universal/SwitchDelegate.qml +++ b/src/imports/controls/universal/SwitchDelegate.qml @@ -68,8 +68,6 @@ T.SwitchDelegate { text: control.text font: control.font elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter opacity: enabled ? 1.0 : 0.2 -- cgit v1.2.3 From b7216da727e4d2c135601afdf561ffcd2460af4e Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Tue, 19 Dec 2017 10:48:10 +0100 Subject: Examples: cleanup unnecessary/wrong property assignments Change-Id: Id7c65c9493c0e70512f3f2b167a091ece06ee5d8 Reviewed-by: Mitch Curtis --- src/imports/controls/doc/snippets/qtquickcontrols2-checkbox-custom.qml | 1 - .../controls/doc/snippets/qtquickcontrols2-checkdelegate-custom.qml | 1 - src/imports/controls/doc/snippets/qtquickcontrols2-combobox-custom.qml | 1 - .../controls/doc/snippets/qtquickcontrols2-itemdelegate-custom.qml | 2 -- .../controls/doc/snippets/qtquickcontrols2-radiobutton-custom.qml | 1 - .../controls/doc/snippets/qtquickcontrols2-radiodelegate-custom.qml | 1 - .../controls/doc/snippets/qtquickcontrols2-swipedelegate-custom.qml | 2 -- src/imports/controls/doc/snippets/qtquickcontrols2-switch-custom.qml | 1 - .../controls/doc/snippets/qtquickcontrols2-switchdelegate-custom.qml | 1 - 9 files changed, 11 deletions(-) (limited to 'src/imports/controls') diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-checkbox-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-checkbox-custom.qml index e86f1393..ed2a6621 100644 --- a/src/imports/controls/doc/snippets/qtquickcontrols2-checkbox-custom.qml +++ b/src/imports/controls/doc/snippets/qtquickcontrols2-checkbox-custom.qml @@ -58,7 +58,6 @@ CheckBox { font: control.font opacity: enabled ? 1.0 : 0.3 color: control.down ? "#17a81a" : "#21be2b" - horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter leftPadding: control.indicator.width + control.spacing } diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-checkdelegate-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-checkdelegate-custom.qml index 2815aa25..aa19ff14 100644 --- a/src/imports/controls/doc/snippets/qtquickcontrols2-checkdelegate-custom.qml +++ b/src/imports/controls/doc/snippets/qtquickcontrols2-checkdelegate-custom.qml @@ -41,7 +41,6 @@ CheckDelegate { opacity: enabled ? 1.0 : 0.3 color: control.down ? "#17a81a" : "#21be2b" elide: Text.ElideRight - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-combobox-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-combobox-custom.qml index eb5f832c..68e7ddad 100644 --- a/src/imports/controls/doc/snippets/qtquickcontrols2-combobox-custom.qml +++ b/src/imports/controls/doc/snippets/qtquickcontrols2-combobox-custom.qml @@ -76,7 +76,6 @@ ComboBox { text: control.displayText font: control.font color: control.pressed ? "#17a81a" : "#21be2b" - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter elide: Text.ElideRight } diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-itemdelegate-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-itemdelegate-custom.qml index 8ce86d61..e19d28f3 100644 --- a/src/imports/controls/doc/snippets/qtquickcontrols2-itemdelegate-custom.qml +++ b/src/imports/controls/doc/snippets/qtquickcontrols2-itemdelegate-custom.qml @@ -39,8 +39,6 @@ ItemDelegate { font: control.font color: control.enabled ? (control.down ? "#17a81a" : "#21be2b") : "#bdbebf" elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-radiobutton-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-radiobutton-custom.qml index 3b3e8d4a..6d77772d 100644 --- a/src/imports/controls/doc/snippets/qtquickcontrols2-radiobutton-custom.qml +++ b/src/imports/controls/doc/snippets/qtquickcontrols2-radiobutton-custom.qml @@ -58,7 +58,6 @@ RadioButton { font: control.font opacity: enabled ? 1.0 : 0.3 color: control.down ? "#17a81a" : "#21be2b" - horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter leftPadding: control.indicator.width + control.spacing } diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-radiodelegate-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-radiodelegate-custom.qml index 1033befd..d486943d 100644 --- a/src/imports/controls/doc/snippets/qtquickcontrols2-radiodelegate-custom.qml +++ b/src/imports/controls/doc/snippets/qtquickcontrols2-radiodelegate-custom.qml @@ -41,7 +41,6 @@ RadioDelegate { opacity: enabled ? 1.0 : 0.3 color: control.down ? "#17a81a" : "#21be2b" elide: Text.ElideRight - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-swipedelegate-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-swipedelegate-custom.qml index f8b8f7af..4159e7f7 100644 --- a/src/imports/controls/doc/snippets/qtquickcontrols2-swipedelegate-custom.qml +++ b/src/imports/controls/doc/snippets/qtquickcontrols2-swipedelegate-custom.qml @@ -58,8 +58,6 @@ SwipeDelegate { font: control.font color: control.enabled ? (control.down ? "#17a81a" : "#21be2b") : "#bdbebf" elide: Text.ElideRight - visible: control.text - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter Behavior on x { diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-switch-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-switch-custom.qml index f1ec0797..51e6b0c2 100644 --- a/src/imports/controls/doc/snippets/qtquickcontrols2-switch-custom.qml +++ b/src/imports/controls/doc/snippets/qtquickcontrols2-switch-custom.qml @@ -57,7 +57,6 @@ Switch { font: control.font opacity: enabled ? 1.0 : 0.3 color: control.down ? "#17a81a" : "#21be2b" - horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter leftPadding: control.indicator.width + control.spacing } diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-switchdelegate-custom.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-switchdelegate-custom.qml index 00b82f79..726614d8 100644 --- a/src/imports/controls/doc/snippets/qtquickcontrols2-switchdelegate-custom.qml +++ b/src/imports/controls/doc/snippets/qtquickcontrols2-switchdelegate-custom.qml @@ -41,7 +41,6 @@ SwitchDelegate { opacity: enabled ? 1.0 : 0.3 color: control.down ? "#17a81a" : "#21be2b" elide: Text.ElideRight - horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } -- cgit v1.2.3 From b94cb52c8b03511a2549469dfed33c6e0e857021 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Tue, 19 Dec 2017 14:47:09 +0100 Subject: Default: cleanup and test internal IDs Remove the undesired internal IDs where easily possible, and add expected failures for the harder ones for now. Task-number: QTBUG-65341 Change-Id: I5964b2cb59652661c90141259c68b95c721cf6ca Reviewed-by: Mitch Curtis --- src/imports/controls/Dial.qml | 1 - src/imports/controls/ScrollBar.qml | 6 ++---- src/imports/controls/ScrollIndicator.qml | 6 ++---- 3 files changed, 4 insertions(+), 9 deletions(-) (limited to 'src/imports/controls') diff --git a/src/imports/controls/Dial.qml b/src/imports/controls/Dial.qml index affcfa62..0bd2f163 100644 --- a/src/imports/controls/Dial.qml +++ b/src/imports/controls/Dial.qml @@ -54,7 +54,6 @@ T.Dial { } handle: Image { - id: handleItem x: background.x + background.width / 2 - handle.width / 2 y: background.y + background.height / 2 - handle.height / 2 width: 14 diff --git a/src/imports/controls/ScrollBar.qml b/src/imports/controls/ScrollBar.qml index 79e3e1ee..3e763550 100644 --- a/src/imports/controls/ScrollBar.qml +++ b/src/imports/controls/ScrollBar.qml @@ -51,8 +51,6 @@ T.ScrollBar { visible: control.policy !== T.ScrollBar.AlwaysOff contentItem: Rectangle { - id: handle - implicitWidth: control.interactive ? 6 : 2 implicitHeight: control.interactive ? 6 : 2 @@ -63,14 +61,14 @@ T.ScrollBar { states: State { name: "active" when: control.policy === T.ScrollBar.AlwaysOn || (control.active && control.size < 1.0) - PropertyChanges { target: handle; opacity: 0.75 } + PropertyChanges { target: control.contentItem; opacity: 0.75 } } transitions: Transition { from: "active" SequentialAnimation { PauseAnimation { duration: 450 } - NumberAnimation { target: handle; duration: 200; property: "opacity"; to: 0.0 } + NumberAnimation { target: control.contentItem; duration: 200; property: "opacity"; to: 0.0 } } } } diff --git a/src/imports/controls/ScrollIndicator.qml b/src/imports/controls/ScrollIndicator.qml index 12ec2d40..8607c8d4 100644 --- a/src/imports/controls/ScrollIndicator.qml +++ b/src/imports/controls/ScrollIndicator.qml @@ -50,8 +50,6 @@ T.ScrollIndicator { padding: 2 contentItem: Rectangle { - id: indicator - implicitWidth: 2 implicitHeight: 2 @@ -62,7 +60,7 @@ T.ScrollIndicator { states: State { name: "active" when: control.active - PropertyChanges { target: indicator; opacity: 0.75 } + PropertyChanges { target: control.contentItem; opacity: 0.75 } } transitions: [ @@ -70,7 +68,7 @@ T.ScrollIndicator { from: "active" SequentialAnimation { PauseAnimation { duration: 450 } - NumberAnimation { target: indicator; duration: 200; property: "opacity"; to: 0.0 } + NumberAnimation { target: control.contentItem; duration: 200; property: "opacity"; to: 0.0 } } } ] -- cgit v1.2.3 From da27cace5aa65c1972b746d9fc1d4507a04b5f93 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Tue, 19 Dec 2017 16:05:52 +0100 Subject: Default: cleanup the internal ID from BusyIndicator An internal ID in the OpacityAnimator element prevented deferred execution for the whole content item. Apply the same visibility trick in C++ to avoid having to use an ID in QML. Task-number: QTBUG-65341 Change-Id: Icb20e4ecc60d1093e849737799bb269f7f03097a Reviewed-by: Mitch Curtis --- src/imports/controls/BusyIndicator.qml | 4 ++-- .../controls/qquickdefaultbusyindicator.cpp | 24 ++++++++++++++++++++-- .../controls/qquickdefaultbusyindicator_p.h | 4 ++++ 3 files changed, 28 insertions(+), 4 deletions(-) (limited to 'src/imports/controls') diff --git a/src/imports/controls/BusyIndicator.qml b/src/imports/controls/BusyIndicator.qml index 234c2e01..c92ef720 100644 --- a/src/imports/controls/BusyIndicator.qml +++ b/src/imports/controls/BusyIndicator.qml @@ -51,8 +51,8 @@ T.BusyIndicator { implicitWidth: 48 implicitHeight: 48 + running: control.running opacity: control.running ? 1 : 0 - visible: control.running || animator.running - Behavior on opacity { OpacityAnimator { id: animator; duration: 250 } } + Behavior on opacity { OpacityAnimator { duration: 250 } } } } diff --git a/src/imports/controls/qquickdefaultbusyindicator.cpp b/src/imports/controls/qquickdefaultbusyindicator.cpp index 315b2b8b..526eb29f 100644 --- a/src/imports/controls/qquickdefaultbusyindicator.cpp +++ b/src/imports/controls/qquickdefaultbusyindicator.cpp @@ -136,6 +136,17 @@ QQuickDefaultBusyIndicator::QQuickDefaultBusyIndicator(QQuickItem *parent) : setFlag(ItemHasContents); } +bool QQuickDefaultBusyIndicator::isRunning() const +{ + return isVisible(); +} + +void QQuickDefaultBusyIndicator::setRunning(bool running) +{ + if (running) + setVisible(true); +} + int QQuickDefaultBusyIndicator::elapsed() const { return m_elapsed; @@ -144,14 +155,23 @@ int QQuickDefaultBusyIndicator::elapsed() const void QQuickDefaultBusyIndicator::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data) { QQuickItem::itemChange(change, data); - if (change == ItemVisibleHasChanged) + switch (change) { + case ItemOpacityHasChanged: + if (qFuzzyIsNull(data.realValue)) + setVisible(false); + break; + case ItemVisibleHasChanged: update(); + break; + default: + break; + } } QSGNode *QQuickDefaultBusyIndicator::updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *) { QQuickDefaultBusyIndicatorNode *node = static_cast(oldNode); - if (isVisible() && width() > 0 && height() > 0) { + if (isRunning() && width() > 0 && height() > 0) { if (!node) { node = new QQuickDefaultBusyIndicatorNode(this); node->start(); diff --git a/src/imports/controls/qquickdefaultbusyindicator_p.h b/src/imports/controls/qquickdefaultbusyindicator_p.h index 7daeabd1..21a706e7 100644 --- a/src/imports/controls/qquickdefaultbusyindicator_p.h +++ b/src/imports/controls/qquickdefaultbusyindicator_p.h @@ -55,10 +55,14 @@ QT_BEGIN_NAMESPACE class QQuickDefaultBusyIndicator : public QQuickItem { Q_OBJECT + Q_PROPERTY(bool running READ isRunning WRITE setRunning) public: explicit QQuickDefaultBusyIndicator(QQuickItem *parent = nullptr); + bool isRunning() const; + void setRunning(bool running); + int elapsed() const; protected: -- cgit v1.2.3 From 1e33020fc02b56001d805d3d66badd41480b746d Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Tue, 19 Dec 2017 17:00:15 +0100 Subject: Default: eliminate internal IDs in DelayButton An ID in the internal Text element prevented deferred execution for the whole content item. The ID was used for two reasons. First of all, it was used to propagate implicit size from the Text element to the root of the content item. Secondly, it was used to calculate clip areas to provide the same text in two different colors. This patch provides two internal C++ helpers, ItemGroup and ClippedText, that provide these functionalities without the need of using IDs in QML. At the same time we got rid of two wrapper Items and simplified some QML bindings, which results to a nice boost (18->22) in qmlbench on TX1. Task-number: QTBUG-65341 Change-Id: Icf9c09356cf5c0ed641bde537bee7291bd260057 Reviewed-by: Mitch Curtis --- src/imports/controls/DelayButton.qml | 62 +++++++++---------------- src/imports/controls/qtquickcontrols2plugin.cpp | 4 ++ 2 files changed, 25 insertions(+), 41 deletions(-) (limited to 'src/imports/controls') diff --git a/src/imports/controls/DelayButton.qml b/src/imports/controls/DelayButton.qml index 4a569fcf..133b2786 100644 --- a/src/imports/controls/DelayButton.qml +++ b/src/imports/controls/DelayButton.qml @@ -58,55 +58,35 @@ T.DelayButton { } } - contentItem: Item { - implicitWidth: label.implicitWidth - implicitHeight: label.implicitHeight - - Item { - x: -control.leftPadding + (control.progress * control.width) - width: (1.0 - control.progress) * control.width - height: parent.height - + contentItem: ItemGroup { + ClippedText { clip: control.progress > 0 + clipX: -control.leftPadding + control.progress * control.width + clipWidth: (1.0 - control.progress) * control.width visible: control.progress < 1 - Text { - id: label - x: -parent.x - width: control.availableWidth - height: parent.height - - text: control.text - font: control.font - opacity: enabled ? 1 : 0.3 - color: control.visualFocus ? Default.focusColor : (control.down ? Default.textDarkColor : Default.textColor) - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - elide: Text.ElideRight - } + text: control.text + font: control.font + opacity: enabled ? 1 : 0.3 + color: control.visualFocus ? Default.focusColor : (control.down ? Default.textDarkColor : Default.textColor) + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + elide: Text.ElideRight } - Item { - x: -control.leftPadding - width: control.progress * control.width - height: parent.height - + ClippedText { clip: control.progress > 0 + clipX: -control.leftPadding + clipWidth: control.progress * control.width visible: control.progress > 0 - Text { - x: control.leftPadding - width: control.availableWidth - height: parent.height - - text: control.text - font: control.font - opacity: enabled ? 1 : 0.3 - color: Default.textLightColor - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - elide: Text.ElideRight - } + text: control.text + font: control.font + opacity: enabled ? 1 : 0.3 + color: Default.textLightColor + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + elide: Text.ElideRight } } diff --git a/src/imports/controls/qtquickcontrols2plugin.cpp b/src/imports/controls/qtquickcontrols2plugin.cpp index 32270be0..e9471227 100644 --- a/src/imports/controls/qtquickcontrols2plugin.cpp +++ b/src/imports/controls/qtquickcontrols2plugin.cpp @@ -44,6 +44,8 @@ #if QT_CONFIG(quick_listview) && QT_CONFIG(quick_pathview) #include #endif +#include +#include #include "qquickdefaultbusyindicator_p.h" #include "qquickdefaultprogressbar_p.h" @@ -164,8 +166,10 @@ void QtQuickControls2Plugin::initializeEngine(QQmlEngine *engine, const char *ur qmlRegisterModule(import, 2, QT_VERSION_MINOR - 7); // Qt 5.7->2.0, 5.8->2.1, 5.9->2.2... qmlRegisterType(import, 2, 0, "BusyIndicatorImpl"); + qmlRegisterType(import, 2, 2, "ClippedText"); qmlRegisterType(import, 2, 0, "ProgressBarImpl"); qmlRegisterType(import, 2, 0, "DialRing"); + qmlRegisterType(import, 2, 2, "ItemGroup"); qmlRegisterType(import, 2, 2, "PlaceholderText"); #if QT_CONFIG(quick_listview) && QT_CONFIG(quick_pathview) qmlRegisterType(import, 2, 1, "TumblerView"); -- cgit v1.2.3 From 951cf6baf0d34a104b01b42de1454696c51f7177 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Fri, 22 Dec 2017 07:48:50 +0100 Subject: Material ToolButton: fix round ripple for square buttons The condition for checking whether a tool button is square and thus, whether it should use a round ripple instead of a fill ripple, must be based on the size of the contents, not on the implicit size. This way, you get a round ripple for one-letter tool buttons but only if they are not stretched. Task-number: QTBUG-65052 Change-Id: I0d498dc65650f3b786b41e538748549d61f2b216 Reviewed-by: Mitch Curtis --- src/imports/controls/material/ToolButton.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/imports/controls') diff --git a/src/imports/controls/material/ToolButton.qml b/src/imports/controls/material/ToolButton.qml index eaff0b1c..b2186fd4 100644 --- a/src/imports/controls/material/ToolButton.qml +++ b/src/imports/controls/material/ToolButton.qml @@ -64,7 +64,7 @@ T.ToolButton { implicitWidth: 48 implicitHeight: 48 - readonly property bool square: control.contentItem.implicitWidth <= control.contentItem.implicitHeight + readonly property bool square: control.contentItem.width <= control.contentItem.height x: (parent.width - width) / 2 y: (parent.height - height) / 2 -- cgit v1.2.3 From 368e8046184f71b31618e49de4f5e49ee20db5f4 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Fri, 22 Dec 2017 13:27:08 +0100 Subject: Fix and test deferred execution for Universal & Material Change-Id: I8ee27a0c65c9ce8c9cc48c6f59d2b34d02849be8 Reviewed-by: Mitch Curtis --- src/imports/controls/material/Dial.qml | 2 -- src/imports/controls/material/ScrollBar.qml | 2 -- src/imports/controls/material/ScrollIndicator.qml | 6 ++---- src/imports/controls/universal/ScrollIndicator.qml | 6 ++---- 4 files changed, 4 insertions(+), 12 deletions(-) (limited to 'src/imports/controls') diff --git a/src/imports/controls/material/Dial.qml b/src/imports/controls/material/Dial.qml index e0632e62..946142f1 100644 --- a/src/imports/controls/material/Dial.qml +++ b/src/imports/controls/material/Dial.qml @@ -57,8 +57,6 @@ T.Dial { } handle: SliderHandle { - id: handleItem - x: background.x + background.width / 2 - handle.width / 2 y: background.y + background.height / 2 - handle.height / 2 transform: [ diff --git a/src/imports/controls/material/ScrollBar.qml b/src/imports/controls/material/ScrollBar.qml index 8374c0f9..3687b550 100644 --- a/src/imports/controls/material/ScrollBar.qml +++ b/src/imports/controls/material/ScrollBar.qml @@ -50,8 +50,6 @@ T.ScrollBar { visible: control.policy !== T.ScrollBar.AlwaysOff contentItem: Rectangle { - id: handle - implicitWidth: control.interactive ? 13 : 4 implicitHeight: control.interactive ? 13 : 4 diff --git a/src/imports/controls/material/ScrollIndicator.qml b/src/imports/controls/material/ScrollIndicator.qml index effb18ad..41e72df6 100644 --- a/src/imports/controls/material/ScrollIndicator.qml +++ b/src/imports/controls/material/ScrollIndicator.qml @@ -49,8 +49,6 @@ T.ScrollIndicator { padding: 2 contentItem: Rectangle { - id: indicator - implicitWidth: 4 implicitHeight: 4 @@ -61,7 +59,7 @@ T.ScrollIndicator { states: State { name: "active" when: control.active - PropertyChanges { target: indicator; opacity: 0.75 } + PropertyChanges { target: control.contentItem; opacity: 0.75 } } transitions: [ @@ -69,7 +67,7 @@ T.ScrollIndicator { from: "active" SequentialAnimation { PauseAnimation { duration: 450 } - NumberAnimation { target: indicator; duration: 200; property: "opacity"; to: 0.0 } + NumberAnimation { target: control.contentItem; duration: 200; property: "opacity"; to: 0.0 } } } ] diff --git a/src/imports/controls/universal/ScrollIndicator.qml b/src/imports/controls/universal/ScrollIndicator.qml index 2f30ebe5..0b6733aa 100644 --- a/src/imports/controls/universal/ScrollIndicator.qml +++ b/src/imports/controls/universal/ScrollIndicator.qml @@ -47,8 +47,6 @@ T.ScrollIndicator { contentItem.implicitHeight + topPadding + bottomPadding) contentItem: Rectangle { - id: indicator - implicitWidth: 6 implicitHeight: 6 @@ -66,13 +64,13 @@ T.ScrollIndicator { transitions: [ Transition { to: "active" - NumberAnimation { target: indicator; property: "opacity"; to: 1.0 } + NumberAnimation { target: control.contentItem; property: "opacity"; to: 1.0 } }, Transition { from: "active" SequentialAnimation { PauseAnimation { duration: 5000 } - NumberAnimation { target: indicator; property: "opacity"; to: 0.0 } + NumberAnimation { target: control.contentItem; property: "opacity"; to: 0.0 } } } ] -- cgit v1.2.3 From 31a655402ff194e556853e6877f1a464a8e51243 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Fri, 22 Dec 2017 13:32:04 +0100 Subject: Material: cleanup the internal ID from BusyIndicator Same as da27cace for the Default style. An internal ID in the OpacityAnimator element prevented deferred execution for the whole content item. Apply the same visibility trick in C++ to avoid having to use an ID in QML. Change-Id: I4b54bbe3044aff9603b1135ac25d7325e01fdff2 Reviewed-by: Mitch Curtis --- src/imports/controls/material/BusyIndicator.qml | 4 ++-- .../material/qquickmaterialbusyindicator.cpp | 24 ++++++++++++++++++++-- .../material/qquickmaterialbusyindicator_p.h | 4 ++++ 3 files changed, 28 insertions(+), 4 deletions(-) (limited to 'src/imports/controls') diff --git a/src/imports/controls/material/BusyIndicator.qml b/src/imports/controls/material/BusyIndicator.qml index f1cf8eb5..beaaf30e 100644 --- a/src/imports/controls/material/BusyIndicator.qml +++ b/src/imports/controls/material/BusyIndicator.qml @@ -52,8 +52,8 @@ T.BusyIndicator { implicitHeight: 48 color: control.Material.accentColor + running: control.running opacity: control.running ? 1 : 0 - visible: control.running || animator.running - Behavior on opacity { OpacityAnimator { id: animator; duration: 250 } } + Behavior on opacity { OpacityAnimator { duration: 250 } } } } diff --git a/src/imports/controls/material/qquickmaterialbusyindicator.cpp b/src/imports/controls/material/qquickmaterialbusyindicator.cpp index 9df8f5d2..bd15390b 100644 --- a/src/imports/controls/material/qquickmaterialbusyindicator.cpp +++ b/src/imports/controls/material/qquickmaterialbusyindicator.cpp @@ -197,6 +197,17 @@ void QQuickMaterialBusyIndicator::setColor(QColor color) update(); } +bool QQuickMaterialBusyIndicator::isRunning() const +{ + return isVisible(); +} + +void QQuickMaterialBusyIndicator::setRunning(bool running) +{ + if (running) + setVisible(true); +} + int QQuickMaterialBusyIndicator::elapsed() const { return m_elapsed; @@ -205,14 +216,23 @@ int QQuickMaterialBusyIndicator::elapsed() const void QQuickMaterialBusyIndicator::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data) { QQuickItem::itemChange(change, data); - if (change == ItemVisibleHasChanged) + switch (change) { + case ItemOpacityHasChanged: + if (qFuzzyIsNull(data.realValue)) + setVisible(false); + break; + case ItemVisibleHasChanged: update(); + break; + default: + break; + } } QSGNode *QQuickMaterialBusyIndicator::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) { QQuickMaterialBusyIndicatorNode *node = static_cast(oldNode); - if (isVisible() && width() > 0 && height() > 0) { + if (isRunning() && width() > 0 && height() > 0) { if (!node) { node = new QQuickMaterialBusyIndicatorNode(this); node->start(); diff --git a/src/imports/controls/material/qquickmaterialbusyindicator_p.h b/src/imports/controls/material/qquickmaterialbusyindicator_p.h index da84c7b1..6c6d2445 100644 --- a/src/imports/controls/material/qquickmaterialbusyindicator_p.h +++ b/src/imports/controls/material/qquickmaterialbusyindicator_p.h @@ -57,6 +57,7 @@ class QQuickMaterialBusyIndicator : public QQuickItem { Q_OBJECT Q_PROPERTY(QColor color READ color WRITE setColor FINAL) + Q_PROPERTY(bool running READ isRunning WRITE setRunning FINAL) public: explicit QQuickMaterialBusyIndicator(QQuickItem *parent = nullptr); @@ -64,6 +65,9 @@ public: QColor color() const; void setColor(QColor color); + bool isRunning() const; + void setRunning(bool running); + int elapsed() const; protected: -- cgit v1.2.3 From f2696acaf7bef9d3427a357dd28d1ec52231024b Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Thu, 21 Dec 2017 10:13:03 +0100 Subject: Document license and attribute third party code [ChangeLog][Third-Party Code] Document constants from AngularJS in src/imports/controls/material/ElevationEffect.qml Task-number: QTBUG-65409 Change-Id: Ibd0dcf643abe036f34cea364f267fde8510057ea Reviewed-by: J-P Nurmi --- .../controls/doc/src/qtquickcontrols2-index.qdoc | 13 +++++++++++++ src/imports/controls/material/LICENSE_ANGULARJS.txt | 19 +++++++++++++++++++ src/imports/controls/material/qt_attribution.json | 13 +++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 src/imports/controls/material/LICENSE_ANGULARJS.txt create mode 100644 src/imports/controls/material/qt_attribution.json (limited to 'src/imports/controls') diff --git a/src/imports/controls/doc/src/qtquickcontrols2-index.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-index.qdoc index 51d672f3..26f7c19a 100644 --- a/src/imports/controls/doc/src/qtquickcontrols2-index.qdoc +++ b/src/imports/controls/doc/src/qtquickcontrols2-index.qdoc @@ -103,6 +103,19 @@ \li ... \endtable + \section1 License and Attributions + + Qt Quick Controls 2 is available under commercial licenses from \l{The Qt Company}. + In addition, it is available under the + \l{GNU Lesser General Public License, version 3}, or + the \l{GNU General Public License, version 2}. + See \l{Qt Licensing} for further details. + + Furthermore Qt Quick Controls 2 potentially contains third party + modules under following permissive licenses: + + \generatelist{groupsbymodule attributions-qtquickcontrols2} + \section1 Topics \list diff --git a/src/imports/controls/material/LICENSE_ANGULARJS.txt b/src/imports/controls/material/LICENSE_ANGULARJS.txt new file mode 100644 index 00000000..c1f2a826 --- /dev/null +++ b/src/imports/controls/material/LICENSE_ANGULARJS.txt @@ -0,0 +1,19 @@ +Copyright (c) 2014-2016 Google, Inc. http://angularjs.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/src/imports/controls/material/qt_attribution.json b/src/imports/controls/material/qt_attribution.json new file mode 100644 index 00000000..01b45e9f --- /dev/null +++ b/src/imports/controls/material/qt_attribution.json @@ -0,0 +1,13 @@ +{ + "Id": "shadow_angular_material", + "Name": "Shadow values from Angular Material", + "QDocModule": "qtquickcontrols2", + "QtUsage": "Used in the Material Style of Qt Quick Controls 2.", + "Files": "ElevationEffect.qml", + "Description": "Shadow values for the elevation effect.", + "Homepage": "https://angularjs.org/", + "License": "MIT License", + "LicenseId": "MIT", + "LicenseFile": "LICENSE_ANGULARJS.txt", + "Copyright": "Copyright (c) 2014-2016 Google, Inc" +} -- cgit v1.2.3 From aa9308d1d172a51a3e4356b8831b9f28fc68086e Mon Sep 17 00:00:00 2001 From: Mitch Curtis Date: Wed, 3 Jan 2018 13:30:51 +0100 Subject: Doc: improve Style/FallbackStyle documentation Link to relevant documentation and add entries for the Controls section to the configuration file docs. Task-number: QTBUG-65445 Change-Id: I175866167e36403475520ea4de0cb299aae542d7 Reviewed-by: J-P Nurmi --- .../doc/src/qtquickcontrols2-configuration.qdoc | 31 ++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) (limited to 'src/imports/controls') diff --git a/src/imports/controls/doc/src/qtquickcontrols2-configuration.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-configuration.qdoc index 36bce98d..ca70ed2f 100644 --- a/src/imports/controls/doc/src/qtquickcontrols2-configuration.qdoc +++ b/src/imports/controls/doc/src/qtquickcontrols2-configuration.qdoc @@ -53,16 +53,43 @@ Primary=BlueGrey \endcode - \l {Material style} specific values that can be specified in a \c Material + \section1 Controls Section + + The following values can be specified in a \c Controls section of the + configuration file: + + \table + \header + \li Variable + \li Description + \row + \li \c Style + \li Specifies the style to run the application with. + The value can be the name of one of the \l {Available Styles}{built-in styles} + or a \l {Creating a Custom Style}{custom style}. + \row + \li \c FallbackStyle + \li Specifies the style to use for controls that are not implemented. + The style must be one of the \l {Available Styles}{built-in styles}. + By default, the \l {Default Style}{Default} style is used. + \endtable + + \section1 Material Section + + The following \l {Material style} specific values can be specified in a \c Material section of the configuration file: \include qquickmaterialstyle.qdocinc conf - \l {Universal style} specific values that can be specified in a \c Universal + \section1 Universal Section + + The following \l {Universal style} specific values can be specified in a \c Universal section of the configuration file: \include qquickuniversalstyle.qdocinc conf + \section1 Using the Configuration File in a Project + In order to make it possible for Qt Quick Controls 2 to find the configuration file, it must be built into application's resources using the \l {The Qt Resource System}. Here's an example \c .qrc file: -- cgit v1.2.3