diff options
Diffstat (limited to 'src/imports/controls/universal')
60 files changed, 541 insertions, 497 deletions
diff --git a/src/imports/controls/universal/ApplicationWindow.qml b/src/imports/controls/universal/ApplicationWindow.qml index db1a71bf..a9d03c8c 100644 --- a/src/imports/controls/universal/ApplicationWindow.qml +++ b/src/imports/controls/universal/ApplicationWindow.qml @@ -34,10 +34,10 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 -import QtQuick.Controls.Universal.impl 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 +import QtQuick.Controls.Universal.impl 2.2 T.ApplicationWindow { id: window diff --git a/src/imports/controls/universal/BusyIndicator.qml b/src/imports/controls/universal/BusyIndicator.qml index 3295400b..8f0574fe 100644 --- a/src/imports/controls/universal/BusyIndicator.qml +++ b/src/imports/controls/universal/BusyIndicator.qml @@ -34,10 +34,10 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 -import QtQuick.Controls.Universal.impl 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 +import QtQuick.Controls.Universal.impl 2.2 T.BusyIndicator { id: control @@ -45,9 +45,7 @@ T.BusyIndicator { implicitWidth: contentItem.implicitWidth + leftPadding + rightPadding implicitHeight: contentItem.implicitHeight + topPadding + bottomPadding - contentItem: ProgressRing { - id: ring - + contentItem: BusyIndicatorImpl { implicitWidth: 20 implicitHeight: 20 @@ -55,10 +53,6 @@ T.BusyIndicator { count: size < 60 ? 5 : 6 // "Small" vs. "Large" color: control.Universal.accent - - ProgressRingAnimator { - target: ring - running: control.visible && control.running - } + visible: control.running } } diff --git a/src/imports/controls/universal/Button.qml b/src/imports/controls/universal/Button.qml index 5a2ad5f2..0bf3621b 100644 --- a/src/imports/controls/universal/Button.qml +++ b/src/imports/controls/universal/Button.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.Button { id: control diff --git a/src/imports/controls/universal/CheckBox.qml b/src/imports/controls/universal/CheckBox.qml index ad5700c1..8f4b248d 100644 --- a/src/imports/controls/universal/CheckBox.qml +++ b/src/imports/controls/universal/CheckBox.qml @@ -34,10 +34,10 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 -import QtQuick.Controls.Universal.impl 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 +import QtQuick.Controls.Universal.impl 2.2 T.CheckBox { id: control diff --git a/src/imports/controls/universal/CheckDelegate.qml b/src/imports/controls/universal/CheckDelegate.qml index b346a143..95ed29e0 100644 --- a/src/imports/controls/universal/CheckDelegate.qml +++ b/src/imports/controls/universal/CheckDelegate.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.CheckDelegate { id: control diff --git a/src/imports/controls/universal/CheckIndicator.qml b/src/imports/controls/universal/CheckIndicator.qml index 91cf7a6d..eac150e2 100644 --- a/src/imports/controls/universal/CheckIndicator.qml +++ b/src/imports/controls/universal/CheckIndicator.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 Rectangle { implicitWidth: 20 @@ -67,7 +67,7 @@ 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 + height: partiallyChecked ? parent.height / 2 : parent.height visible: !control.pressed && control.hovered || partiallyChecked color: !partiallyChecked ? "transparent" : diff --git a/src/imports/controls/universal/ComboBox.qml b/src/imports/controls/universal/ComboBox.qml index 11a6ae79..9ff31d1d 100644 --- a/src/imports/controls/universal/ComboBox.qml +++ b/src/imports/controls/universal/ComboBox.qml @@ -34,11 +34,11 @@ ** ****************************************************************************/ -import QtQuick 2.8 +import QtQuick 2.9 import QtQuick.Window 2.2 -import QtQuick.Controls 2.1 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick.Controls 2.2 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.ComboBox { id: control @@ -50,39 +50,58 @@ T.ComboBox { indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding) baselineOffset: contentItem.y + contentItem.baselineOffset - spacing: 10 - padding: 12 - topPadding: padding - 7 - rightPadding: padding - 2 - bottomPadding: padding - 5 + leftPadding: padding + (!control.mirrored || !indicator || !indicator.visible ? 0 : indicator.width + spacing) + rightPadding: padding + (control.mirrored || !indicator || !indicator.visible ? 0 : indicator.width + spacing) + + Universal.theme: editable && activeFocus ? Universal.Light : undefined delegate: ItemDelegate { - width: control.popup.width + width: parent.width text: control.textRole ? (Array.isArray(control.model) ? modelData[control.textRole] : model[control.textRole]) : modelData highlighted: control.highlightedIndex === index hoverEnabled: control.hoverEnabled } indicator: Image { - x: control.mirrored ? control.leftPadding : control.width - width - control.rightPadding + x: control.mirrored ? control.padding : control.width - width - control.padding y: control.topPadding + (control.availableHeight - height) / 2 source: "image://universal/downarrow/" + (!control.enabled ? control.Universal.baseLowColor : control.Universal.baseMediumHighColor) sourceSize.width: width sourceSize.height: height + + Rectangle { + z: -1 + width: parent.width + height: parent.height + color: control.activeFocus ? control.Universal.accent : + control.pressed ? control.Universal.baseMediumLowColor : + control.hovered ? control.Universal.baseLowColor : "transparent" + visible: control.editable && !contentItem.hovered && (control.pressed || control.hovered) + opacity: control.activeFocus && !control.pressed ? 0.4 : 1.0 + } } - contentItem: Text { - leftPadding: control.mirrored && control.indicator ? control.indicator.width + control.spacing : 0 - rightPadding: !control.mirrored && control.indicator ? control.indicator.width + control.spacing : 0 + contentItem: T.TextField { + leftPadding: control.mirrored ? 1 : 12 + rightPadding: control.mirrored ? 10 : 1 + topPadding: 5 - control.topPadding + bottomPadding: 7 - control.bottomPadding + + text: control.editable ? control.editText : control.displayText + + enabled: control.editable + autoScroll: control.editable + readOnly: control.popup.visible + inputMethodHints: control.inputMethodHints + validator: control.validator - text: control.displayText font: control.font + color: !control.enabled ? control.Universal.chromeDisabledLowColor : + control.editable && control.activeFocus ? control.Universal.chromeBlackHighColor : control.Universal.foreground + selectionColor: control.Universal.accent + selectedTextColor: control.Universal.chromeWhiteColor horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter - elide: Text.ElideRight - - opacity: enabled ? 1.0 : 0.2 - color: control.Universal.foreground } background: Rectangle { @@ -91,11 +110,13 @@ T.ComboBox { border.width: control.flat ? 0 : 2 // ComboBoxBorderThemeThickness border.color: !control.enabled ? control.Universal.baseLowColor : - control.pressed || popup.visible ? control.Universal.baseMediumLowColor : + control.editable && control.activeFocus ? control.Universal.accent : + control.down || popup.visible ? control.Universal.baseMediumLowColor : control.hovered ? control.Universal.baseMediumColor : control.Universal.baseMediumLowColor color: !control.enabled ? control.Universal.baseLowColor : - control.pressed || popup.visible ? control.Universal.listMediumColor : - control.flat && control.hovered ? control.Universal.listLowColor : control.Universal.altMediumLowColor + control.down ? control.Universal.listMediumColor : + control.flat && control.hovered ? control.Universal.listLowColor : + control.editable && control.activeFocus ? control.Universal.background : control.Universal.altMediumLowColor visible: !control.flat || control.pressed || control.hovered || control.visualFocus Rectangle { @@ -104,7 +125,7 @@ T.ComboBox { width: parent.width - 4 height: parent.height - 4 - visible: control.visualFocus + visible: control.visualFocus && !control.editable color: control.Universal.accent opacity: control.Universal.theme === Universal.Light ? 0.4 : 0.6 } diff --git a/src/imports/controls/universal/DelayButton.qml b/src/imports/controls/universal/DelayButton.qml new file mode 100644 index 00000000..9d43be44 --- /dev/null +++ b/src/imports/controls/universal/DelayButton.qml @@ -0,0 +1,96 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 + +T.DelayButton { + id: control + + implicitWidth: Math.max(background ? background.implicitWidth : 0, + contentItem.implicitWidth + leftPadding + rightPadding) + implicitHeight: Math.max(background ? background.implicitHeight : 0, + contentItem.implicitHeight + topPadding + bottomPadding) + baselineOffset: contentItem.y + contentItem.baselineOffset + + padding: 8 + topPadding: padding - 4 + bottomPadding: padding - 4 + + property bool useSystemFocusVisuals: true + + transition: Transition { + NumberAnimation { + duration: control.delay * (control.pressed ? 1.0 - control.progress : 0.3 * control.progress) + } + } + + contentItem: Text { + text: control.text + font: control.font + elide: Text.ElideRight + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + + opacity: enabled ? 1.0 : 0.2 + color: control.Universal.foreground + } + + background: Rectangle { + implicitWidth: 32 + implicitHeight: 32 + + color: control.down ? control.Universal.baseMediumLowColor : + control.enabled && control.checked ? control.Universal.accent : control.Universal.baseLowColor + + Rectangle { + visible: !control.checked + width: parent.width * control.progress + height: parent.height + color: control.Universal.accent + } + + Rectangle { + width: parent.width + height: parent.height + color: "transparent" + visible: control.hovered + border.width: 2 // ButtonBorderThemeThickness + border.color: control.Universal.baseMediumLowColor + } + } +} diff --git a/src/imports/controls/universal/Dial.qml b/src/imports/controls/universal/Dial.qml index 7eba1e19..2ffb4167 100644 --- a/src/imports/controls/universal/Dial.qml +++ b/src/imports/controls/universal/Dial.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.Dial { id: control diff --git a/src/imports/controls/universal/Dialog.qml b/src/imports/controls/universal/Dialog.qml index a70c1d2a..07ae56a6 100644 --- a/src/imports/controls/universal/Dialog.qml +++ b/src/imports/controls/universal/Dialog.qml @@ -34,10 +34,10 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls 2.1 -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls 2.2 +import QtQuick.Controls.Universal 2.2 T.Dialog { id: control diff --git a/src/imports/controls/universal/DialogButtonBox.qml b/src/imports/controls/universal/DialogButtonBox.qml index 8db91953..4ce41ad6 100644 --- a/src/imports/controls/universal/DialogButtonBox.qml +++ b/src/imports/controls/universal/DialogButtonBox.qml @@ -34,10 +34,10 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls 2.1 -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls 2.2 +import QtQuick.Controls.Universal 2.2 T.DialogButtonBox { id: control diff --git a/src/imports/controls/universal/Drawer.qml b/src/imports/controls/universal/Drawer.qml index d5311d15..3543887e 100644 --- a/src/imports/controls/universal/Drawer.qml +++ b/src/imports/controls/universal/Drawer.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.Drawer { id: control diff --git a/src/imports/controls/universal/Frame.qml b/src/imports/controls/universal/Frame.qml index 38d5a2e2..7d7d55a7 100644 --- a/src/imports/controls/universal/Frame.qml +++ b/src/imports/controls/universal/Frame.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.Frame { id: control diff --git a/src/imports/controls/universal/GroupBox.qml b/src/imports/controls/universal/GroupBox.qml index 8fcc518c..420cf22d 100644 --- a/src/imports/controls/universal/GroupBox.qml +++ b/src/imports/controls/universal/GroupBox.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.GroupBox { id: control diff --git a/src/imports/controls/universal/ItemDelegate.qml b/src/imports/controls/universal/ItemDelegate.qml index f6f0e9bd..69b2cd9d 100644 --- a/src/imports/controls/universal/ItemDelegate.qml +++ b/src/imports/controls/universal/ItemDelegate.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.ItemDelegate { id: control diff --git a/src/imports/controls/universal/Label.qml b/src/imports/controls/universal/Label.qml index 0f7b49ef..3cfa9317 100644 --- a/src/imports/controls/universal/Label.qml +++ b/src/imports/controls/universal/Label.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.Label { id: control diff --git a/src/imports/controls/universal/Menu.qml b/src/imports/controls/universal/Menu.qml index f0415670..0ca475f5 100644 --- a/src/imports/controls/universal/Menu.qml +++ b/src/imports/controls/universal/Menu.qml @@ -34,10 +34,10 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Controls 2.1 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Controls 2.2 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.Menu { id: control diff --git a/src/imports/controls/universal/MenuItem.qml b/src/imports/controls/universal/MenuItem.qml index 6d3ae444..35e2f2ba 100644 --- a/src/imports/controls/universal/MenuItem.qml +++ b/src/imports/controls/universal/MenuItem.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.MenuItem { id: control diff --git a/src/imports/controls/universal/MenuSeparator.qml b/src/imports/controls/universal/MenuSeparator.qml index 62ce03bb..18d12528 100644 --- a/src/imports/controls/universal/MenuSeparator.qml +++ b/src/imports/controls/universal/MenuSeparator.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.MenuSeparator { id: control diff --git a/src/imports/controls/universal/Page.qml b/src/imports/controls/universal/Page.qml index ef580ded..1f006f16 100644 --- a/src/imports/controls/universal/Page.qml +++ b/src/imports/controls/universal/Page.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.Page { id: control diff --git a/src/imports/controls/universal/PageIndicator.qml b/src/imports/controls/universal/PageIndicator.qml index 58b037f2..f6a6baa6 100644 --- a/src/imports/controls/universal/PageIndicator.qml +++ b/src/imports/controls/universal/PageIndicator.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.PageIndicator { id: control diff --git a/src/imports/controls/universal/Pane.qml b/src/imports/controls/universal/Pane.qml index 3307c3db..67a66c93 100644 --- a/src/imports/controls/universal/Pane.qml +++ b/src/imports/controls/universal/Pane.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.Pane { id: control diff --git a/src/imports/controls/universal/Popup.qml b/src/imports/controls/universal/Popup.qml index 6b87a9ae..2c582217 100644 --- a/src/imports/controls/universal/Popup.qml +++ b/src/imports/controls/universal/Popup.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.Popup { id: control diff --git a/src/imports/controls/universal/ProgressBar.qml b/src/imports/controls/universal/ProgressBar.qml index 64982c4d..58545d61 100644 --- a/src/imports/controls/universal/ProgressBar.qml +++ b/src/imports/controls/universal/ProgressBar.qml @@ -34,10 +34,10 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 -import QtQuick.Controls.Universal.impl 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 +import QtQuick.Controls.Universal.impl 2.2 T.ProgressBar { id: control @@ -47,20 +47,13 @@ T.ProgressBar { implicitHeight: Math.max(background ? background.implicitHeight : 0, contentItem.implicitHeight + topPadding + bottomPadding) - contentItem: ProgressStrip { - id: strip + contentItem: ProgressBarImpl { implicitHeight: 10 scale: control.mirrored ? -1 : 1 - indeterminate: control.indeterminate color: control.Universal.accent progress: control.position - clip: control.indeterminate - - ProgressStripAnimator { - target: strip - running: control.visible && control.indeterminate - } + indeterminate: control.visible && control.indeterminate } background: Rectangle { diff --git a/src/imports/controls/universal/RadioButton.qml b/src/imports/controls/universal/RadioButton.qml index f496b55f..5d778660 100644 --- a/src/imports/controls/universal/RadioButton.qml +++ b/src/imports/controls/universal/RadioButton.qml @@ -34,10 +34,10 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 -import QtQuick.Controls.Universal.impl 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 +import QtQuick.Controls.Universal.impl 2.2 T.RadioButton { id: control diff --git a/src/imports/controls/universal/RadioDelegate.qml b/src/imports/controls/universal/RadioDelegate.qml index 8710e03e..d314dbf0 100644 --- a/src/imports/controls/universal/RadioDelegate.qml +++ b/src/imports/controls/universal/RadioDelegate.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.RadioDelegate { id: control diff --git a/src/imports/controls/universal/RadioIndicator.qml b/src/imports/controls/universal/RadioIndicator.qml index ebfd1725..220983da 100644 --- a/src/imports/controls/universal/RadioIndicator.qml +++ b/src/imports/controls/universal/RadioIndicator.qml @@ -34,8 +34,8 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Controls.Universal 2.2 Rectangle { implicitWidth: 20 diff --git a/src/imports/controls/universal/RangeSlider.qml b/src/imports/controls/universal/RangeSlider.qml index 82a962ad..d2cf7a65 100644 --- a/src/imports/controls/universal/RangeSlider.qml +++ b/src/imports/controls/universal/RangeSlider.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.RangeSlider { id: control diff --git a/src/imports/controls/universal/RoundButton.qml b/src/imports/controls/universal/RoundButton.qml index d843b767..d70c4cda 100644 --- a/src/imports/controls/universal/RoundButton.qml +++ b/src/imports/controls/universal/RoundButton.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.RoundButton { id: control diff --git a/src/imports/controls/universal/ScrollBar.qml b/src/imports/controls/universal/ScrollBar.qml index 15254ade..981e382a 100644 --- a/src/imports/controls/universal/ScrollBar.qml +++ b/src/imports/controls/universal/ScrollBar.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.ScrollBar { id: control @@ -46,21 +46,22 @@ T.ScrollBar { implicitHeight: Math.max(background ? background.implicitHeight : 0, contentItem.implicitHeight + topPadding + bottomPadding) + visible: control.policy !== T.ScrollBar.AlwaysOff + // TODO: arrows contentItem: Rectangle { - implicitWidth: 12 - implicitHeight: 12 + implicitWidth: control.interactive ? 12 : 6 + implicitHeight: control.interactive ? 12: 6 color: control.pressed ? control.Universal.baseMediumColor : - control.hovered ? control.Universal.baseMediumLowColor : control.Universal.chromeHighColor - visible: control.size < 1.0 + control.interactive && control.hovered ? control.Universal.baseMediumLowColor : control.Universal.chromeHighColor opacity: 0.0 } background: Rectangle { - implicitWidth: 12 - implicitHeight: 12 + implicitWidth: control.interactive ? 12 : 6 + implicitHeight: control.interactive ? 12: 6 color: control.Universal.chromeLowColor visible: control.size < 1.0 @@ -70,7 +71,7 @@ T.ScrollBar { states: [ State { name: "active" - when: control.active + when: control.policy === T.ScrollBar.AlwaysOn || (control.active && control.size < 1.0) } ] diff --git a/src/imports/controls/universal/ScrollIndicator.qml b/src/imports/controls/universal/ScrollIndicator.qml index 38eeb0ce..2f30ebe5 100644 --- a/src/imports/controls/universal/ScrollIndicator.qml +++ b/src/imports/controls/universal/ScrollIndicator.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.ScrollIndicator { id: control diff --git a/src/imports/controls/universal/Slider.qml b/src/imports/controls/universal/Slider.qml index 5febd52a..e02065e5 100644 --- a/src/imports/controls/universal/Slider.qml +++ b/src/imports/controls/universal/Slider.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.Slider { id: control diff --git a/src/imports/controls/universal/SpinBox.qml b/src/imports/controls/universal/SpinBox.qml index 632de5d6..0cbfdd16 100644 --- a/src/imports/controls/universal/SpinBox.qml +++ b/src/imports/controls/universal/SpinBox.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.SpinBox { id: control @@ -79,7 +79,7 @@ T.SpinBox { readOnly: !control.editable validator: control.validator - inputMethodHints: Qt.ImhDigitsOnly + inputMethodHints: control.inputMethodHints } up.indicator: Item { diff --git a/src/imports/controls/universal/StackView.qml b/src/imports/controls/universal/StackView.qml index c13047ec..071e1737 100644 --- a/src/imports/controls/universal/StackView.qml +++ b/src/imports/controls/universal/StackView.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.StackView { id: control diff --git a/src/imports/controls/universal/SwipeDelegate.qml b/src/imports/controls/universal/SwipeDelegate.qml index 7ada0b69..8caf7fb8 100644 --- a/src/imports/controls/universal/SwipeDelegate.qml +++ b/src/imports/controls/universal/SwipeDelegate.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.SwipeDelegate { id: control @@ -54,6 +54,8 @@ T.SwipeDelegate { topPadding: padding - 1 bottomPadding: padding + 1 + swipe.transition: Transition { SmoothedAnimation { velocity: 3; easing.type: Easing.InOutCubic } } + contentItem: Text { leftPadding: !control.mirrored ? (control.indicator ? control.indicator.width : 0) + control.spacing : 0 rightPadding: control.mirrored ? (control.indicator ? control.indicator.width : 0) + control.spacing : 0 @@ -68,14 +70,6 @@ T.SwipeDelegate { opacity: enabled ? 1.0 : 0.2 color: control.Universal.foreground - - Behavior on x { - enabled: !control.down - NumberAnimation { - easing.type: Easing.InOutCubic - duration: 400 - } - } } background: Rectangle { @@ -94,13 +88,5 @@ T.SwipeDelegate { opacity: control.Universal.theme === Universal.Light ? 0.4 : 0.6 } } - - Behavior on x { - enabled: !control.down - NumberAnimation { - easing.type: Easing.InOutCubic - duration: 400 - } - } } } diff --git a/src/imports/controls/universal/Switch.qml b/src/imports/controls/universal/Switch.qml index 635f2bf1..e3dde0dc 100644 --- a/src/imports/controls/universal/Switch.qml +++ b/src/imports/controls/universal/Switch.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.Switch { id: control diff --git a/src/imports/controls/universal/SwitchDelegate.qml b/src/imports/controls/universal/SwitchDelegate.qml index a3f9cda7..59b71817 100644 --- a/src/imports/controls/universal/SwitchDelegate.qml +++ b/src/imports/controls/universal/SwitchDelegate.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.SwitchDelegate { id: control diff --git a/src/imports/controls/universal/SwitchIndicator.qml b/src/imports/controls/universal/SwitchIndicator.qml index c9d062d9..1eb2f9b5 100644 --- a/src/imports/controls/universal/SwitchIndicator.qml +++ b/src/imports/controls/universal/SwitchIndicator.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 Item { implicitWidth: 44 diff --git a/src/imports/controls/universal/TabBar.qml b/src/imports/controls/universal/TabBar.qml index f9c0619b..c0de7fb2 100644 --- a/src/imports/controls/universal/TabBar.qml +++ b/src/imports/controls/universal/TabBar.qml @@ -34,22 +34,21 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.TabBar { id: control implicitWidth: Math.max(background ? background.implicitWidth : 0, - contentItem.implicitWidth + leftPadding + rightPadding) + contentWidth + leftPadding + rightPadding) implicitHeight: Math.max(background ? background.implicitHeight : 0, - contentItem.implicitHeight + topPadding + bottomPadding) + contentHeight + topPadding + bottomPadding) - contentItem: PathView { - implicitWidth: 200 - implicitHeight: 48 + contentHeight: 48 + contentItem: PathView { model: control.contentModel currentIndex: control.currentIndex diff --git a/src/imports/controls/universal/TabButton.qml b/src/imports/controls/universal/TabButton.qml index 4a92181d..ef982c60 100644 --- a/src/imports/controls/universal/TabButton.qml +++ b/src/imports/controls/universal/TabButton.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.TabButton { id: control diff --git a/src/imports/controls/universal/TextArea.qml b/src/imports/controls/universal/TextArea.qml index 829c6771..a173e676 100644 --- a/src/imports/controls/universal/TextArea.qml +++ b/src/imports/controls/universal/TextArea.qml @@ -34,9 +34,11 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls 2.2 +import QtQuick.Controls.impl 2.2 +import QtQuick.Controls.Universal 2.2 T.TextArea { id: control @@ -60,7 +62,7 @@ T.TextArea { selectionColor: Universal.accent selectedTextColor: Universal.chromeWhiteColor - Text { + PlaceholderText { id: placeholder x: control.leftPadding y: control.topPadding @@ -72,7 +74,6 @@ T.TextArea { color: !control.enabled ? control.Universal.chromeDisabledLowColor : control.activeFocus ? control.Universal.chromeBlackMediumLowColor : control.Universal.baseMediumColor visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter) - horizontalAlignment: control.horizontalAlignment verticalAlignment: control.verticalAlignment elide: Text.ElideRight } diff --git a/src/imports/controls/universal/TextField.qml b/src/imports/controls/universal/TextField.qml index 1fc7039b..476630fd 100644 --- a/src/imports/controls/universal/TextField.qml +++ b/src/imports/controls/universal/TextField.qml @@ -34,9 +34,11 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls 2.2 +import QtQuick.Controls.impl 2.2 +import QtQuick.Controls.Universal 2.2 T.TextField { id: control @@ -61,7 +63,7 @@ T.TextField { selectedTextColor: Universal.chromeWhiteColor verticalAlignment: TextInput.AlignVCenter - Text { + PlaceholderText { id: placeholder x: control.leftPadding y: control.topPadding @@ -73,7 +75,6 @@ T.TextField { color: !control.enabled ? control.Universal.chromeDisabledLowColor : control.activeFocus ? control.Universal.chromeBlackMediumLowColor : control.Universal.baseMediumColor visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter) - horizontalAlignment: control.horizontalAlignment verticalAlignment: control.verticalAlignment elide: Text.ElideRight } diff --git a/src/imports/controls/universal/ToolBar.qml b/src/imports/controls/universal/ToolBar.qml index 3655c530..f6bec475 100644 --- a/src/imports/controls/universal/ToolBar.qml +++ b/src/imports/controls/universal/ToolBar.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.ToolBar { id: control diff --git a/src/imports/controls/universal/ToolButton.qml b/src/imports/controls/universal/ToolButton.qml index 55e9f285..9b07490f 100644 --- a/src/imports/controls/universal/ToolButton.qml +++ b/src/imports/controls/universal/ToolButton.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.ToolButton { id: control diff --git a/src/imports/controls/universal/ToolSeparator.qml b/src/imports/controls/universal/ToolSeparator.qml index 5041bc34..86b3aed3 100644 --- a/src/imports/controls/universal/ToolSeparator.qml +++ b/src/imports/controls/universal/ToolSeparator.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.ToolSeparator { id: control diff --git a/src/imports/controls/universal/ToolTip.qml b/src/imports/controls/universal/ToolTip.qml index b92fbbc1..6f8f27f4 100644 --- a/src/imports/controls/universal/ToolTip.qml +++ b/src/imports/controls/universal/ToolTip.qml @@ -34,9 +34,9 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 T.ToolTip { id: control diff --git a/src/imports/controls/universal/Tumbler.qml b/src/imports/controls/universal/Tumbler.qml index 6a1647c9..45bcb6c8 100644 --- a/src/imports/controls/universal/Tumbler.qml +++ b/src/imports/controls/universal/Tumbler.qml @@ -34,11 +34,11 @@ ** ****************************************************************************/ -import QtQuick 2.8 -import QtQuick.Templates 2.1 as T -import QtQuick.Controls.Universal 2.1 -import QtQuick.Controls 2.1 -import QtQuick.Controls.impl 2.1 +import QtQuick 2.9 +import QtQuick.Templates 2.2 as T +import QtQuick.Controls.Universal 2.2 +import QtQuick.Controls 2.2 +import QtQuick.Controls.impl 2.2 T.Tumbler { id: control diff --git a/src/imports/controls/universal/images/downarrow.png b/src/imports/controls/universal/images/downarrow.png Binary files differindex fef7b0f2..9ac84a23 100644 --- a/src/imports/controls/universal/images/downarrow.png +++ b/src/imports/controls/universal/images/downarrow.png diff --git a/src/imports/controls/universal/images/downarrow@2x.png b/src/imports/controls/universal/images/downarrow@2x.png Binary files differindex eabf658a..8dafab94 100644 --- a/src/imports/controls/universal/images/downarrow@2x.png +++ b/src/imports/controls/universal/images/downarrow@2x.png diff --git a/src/imports/controls/universal/images/downarrow@3x.png b/src/imports/controls/universal/images/downarrow@3x.png Binary files differindex f9d39a2c..17ab1cf8 100644 --- a/src/imports/controls/universal/images/downarrow@3x.png +++ b/src/imports/controls/universal/images/downarrow@3x.png diff --git a/src/imports/controls/universal/images/downarrow@4x.png b/src/imports/controls/universal/images/downarrow@4x.png Binary files differindex b252b588..0e145e2d 100644 --- a/src/imports/controls/universal/images/downarrow@4x.png +++ b/src/imports/controls/universal/images/downarrow@4x.png diff --git a/src/imports/controls/universal/qmldir b/src/imports/controls/universal/qmldir index 1dde3a02..da4a89d6 100644 --- a/src/imports/controls/universal/qmldir +++ b/src/imports/controls/universal/qmldir @@ -1,4 +1,4 @@ module QtQuick.Controls.Universal plugin qtquickcontrols2universalstyleplugin classname QtQuickControls2UniversalStylePlugin -depends QtQuick.Controls 2.1 +depends QtQuick.Controls 2.2 diff --git a/src/imports/controls/universal/qquickuniversalprogressring.cpp b/src/imports/controls/universal/qquickuniversalbusyindicator.cpp index 7311add7..a3d09094 100644 --- a/src/imports/controls/universal/qquickuniversalprogressring.cpp +++ b/src/imports/controls/universal/qquickuniversalbusyindicator.cpp @@ -34,13 +34,13 @@ ** ****************************************************************************/ -#include "qquickuniversalprogressring_p.h" +#include "qquickuniversalbusyindicator_p.h" #include <QtCore/qmath.h> #include <QtCore/qeasingcurve.h> #include <QtQuick/private/qquickitem_p.h> -#include <QtQuick/private/qquickanimatorjob_p.h> #include <QtQuick/private/qsgadaptationlayer_p.h> +#include <QtQuickControls2/private/qquickanimatednode_p.h> QT_BEGIN_NAMESPACE @@ -48,16 +48,13 @@ static const int PhaseCount = 6; static const int Interval = 167; static const int TotalDuration = 4052; -class QQuickUniversalProgressRingAnimatorJob : public QQuickAnimatorJob +class QQuickUniversalBusyIndicatorNode : public QQuickAnimatedNode { public: - QQuickUniversalProgressRingAnimatorJob(); + QQuickUniversalBusyIndicatorNode(QQuickUniversalBusyIndicator *item); - void initialize(QQuickAnimatorController *controller) override; void updateCurrentTime(int time) override; - void writeBack() override; - void nodeWasDestroyed() override; - void afterNodeSync() override; + void sync(QQuickItem *item) override; private: struct Phase { @@ -69,12 +66,16 @@ private: QEasingCurve curve; }; - QSGNode *m_node; Phase m_phases[PhaseCount]; }; -QQuickUniversalProgressRingAnimatorJob::QQuickUniversalProgressRingAnimatorJob() : m_node(nullptr) +QQuickUniversalBusyIndicatorNode::QQuickUniversalBusyIndicatorNode(QQuickUniversalBusyIndicator *item) + : QQuickAnimatedNode(item) { + setLoopCount(Infinite); + setDuration(TotalDuration); + setCurrentTime(item->elapsed()); + m_phases[0] = Phase(433, -110, 10, QEasingCurve::BezierSpline); m_phases[1] = Phase(767, 10, 93, QEasingCurve::Linear ); m_phases[2] = Phase(417, 93, 205, QEasingCurve::BezierSpline); @@ -88,25 +89,11 @@ QQuickUniversalProgressRingAnimatorJob::QQuickUniversalProgressRingAnimatorJob() m_phases[5].curve.addCubicBezierSegment(QPointF(0.00, 0.00), QPointF(0.95, 0.37), QPointF(1.00, 1.00)); } -void QQuickUniversalProgressRingAnimatorJob::initialize(QQuickAnimatorController *controller) -{ - QQuickAnimatorJob::initialize(controller); - m_node = QQuickItemPrivate::get(m_target)->childContainerNode(); -} - -void QQuickUniversalProgressRingAnimatorJob::updateCurrentTime(int time) +void QQuickUniversalBusyIndicatorNode::updateCurrentTime(int time) { - if (!m_node) - return; - - QSGNode *containerNode = m_node->firstChild(); - Q_ASSERT(!containerNode || containerNode->type() == QSGNode::TransformNodeType); - if (!containerNode) - return; - int nodeIndex = 0; - int count = containerNode->childCount(); - QSGTransformNode *transformNode = static_cast<QSGTransformNode *>(containerNode->firstChild()); + int count = childCount(); + QSGTransformNode *transformNode = static_cast<QSGTransformNode *>(firstChild()); while (transformNode) { Q_ASSERT(transformNode->type() == QSGNode::TransformNodeType); @@ -147,126 +134,118 @@ void QQuickUniversalProgressRingAnimatorJob::updateCurrentTime(int time) } } -void QQuickUniversalProgressRingAnimatorJob::writeBack() +void QQuickUniversalBusyIndicatorNode::sync(QQuickItem *item) { -} + QQuickUniversalBusyIndicator *indicator = static_cast<QQuickUniversalBusyIndicator *>(item); + QQuickItemPrivate *d = QQuickItemPrivate::get(item); -void QQuickUniversalProgressRingAnimatorJob::nodeWasDestroyed() -{ - m_node = nullptr; -} + QMatrix4x4 matrix; + matrix.translate(item->width() / 2, item->height() / 2); + setMatrix(matrix); -void QQuickUniversalProgressRingAnimatorJob::afterNodeSync() -{ - m_node = QQuickItemPrivate::get(m_target)->childContainerNode(); -} + qreal size = qMin(item->width(), item->height()); + qreal diameter = size / 10.0; + qreal radius = diameter / 2; + qreal offset = (size - diameter * 2) / M_PI; + const QRectF rect(offset, offset, diameter, diameter); -QQuickUniversalProgressRingAnimator::QQuickUniversalProgressRingAnimator(QObject *parent) - : QQuickAnimator(parent) -{ - setDuration(TotalDuration); - setLoops(QQuickAnimator::Infinite); -} + int count = indicator->count(); + QSGNode *transformNode = firstChild(); + for (int i = 0; i < count; ++i) { + if (!transformNode) { + transformNode = new QSGTransformNode; + appendChildNode(transformNode); -QString QQuickUniversalProgressRingAnimator::propertyName() const -{ - return QString(); -} + QSGOpacityNode *opacityNode = new QSGOpacityNode; + transformNode->appendChildNode(opacityNode); -QQuickAnimatorJob *QQuickUniversalProgressRingAnimator::createJob() const -{ - return new QQuickUniversalProgressRingAnimatorJob; + QSGInternalRectangleNode *rectNode = d->sceneGraphContext()->createInternalRectangleNode(); + rectNode->setAntialiasing(true); + opacityNode->appendChildNode(rectNode); + } + + QSGNode *opacityNode = transformNode->firstChild(); + Q_ASSERT(opacityNode->type() == QSGNode::OpacityNodeType); + + QSGInternalRectangleNode *rectNode = static_cast<QSGInternalRectangleNode *>(opacityNode->firstChild()); + Q_ASSERT(rectNode->type() == QSGNode::GeometryNodeType); + + rectNode->setRect(rect); + rectNode->setColor(indicator->color()); + rectNode->setRadius(radius); + rectNode->update(); + + transformNode = transformNode->nextSibling(); + } + + while (transformNode) { + QSGNode *nextSibling = transformNode->nextSibling(); + delete transformNode; + transformNode = nextSibling; + } } -QQuickUniversalProgressRing::QQuickUniversalProgressRing(QQuickItem *parent) - : QQuickItem(parent), m_count(5), m_color(Qt::black) +QQuickUniversalBusyIndicator::QQuickUniversalBusyIndicator(QQuickItem *parent) + : QQuickItem(parent), m_count(5), m_elapsed(0), m_color(Qt::black) { setFlag(ItemHasContents); } -int QQuickUniversalProgressRing::count() const +int QQuickUniversalBusyIndicator::count() const { return m_count; } -void QQuickUniversalProgressRing::setCount(int count) +void QQuickUniversalBusyIndicator::setCount(int count) { if (m_count == count) return; m_count = count; update(); - emit countChanged(); } -QColor QQuickUniversalProgressRing::color() const +QColor QQuickUniversalBusyIndicator::color() const { return m_color; } -void QQuickUniversalProgressRing::setColor(const QColor &color) +void QQuickUniversalBusyIndicator::setColor(const QColor &color) { if (m_color == color) return; m_color = color; update(); - emit colorChanged(); } -QSGNode *QQuickUniversalProgressRing::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) +int QQuickUniversalBusyIndicator::elapsed() const { - QQuickItemPrivate *d = QQuickItemPrivate::get(this); - - if (!oldNode) - oldNode = new QSGTransformNode; - Q_ASSERT(oldNode->type() == QSGNode::TransformNodeType); - - QMatrix4x4 matrix; - matrix.translate(width() / 2, height() / 2); - static_cast<QSGTransformNode *>(oldNode)->setMatrix(matrix); - - qreal size = qMin(width(), height()); - qreal diameter = size / 10.0; - qreal radius = diameter / 2; - qreal offset = (size - diameter * 2) / M_PI; - const QRectF rect(offset, offset, diameter, diameter); - - QSGNode *transformNode = oldNode->firstChild(); - for (int i = 0; i < m_count; ++i) { - if (!transformNode) { - transformNode = new QSGTransformNode; - oldNode->appendChildNode(transformNode); + return m_elapsed; +} - QSGOpacityNode *opacityNode = new QSGOpacityNode; - transformNode->appendChildNode(opacityNode); +void QQuickUniversalBusyIndicator::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data) +{ + QQuickItem::itemChange(change, data); + if (change == ItemVisibleHasChanged) + update(); +} - QSGInternalRectangleNode *rectNode = d->sceneGraphContext()->createInternalRectangleNode(); - rectNode->setAntialiasing(true); - opacityNode->appendChildNode(rectNode); +QSGNode *QQuickUniversalBusyIndicator::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) +{ + QQuickUniversalBusyIndicatorNode *node = static_cast<QQuickUniversalBusyIndicatorNode *>(oldNode); + if (isVisible() && width() > 0 && height() > 0) { + if (!node) { + node = new QQuickUniversalBusyIndicatorNode(this); + node->start(); } - - QSGNode *opacityNode = transformNode->firstChild(); - Q_ASSERT(opacityNode->type() == QSGNode::OpacityNodeType); - - QSGInternalRectangleNode *rectNode = static_cast<QSGInternalRectangleNode *>(opacityNode->firstChild()); - Q_ASSERT(rectNode->type() == QSGNode::GeometryNodeType); - - rectNode->setRect(rect); - rectNode->setColor(m_color); - rectNode->setRadius(radius); - rectNode->update(); - - transformNode = transformNode->nextSibling(); + node->sync(this); + } else { + m_elapsed = node ? node->currentTime() : 0; + delete node; + node = nullptr; } - - while (transformNode) { - QSGNode *nextSibling = transformNode->nextSibling(); - delete transformNode; - transformNode = nextSibling; - } - - return oldNode; + return node; } QT_END_NAMESPACE diff --git a/src/imports/controls/universal/qquickuniversalprogressring_p.h b/src/imports/controls/universal/qquickuniversalbusyindicator_p.h index e40e5085..6b888463 100644 --- a/src/imports/controls/universal/qquickuniversalprogressring_p.h +++ b/src/imports/controls/universal/qquickuniversalbusyindicator_p.h @@ -34,8 +34,8 @@ ** ****************************************************************************/ -#ifndef QQUICKUNIVERSALPROGRESSRING_P_H -#define QQUICKUNIVERSALPROGRESSRING_P_H +#ifndef QQUICKUNIVERSALBUSYINDICATOR_P_H +#define QQUICKUNIVERSALBUSYINDICATOR_P_H // // W A R N I N G @@ -48,19 +48,19 @@ // We mean it. // +#include <QtGui/qcolor.h> #include <QtQuick/qquickitem.h> -#include <QtQuick/private/qquickanimator_p.h> QT_BEGIN_NAMESPACE -class QQuickUniversalProgressRing : public QQuickItem +class QQuickUniversalBusyIndicator : public QQuickItem { Q_OBJECT - Q_PROPERTY(int count READ count WRITE setCount NOTIFY countChanged FINAL) - Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged FINAL) + Q_PROPERTY(int count READ count WRITE setCount FINAL) + Q_PROPERTY(QColor color READ color WRITE setColor FINAL) public: - QQuickUniversalProgressRing(QQuickItem *parent = nullptr); + explicit QQuickUniversalBusyIndicator(QQuickItem *parent = nullptr); int count() const; void setCount(int count); @@ -68,32 +68,20 @@ public: QColor color() const; void setColor(const QColor &color); -Q_SIGNALS: - void countChanged(); - void colorChanged(); + int elapsed() const; protected: + void itemChange(ItemChange change, const ItemChangeData &data) override; QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) override; private: int m_count; + int m_elapsed; QColor m_color; }; -class QQuickUniversalProgressRingAnimator : public QQuickAnimator -{ - Q_OBJECT - -public: - QQuickUniversalProgressRingAnimator(QObject *parent = nullptr); - -protected: - QString propertyName() const override; - QQuickAnimatorJob *createJob() const override; -}; - QT_END_NAMESPACE -QML_DECLARE_TYPE(QQuickUniversalProgressRing) +QML_DECLARE_TYPE(QQuickUniversalBusyIndicator) -#endif // QQUICKUNIVERSALPROGRESSRING_P_H +#endif // QQUICKUNIVERSALBUSYINDICATOR_P_H diff --git a/src/imports/controls/universal/qquickuniversalprogressstrip.cpp b/src/imports/controls/universal/qquickuniversalprogressbar.cpp index 489b2737..25dfda6f 100644 --- a/src/imports/controls/universal/qquickuniversalprogressstrip.cpp +++ b/src/imports/controls/universal/qquickuniversalprogressbar.cpp @@ -34,14 +34,14 @@ ** ****************************************************************************/ -#include "qquickuniversalprogressstrip_p.h" +#include "qquickuniversalprogressbar_p.h" #include <QtCore/qmath.h> #include <QtCore/qeasingcurve.h> #include <QtQuick/private/qquickitem_p.h> -#include <QtQuick/private/qquickanimatorjob_p.h> #include <QtQuick/private/qsgadaptationlayer_p.h> #include <QtQuick/qsgrectanglenode.h> +#include <QtQuickControls2/private/qquickanimatednode_p.h> QT_BEGIN_NAMESPACE @@ -57,16 +57,13 @@ static const qreal ContainerAnimationEndPosition = 0.435222; // relative static const qreal EllipseAnimationWellPosition = 0.333333333333333; // relative static const qreal EllipseAnimationEndPosition = 0.666666666666667; // relative -class QQuickUniversalProgressStripAnimatorJob : public QQuickAnimatorJob +class QQuickUniversalProgressBarNode : public QQuickAnimatedNode { public: - QQuickUniversalProgressStripAnimatorJob(); + QQuickUniversalProgressBarNode(QQuickUniversalProgressBar *item); - void initialize(QQuickAnimatorController *controller) override; void updateCurrentTime(int time) override; - void writeBack() override; - void nodeWasDestroyed() override; - void afterNodeSync() override; + void sync(QQuickItem *item) override; private: struct Phase { @@ -77,13 +74,18 @@ private: qreal to; }; - QSGNode *m_node; + bool m_indeterminate; Phase m_borderPhases[PhaseCount]; Phase m_ellipsePhases[PhaseCount]; }; -QQuickUniversalProgressStripAnimatorJob::QQuickUniversalProgressStripAnimatorJob() : m_node(nullptr) +QQuickUniversalProgressBarNode::QQuickUniversalProgressBarNode(QQuickUniversalProgressBar *item) + : QQuickAnimatedNode(item), + m_indeterminate(false) { + setLoopCount(Infinite); + setDuration(TotalDuration); + m_borderPhases[0] = Phase( 500, -50, 0); m_borderPhases[1] = Phase(1500, 0, 0); m_borderPhases[2] = Phase(1000, 0, 100); @@ -95,18 +97,9 @@ QQuickUniversalProgressStripAnimatorJob::QQuickUniversalProgressStripAnimatorJob m_ellipsePhases[3] = Phase(1000, EllipseAnimationWellPosition, EllipseAnimationEndPosition); } -void QQuickUniversalProgressStripAnimatorJob::initialize(QQuickAnimatorController *controller) -{ - QQuickAnimatorJob::initialize(controller); - m_node = QQuickItemPrivate::get(m_target)->childContainerNode(); -} - -void QQuickUniversalProgressStripAnimatorJob::updateCurrentTime(int time) +void QQuickUniversalProgressBarNode::updateCurrentTime(int time) { - if (!m_node) - return; - - QSGRectangleNode *geometryNode = static_cast<QSGRectangleNode *>(m_node->firstChild()); + QSGRectangleNode *geometryNode = static_cast<QSGRectangleNode *>(firstChild()); Q_ASSERT(!geometryNode || geometryNode->type() == QSGNode::GeometryNodeType); if (!geometryNode) return; @@ -197,105 +190,37 @@ void QQuickUniversalProgressStripAnimatorJob::updateCurrentTime(int time) } } -void QQuickUniversalProgressStripAnimatorJob::writeBack() -{ -} - -void QQuickUniversalProgressStripAnimatorJob::nodeWasDestroyed() -{ - m_node = nullptr; -} - -void QQuickUniversalProgressStripAnimatorJob::afterNodeSync() -{ - m_node = QQuickItemPrivate::get(m_target)->childContainerNode(); -} - -QQuickUniversalProgressStripAnimator::QQuickUniversalProgressStripAnimator(QObject *parent) - : QQuickAnimator(parent) -{ - setDuration(TotalDuration); - setLoops(QQuickAnimator::Infinite); -} - -QString QQuickUniversalProgressStripAnimator::propertyName() const -{ - return QString(); -} - -QQuickAnimatorJob *QQuickUniversalProgressStripAnimator::createJob() const -{ - return new QQuickUniversalProgressStripAnimatorJob; -} - -QQuickUniversalProgressStrip::QQuickUniversalProgressStrip(QQuickItem *parent) - : QQuickItem(parent), m_color(Qt::black), m_progress(0.0), m_indeterminate(false) -{ - setFlag(ItemHasContents); -} - -QColor QQuickUniversalProgressStrip::color() const -{ - return m_color; -} - -void QQuickUniversalProgressStrip::setColor(const QColor &color) -{ - if (m_color == color) - return; - - m_color = color; - update(); -} - -qreal QQuickUniversalProgressStrip::progress() const -{ - return m_progress; -} - -void QQuickUniversalProgressStrip::setProgress(qreal progress) -{ - if (progress == m_progress) - return; - - m_progress = progress; - update(); -} - -bool QQuickUniversalProgressStrip::isIndeterminate() const -{ - return m_indeterminate; -} - -void QQuickUniversalProgressStrip::setIndeterminate(bool indeterminate) +void QQuickUniversalProgressBarNode::sync(QQuickItem *item) { - if (indeterminate == m_indeterminate) - return; - - m_indeterminate = indeterminate; - update(); -} + QQuickUniversalProgressBar *bar = static_cast<QQuickUniversalProgressBar *>(item); + if (m_indeterminate != bar->isIndeterminate()) { + m_indeterminate = bar->isIndeterminate(); + if (m_indeterminate) + start(); + else + stop(); + } -QSGNode *QQuickUniversalProgressStrip::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) -{ - QQuickItemPrivate *d = QQuickItemPrivate::get(this); + QQuickItemPrivate *d = QQuickItemPrivate::get(item); - QRectF bounds = boundingRect(); - bounds.setHeight(implicitHeight()); - bounds.moveTop((height() - bounds.height()) / 2.0); + QRectF bounds = item->boundingRect(); + bounds.setHeight(item->implicitHeight()); + bounds.moveTop((item->height() - bounds.height()) / 2.0); if (!m_indeterminate) - bounds.setWidth(m_progress * bounds.width()); + bounds.setWidth(bar->progress() * bounds.width()); - QSGRectangleNode *geometryNode = static_cast<QSGRectangleNode *>(oldNode); - if (!geometryNode) - geometryNode = window()->createRectangleNode(); + QSGRectangleNode *geometryNode = static_cast<QSGRectangleNode *>(firstChild()); + if (!geometryNode) { + geometryNode = item->window()->createRectangleNode(); + appendChildNode(geometryNode); + } geometryNode->setRect(bounds); - geometryNode->setColor(m_indeterminate ? Qt::transparent : m_color); + geometryNode->setColor(m_indeterminate ? Qt::transparent : bar->color()); if (!m_indeterminate) { while (QSGNode *node = geometryNode->firstChild()) delete node; - return geometryNode; + return; } QSGTransformNode *gridNode = static_cast<QSGTransformNode *>(geometryNode->firstChild()); @@ -333,14 +258,82 @@ QSGNode *QQuickUniversalProgressStrip::updatePaintNode(QSGNode *oldNode, UpdateP QSGInternalRectangleNode *rectNode = static_cast<QSGInternalRectangleNode *>(opacityNode->firstChild()); Q_ASSERT(rectNode->type() == QSGNode::GeometryNodeType); - rectNode->setRect(QRectF((EllipseCount - i - 1) * (EllipseDiameter + EllipseOffset), (height() - EllipseDiameter) / 2, EllipseDiameter, EllipseDiameter)); - rectNode->setColor(m_color); + rectNode->setRect(QRectF((EllipseCount - i - 1) * (EllipseDiameter + EllipseOffset), (item->height() - EllipseDiameter) / 2, EllipseDiameter, EllipseDiameter)); + rectNode->setColor(bar->color()); rectNode->update(); borderNode = borderNode->nextSibling(); } +} + +QQuickUniversalProgressBar::QQuickUniversalProgressBar(QQuickItem *parent) + : QQuickItem(parent), m_color(Qt::black), m_progress(0.0), m_indeterminate(false) +{ + setFlag(ItemHasContents); +} + +QColor QQuickUniversalProgressBar::color() const +{ + return m_color; +} + +void QQuickUniversalProgressBar::setColor(const QColor &color) +{ + if (m_color == color) + return; + + m_color = color; + update(); +} - return geometryNode; +qreal QQuickUniversalProgressBar::progress() const +{ + return m_progress; +} + +void QQuickUniversalProgressBar::setProgress(qreal progress) +{ + if (progress == m_progress) + return; + + m_progress = progress; + update(); +} + +bool QQuickUniversalProgressBar::isIndeterminate() const +{ + return m_indeterminate; +} + +void QQuickUniversalProgressBar::setIndeterminate(bool indeterminate) +{ + if (indeterminate == m_indeterminate) + return; + + m_indeterminate = indeterminate; + setClip(m_indeterminate); + update(); +} + +void QQuickUniversalProgressBar::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data) +{ + QQuickItem::itemChange(change, data); + if (change == ItemVisibleHasChanged) + update(); +} + +QSGNode *QQuickUniversalProgressBar::updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *) +{ + QQuickUniversalProgressBarNode *node = static_cast<QQuickUniversalProgressBarNode *>(oldNode); + if (isVisible() && width() > 0 && height() > 0) { + if (!node) + node = new QQuickUniversalProgressBarNode(this); + node->sync(this); + } else { + delete node; + node = nullptr; + } + return node; } QT_END_NAMESPACE diff --git a/src/imports/controls/universal/qquickuniversalprogressstrip_p.h b/src/imports/controls/universal/qquickuniversalprogressbar_p.h index d4041d6a..ef34289c 100644 --- a/src/imports/controls/universal/qquickuniversalprogressstrip_p.h +++ b/src/imports/controls/universal/qquickuniversalprogressbar_p.h @@ -34,8 +34,8 @@ ** ****************************************************************************/ -#ifndef QQUICKUNIVERSALPROGRESSSTRIP_P_H -#define QQUICKUNIVERSALPROGRESSSTRIP_P_H +#ifndef QQUICKUNIVERSALPROGRESSBAR_P_H +#define QQUICKUNIVERSALPROGRESSBAR_P_H // // W A R N I N G @@ -48,12 +48,12 @@ // We mean it. // +#include <QtGui/qcolor.h> #include <QtQuick/qquickitem.h> -#include <QtQuick/private/qquickanimator_p.h> QT_BEGIN_NAMESPACE -class QQuickUniversalProgressStrip : public QQuickItem +class QQuickUniversalProgressBar : public QQuickItem { Q_OBJECT Q_PROPERTY(QColor color READ color WRITE setColor FINAL) @@ -61,7 +61,7 @@ class QQuickUniversalProgressStrip : public QQuickItem Q_PROPERTY(bool indeterminate READ isIndeterminate WRITE setIndeterminate FINAL) public: - QQuickUniversalProgressStrip(QQuickItem *parent = nullptr); + explicit QQuickUniversalProgressBar(QQuickItem *parent = nullptr); QColor color() const; void setColor(const QColor &color); @@ -73,6 +73,7 @@ public: void setIndeterminate(bool indeterminate); protected: + void itemChange(ItemChange change, const ItemChangeData &data) override; QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) override; private: @@ -81,21 +82,8 @@ private: bool m_indeterminate; }; -class QQuickUniversalProgressStripAnimator : public QQuickAnimator -{ - Q_OBJECT - -public: - QQuickUniversalProgressStripAnimator(QObject *parent = nullptr); - -protected: - QString propertyName() const override; - QQuickAnimatorJob *createJob() const override; -}; - QT_END_NAMESPACE -QML_DECLARE_TYPE(QQuickUniversalProgressStrip) -QML_DECLARE_TYPE(QQuickUniversalProgressStripAnimator) +QML_DECLARE_TYPE(QQuickUniversalProgressBar) -#endif // QQUICKUNIVERSALPROGRESSSTRIP_P_H +#endif // QQUICKUNIVERSALPROGRESSBAR_P_H diff --git a/src/imports/controls/universal/qquickuniversalstyle.cpp b/src/imports/controls/universal/qquickuniversalstyle.cpp index da924ce9..c581a784 100644 --- a/src/imports/controls/universal/qquickuniversalstyle.cpp +++ b/src/imports/controls/universal/qquickuniversalstyle.cpp @@ -531,8 +531,10 @@ static Enum toEnumValue(const QByteArray &value, bool *ok) static QByteArray resolveSetting(const QByteArray &env, const QSharedPointer<QSettings> &settings, const QString &name) { QByteArray value = qgetenv(env); +#if QT_CONFIG(settings) if (value.isNull() && !settings.isNull()) value = settings->value(name).toByteArray(); +#endif return value; } @@ -603,7 +605,7 @@ bool QQuickUniversalStyle::variantToRgba(const QVariant &var, const char *name, if (var.type() == QVariant::Int) { int val = var.toInt(); if (val < Lime || val > Taupe) { - qmlInfo(parent()) << "unknown Universal." << name << " value: " << val; + qmlWarning(parent()) << "unknown Universal." << name << " value: " << val; return false; } *rgba = qquickuniversal_accent_color(static_cast<Color>(val)); @@ -614,7 +616,7 @@ bool QQuickUniversalStyle::variantToRgba(const QVariant &var, const char *name, } else { QColor color(var.toString()); if (!color.isValid()) { - qmlInfo(parent()) << "unknown Universal." << name << " value: " << var.toString(); + qmlWarning(parent()) << "unknown Universal." << name << " value: " << var.toString(); return false; } *rgba = color.rgba(); diff --git a/src/imports/controls/universal/qtquickcontrols2universalstyleplugin.cpp b/src/imports/controls/universal/qtquickcontrols2universalstyleplugin.cpp index fb3563fc..017a1aad 100644 --- a/src/imports/controls/universal/qtquickcontrols2universalstyleplugin.cpp +++ b/src/imports/controls/universal/qtquickcontrols2universalstyleplugin.cpp @@ -36,9 +36,9 @@ #include <QtQuickControls2/private/qquickstyleplugin_p.h> +#include "qquickuniversalbusyindicator_p.h" #include "qquickuniversalfocusrectangle_p.h" -#include "qquickuniversalprogressring_p.h" -#include "qquickuniversalprogressstrip_p.h" +#include "qquickuniversalprogressbar_p.h" #include "qquickuniversalstyle_p.h" #include "qquickuniversaltheme_p.h" @@ -76,8 +76,8 @@ QtQuickControls2UniversalStylePlugin::QtQuickControls2UniversalStylePlugin(QObje void QtQuickControls2UniversalStylePlugin::registerTypes(const char *uri) { + qmlRegisterModule(uri, 2, QT_VERSION_MINOR - 7); // Qt 5.7->2.0, 5.8->2.1, 5.9->2.2... qmlRegisterUncreatableType<QQuickUniversalStyle>(uri, 2, 0, "Universal", tr("Universal is an attached property")); - qmlRegisterRevision<QQuickUniversalStyle, 1>(uri, 2, 1); } void QtQuickControls2UniversalStylePlugin::initializeEngine(QQmlEngine *engine, const char *uri) @@ -87,12 +87,11 @@ void QtQuickControls2UniversalStylePlugin::initializeEngine(QQmlEngine *engine, engine->addImageProvider(name(), new QQuickColorImageProvider(QStringLiteral(":/qt-project.org/imports/QtQuick/Controls.2/Universal/images"))); QByteArray import = QByteArray(uri) + ".impl"; + qmlRegisterModule(import, 2, QT_VERSION_MINOR - 7); // Qt 5.7->2.0, 5.8->2.1, 5.9->2.2... + qmlRegisterType<QQuickUniversalFocusRectangle>(import, 2, 0, "FocusRectangle"); - qmlRegisterRevision<QQuickUniversalFocusRectangle, 1>(import, 2, 1); - qmlRegisterType<QQuickUniversalProgressRing>(import, 2, 0, "ProgressRing"); - qmlRegisterType<QQuickUniversalProgressRingAnimator>(import, 2, 0, "ProgressRingAnimator"); - qmlRegisterType<QQuickUniversalProgressStrip>(import, 2, 0, "ProgressStrip"); - qmlRegisterType<QQuickUniversalProgressStripAnimator>(import, 2, 0, "ProgressStripAnimator"); + qmlRegisterType<QQuickUniversalBusyIndicator>(import, 2, 0, "BusyIndicatorImpl"); + qmlRegisterType<QQuickUniversalProgressBar>(import, 2, 0, "ProgressBarImpl"); qmlRegisterType(typeUrl(QStringLiteral("CheckIndicator.qml")), import, 2, 0, "CheckIndicator"); qmlRegisterType(typeUrl(QStringLiteral("RadioIndicator.qml")), import, 2, 0, "RadioIndicator"); diff --git a/src/imports/controls/universal/universal.pri b/src/imports/controls/universal/universal.pri index 3697a2a6..c80a2dfc 100644 --- a/src/imports/controls/universal/universal.pri +++ b/src/imports/controls/universal/universal.pri @@ -6,6 +6,7 @@ QML_FILES += \ $$PWD/CheckDelegate.qml \ $$PWD/CheckIndicator.qml \ $$PWD/ComboBox.qml \ + $$PWD/DelayButton.qml \ $$PWD/Dial.qml \ $$PWD/Dialog.qml \ $$PWD/DialogButtonBox.qml \ @@ -47,15 +48,15 @@ QML_FILES += \ $$PWD/Tumbler.qml HEADERS += \ + $$PWD/qquickuniversalbusyindicator_p.h \ $$PWD/qquickuniversalfocusrectangle_p.h \ - $$PWD/qquickuniversalprogressring_p.h \ - $$PWD/qquickuniversalprogressstrip_p.h \ + $$PWD/qquickuniversalprogressbar_p.h \ $$PWD/qquickuniversalstyle_p.h \ $$PWD/qquickuniversaltheme_p.h SOURCES += \ + $$PWD/qquickuniversalbusyindicator.cpp \ $$PWD/qquickuniversalfocusrectangle.cpp \ - $$PWD/qquickuniversalprogressring.cpp \ - $$PWD/qquickuniversalprogressstrip.cpp \ + $$PWD/qquickuniversalprogressbar.cpp \ $$PWD/qquickuniversalstyle.cpp \ $$PWD/qquickuniversaltheme.cpp diff --git a/src/imports/controls/universal/universal.pro b/src/imports/controls/universal/universal.pro index c3835016..eba5a9d8 100644 --- a/src/imports/controls/universal/universal.pro +++ b/src/imports/controls/universal/universal.pro @@ -1,6 +1,6 @@ TARGET = qtquickcontrols2universalstyleplugin TARGETPATH = QtQuick/Controls.2/Universal -IMPORT_VERSION = 2.1 +IMPORT_VERSION = 2.2 QT += qml quick QT_PRIVATE += core-private gui-private qml-private quick-private quicktemplates2-private quickcontrols2-private @@ -20,3 +20,5 @@ include(universal.pri) CONFIG += no_cxx_module load(qml_plugin) + +requires(qtConfig(quickcontrols2-universal)) |