Initial commit
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Window
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.ApplicationWindow {
|
||||
id: window
|
||||
|
||||
background: NinePatchImage {
|
||||
width: window.width
|
||||
height: window.height
|
||||
|
||||
source: Imagine.url + "applicationwindow-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"active": window.active}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.BusyIndicator {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
contentItem: AnimatedImage {
|
||||
opacity: control.running ? 1 : 0
|
||||
playing: control.running || opacity > 0
|
||||
visible: control.running || opacity > 0
|
||||
Behavior on opacity { OpacityAnimator { duration: 250 } }
|
||||
|
||||
source: Imagine.url + "busyindicator-animation"
|
||||
AnimatedImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"running": control.running},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "busyindicator-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"running": control.running},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.impl
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.Button {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
spacing: 6 // ###
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
icon.width: 24
|
||||
icon.height: 24
|
||||
|
||||
contentItem: IconLabel {
|
||||
spacing: control.spacing
|
||||
mirrored: control.mirrored
|
||||
display: control.display
|
||||
|
||||
icon: control.icon
|
||||
defaultIconColor: control.enabled && control.flat && control.highlighted ? control.palette.highlight
|
||||
: control.enabled && (control.down || control.checked || control.highlighted) && !control.flat
|
||||
? control.palette.brightText : control.flat ? control.palette.windowText : control.palette.buttonText
|
||||
text: control.text
|
||||
font: control.font
|
||||
color: defaultIconColor
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "button-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checked},
|
||||
{"checkable": control.checkable},
|
||||
{"focused": control.visualFocus},
|
||||
{"highlighted": control.highlighted},
|
||||
{"mirrored": control.mirrored},
|
||||
{"flat": control.flat},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.CheckBox {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding,
|
||||
implicitIndicatorHeight + topPadding + bottomPadding)
|
||||
|
||||
spacing: 6 // ###
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
indicator: Image {
|
||||
x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
|
||||
y: control.topPadding + (control.availableHeight - height) / 2
|
||||
|
||||
source: Imagine.url + "checkbox-indicator"
|
||||
ImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checkState === Qt.Checked},
|
||||
{"partially-checked": control.checkState === Qt.PartiallyChecked},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
contentItem: Text {
|
||||
leftPadding: control.indicator && !control.mirrored ? control.indicator.width + control.spacing : 0
|
||||
rightPadding: control.indicator && control.mirrored ? control.indicator.width + control.spacing : 0
|
||||
|
||||
text: control.text
|
||||
font: control.font
|
||||
color: control.palette.windowText
|
||||
elide: Text.ElideRight
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "checkbox-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checkState === Qt.Checked},
|
||||
{"partially-checked": control.checkState === Qt.PartiallyChecked},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.impl
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.CheckDelegate {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding,
|
||||
implicitIndicatorHeight + topPadding + bottomPadding)
|
||||
|
||||
spacing: 12 // ###
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
icon.width: 24
|
||||
icon.height: 24
|
||||
|
||||
indicator: Image {
|
||||
x: control.mirrored ? control.leftPadding : control.width - width - control.rightPadding
|
||||
y: control.topPadding + (control.availableHeight - height) / 2
|
||||
|
||||
source: Imagine.url + "checkdelegate-indicator"
|
||||
ImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checkState === Qt.Checked},
|
||||
{"partially-checked": control.checkState === Qt.PartiallyChecked},
|
||||
{"focused": control.visualFocus},
|
||||
{"highlighted": control.highlighted},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
contentItem: IconLabel {
|
||||
leftPadding: control.mirrored ? control.indicator.width + control.spacing : 0
|
||||
rightPadding: !control.mirrored ? control.indicator.width + control.spacing : 0
|
||||
|
||||
spacing: control.spacing
|
||||
mirrored: control.mirrored
|
||||
display: control.display
|
||||
alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
|
||||
|
||||
icon: control.icon
|
||||
defaultIconColor: control.palette.text
|
||||
text: control.text
|
||||
font: control.font
|
||||
color: defaultIconColor
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "checkdelegate-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checkState === Qt.Checked},
|
||||
{"partially-checked": control.checkState === Qt.PartiallyChecked},
|
||||
{"focused": control.visualFocus},
|
||||
{"highlighted": control.highlighted},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,149 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
pragma ComponentBehavior: Bound
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Window
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.ComboBox {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + (background ? background.leftPadding + background.rightPadding : 0))
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
Math.max(implicitContentHeight,
|
||||
implicitIndicatorHeight) + (background ? background.topPadding + background.bottomPadding : 0))
|
||||
|
||||
leftPadding: padding + (!control.mirrored || !indicator || !indicator.visible ? 0 : indicator.width + spacing)
|
||||
rightPadding: padding + (control.mirrored || !indicator || !indicator.visible ? 0 : indicator.width + spacing)
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
delegate: ItemDelegate {
|
||||
required property var model
|
||||
required property int index
|
||||
|
||||
width: ListView.view.width
|
||||
text: model[control.textRole]
|
||||
font.weight: control.currentIndex === index ? Font.DemiBold : Font.Normal
|
||||
highlighted: control.highlightedIndex === index
|
||||
hoverEnabled: control.hoverEnabled
|
||||
}
|
||||
|
||||
indicator: Image {
|
||||
x: control.mirrored ? control.padding : control.width - width - control.padding
|
||||
y: control.topPadding + (control.availableHeight - height) / 2
|
||||
|
||||
source: Imagine.url + "combobox-indicator"
|
||||
ImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.pressed},
|
||||
{"editable": control.editable},
|
||||
{"open": control.down},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered},
|
||||
{"flat": control.flat}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
contentItem: T.TextField {
|
||||
topPadding: control.background ? control.background.topPadding : 0
|
||||
leftPadding: control.background ? control.background.leftPadding : 0
|
||||
rightPadding: control.background ? control.background.rightPadding : 0
|
||||
bottomPadding: control.background ? control.background.bottomPadding : 0
|
||||
|
||||
text: control.editable ? control.editText : control.displayText
|
||||
|
||||
enabled: control.editable
|
||||
autoScroll: control.editable
|
||||
readOnly: control.down
|
||||
inputMethodHints: control.inputMethodHints
|
||||
validator: control.validator
|
||||
selectByMouse: control.selectTextByMouse
|
||||
|
||||
color: control.flat ? control.palette.windowText : control.editable ? control.palette.text : control.palette.buttonText
|
||||
selectionColor: control.palette.highlight
|
||||
selectedTextColor: control.palette.highlightedText
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
|
||||
ContextMenu.menu: TextEditingContextMenu {
|
||||
editor: parent
|
||||
}
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "combobox-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.pressed},
|
||||
{"editable": control.editable},
|
||||
{"open": control.down},
|
||||
{"focused": control.visualFocus || (control.editable && control.activeFocus)},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered},
|
||||
{"flat": control.flat}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
popup: T.Popup {
|
||||
width: control.width
|
||||
height: Math.min(contentItem.implicitHeight + topPadding + bottomPadding, control.Window.height - topMargin - bottomMargin)
|
||||
|
||||
topMargin: background.topInset
|
||||
bottomMargin: background.bottomInset
|
||||
|
||||
topPadding: background.topPadding
|
||||
leftPadding: background.leftPadding
|
||||
rightPadding: background.rightPadding
|
||||
bottomPadding: background.bottomPadding
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
palette.text: control.palette.text
|
||||
palette.highlight: control.palette.highlight
|
||||
palette.highlightedText: control.palette.highlightedText
|
||||
palette.windowText: control.palette.windowText
|
||||
palette.buttonText: control.palette.buttonText
|
||||
|
||||
contentItem: ListView {
|
||||
clip: true
|
||||
implicitHeight: contentHeight
|
||||
model: control.delegateModel
|
||||
currentIndex: control.highlightedIndex
|
||||
highlightMoveDuration: 0
|
||||
|
||||
T.ScrollIndicator.vertical: ScrollIndicator { }
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "combobox-popup"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.pressed},
|
||||
{"editable": control.editable},
|
||||
{"focused": control.visualFocus || (control.editable && control.activeFocus)},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered},
|
||||
{"flat": control.flat}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.DelayButton {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
transition: Transition {
|
||||
NumberAnimation {
|
||||
duration: control.delay * (control.pressed ? 1.0 - control.progress : 0.3 * control.progress)
|
||||
}
|
||||
}
|
||||
|
||||
contentItem: Text {
|
||||
text: control.text
|
||||
font: control.font
|
||||
color: control.palette.buttonText
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: control.Imagine.url + "delaybutton-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checked},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
|
||||
readonly override property NinePatchImage progress: NinePatchImage {
|
||||
parent: control.background
|
||||
width: control.progress * parent.width
|
||||
height: parent.height
|
||||
visible: false
|
||||
|
||||
source: control.Imagine.url + "delaybutton-progress"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checked},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
readonly property NinePatchImage mask: NinePatchImage {
|
||||
width: control.background.width
|
||||
height: control.background.height
|
||||
visible: false
|
||||
|
||||
source: control.Imagine.url + "delaybutton-mask"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checked},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
readonly property OpacityMask effect: OpacityMask {
|
||||
parent: control.background
|
||||
width: source.width
|
||||
height: source.height
|
||||
source: control.background.progress
|
||||
|
||||
maskSource: ShaderEffectSource {
|
||||
sourceItem: control.background.mask
|
||||
sourceRect: Qt.rect(0, 0, control.background.effect.width, control.background.effect.height)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.Dial {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
(handle ? handle.implicitWidth : 0) + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
(handle ? handle.implicitHeight : 0) + topPadding + bottomPadding)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
handle: Image {
|
||||
x: control.background.x + control.background.width / 2 - width / 2
|
||||
y: control.background.y + control.background.height / 2 - height / 2
|
||||
|
||||
source: Imagine.url + "dial-handle"
|
||||
ImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.pressed},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
|
||||
transform: [
|
||||
Translate {
|
||||
y: -Math.min(control.background.width, control.background.height) * 0.4
|
||||
+ (control.handle ? control.handle.height / 2 : 0)
|
||||
},
|
||||
Rotation {
|
||||
angle: control.angle
|
||||
origin.x: control.handle ? control.handle.width / 2 : 0
|
||||
origin.y: control.handle ? control.handle.height / 2 : 0
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
fillMode: Image.PreserveAspectFit
|
||||
source: Imagine.url + "dial-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.pressed},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.Dialog {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding,
|
||||
implicitHeaderWidth,
|
||||
implicitFooterWidth)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding
|
||||
+ (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
|
||||
+ (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "dialog-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"modal": control.modal},
|
||||
{"dim": control.dim}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
header: Label {
|
||||
text: control.title
|
||||
visible: parent?.parent === Overlay.overlay && control.title
|
||||
elide: Label.ElideRight
|
||||
font.bold: true
|
||||
padding: 12
|
||||
|
||||
background: NinePatchImage {
|
||||
width: parent.width
|
||||
height: parent.height
|
||||
|
||||
source: Imagine.url + "dialog-title"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"modal": control.modal},
|
||||
{"dim": control.dim}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
footer: DialogButtonBox {
|
||||
visible: count > 0
|
||||
}
|
||||
|
||||
T.Overlay.modal: NinePatchImage {
|
||||
source: Imagine.url + "dialog-overlay"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"modal": true}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
T.Overlay.modeless: NinePatchImage {
|
||||
source: Imagine.url + "dialog-overlay"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"modal": false}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.DialogButtonBox {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
(control.count === 1 ? implicitContentWidth * 2 : implicitContentWidth) + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
spacing: 6
|
||||
|
||||
delegate: Button {
|
||||
width: control.count === 1 ? control.availableWidth / 2 : undefined
|
||||
flat: true
|
||||
}
|
||||
|
||||
contentItem: ListView {
|
||||
implicitWidth: contentWidth
|
||||
model: control.contentModel
|
||||
spacing: control.spacing
|
||||
orientation: ListView.Horizontal
|
||||
boundsBehavior: Flickable.StopAtBounds
|
||||
snapMode: ListView.SnapToItem
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "dialogbuttonbox-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"mirrored": control.mirrored}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,124 @@
|
||||
// Copyright (C) 2025 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.DoubleSpinBox {
|
||||
id: control
|
||||
|
||||
// Note: the width of the indicators are calculated into the padding
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
contentItem.implicitWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding,
|
||||
up.implicitIndicatorHeight, down.implicitIndicatorHeight)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: (background ? background.leftPadding : 0) + (control.mirrored ? (up.indicator ? up.indicator.width : 0) : (down.indicator ? down.indicator.width : 0))
|
||||
rightPadding: (background ? background.rightPadding : 0) + (control.mirrored ? (down.indicator ? down.indicator.width : 0) : (up.indicator ? up.indicator.width : 0))
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
validator: DoubleValidator {
|
||||
locale: control.locale.name
|
||||
bottom: Math.min(control.from, control.to)
|
||||
top: Math.max(control.from, control.to)
|
||||
decimals: control.decimals
|
||||
}
|
||||
|
||||
contentItem: TextInput {
|
||||
z: 2
|
||||
text: control.displayText
|
||||
opacity: control.enabled ? 1 : 0.3
|
||||
|
||||
font: control.font
|
||||
color: control.palette.text
|
||||
selectionColor: control.palette.highlight
|
||||
selectedTextColor: control.palette.highlightedText
|
||||
horizontalAlignment: Qt.AlignHCenter
|
||||
verticalAlignment: Qt.AlignVCenter
|
||||
|
||||
readOnly: !control.editable
|
||||
validator: control.validator
|
||||
inputMethodHints: control.inputMethodHints
|
||||
clip: width < implicitWidth
|
||||
|
||||
ContextMenu.menu: TextEditingContextMenu {
|
||||
editor: parent
|
||||
}
|
||||
|
||||
NinePatchImage {
|
||||
z: -1
|
||||
width: control.width
|
||||
height: control.height
|
||||
visible: control.editable
|
||||
|
||||
source: Imagine.url + "spinbox-editor"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"focused": control.activeFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
up.indicator: NinePatchImage {
|
||||
x: control.mirrored ? 0 : control.width - width
|
||||
height: control.height
|
||||
|
||||
source: Imagine.url + "spinbox-indicator"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"up": true},
|
||||
{"disabled": !control.up.indicator.enabled},
|
||||
{"editable": control.editable},
|
||||
{"pressed": control.up.pressed},
|
||||
{"focused": control.activeFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.up.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
down.indicator: NinePatchImage {
|
||||
x: control.mirrored ? control.width - width : 0
|
||||
height: control.height
|
||||
|
||||
source: Imagine.url + "spinbox-indicator"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"down": true},
|
||||
{"disabled": !control.down.indicator.enabled},
|
||||
{"editable": control.editable},
|
||||
{"pressed": control.down.pressed},
|
||||
{"focused": control.activeFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.down.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "spinbox-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"editable": control.editable},
|
||||
{"focused": control.activeFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.Drawer {
|
||||
id: control
|
||||
|
||||
parent: T.Overlay.overlay
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: SafeArea.margins.top + (background ? background.topPadding : 0)
|
||||
leftPadding: SafeArea.margins.left + (background ? background.leftPadding : 0)
|
||||
rightPadding: SafeArea.margins.right + (background ? background.rightPadding : 0)
|
||||
bottomPadding: SafeArea.margins.bottom + (background ? background.bottomPadding : 0)
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
enter: Transition { SmoothedAnimation { velocity: 5 } }
|
||||
exit: Transition { SmoothedAnimation { velocity: 5 } }
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "drawer-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"modal": control.modal},
|
||||
{"dim": control.dim},
|
||||
{"top": control.edge === Qt.TopEdge},
|
||||
{"left": control.edge === Qt.LeftEdge},
|
||||
{"right": control.edge === Qt.RightEdge},
|
||||
{"bottom": control.edge === Qt.BottomEdge}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
T.Overlay.modal: NinePatchImage {
|
||||
source: Imagine.url + "drawer-overlay"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"modal": true}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
T.Overlay.modeless: NinePatchImage {
|
||||
source: Imagine.url + "drawer-overlay"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"modal": false}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.Frame {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "frame-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"mirrored": control.mirrored}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.GroupBox {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding,
|
||||
implicitLabelWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: ((background as NinePatchImage)?.topPadding ?? 0) + (implicitLabelWidth > 0 ? implicitLabelHeight + spacing : 0)
|
||||
leftPadding: ((background as NinePatchImage)?.leftPadding ?? 0)
|
||||
rightPadding: ((background as NinePatchImage)?.rightPadding ?? 0)
|
||||
bottomPadding: ((background as NinePatchImage)?.bottomPadding ?? 0)
|
||||
|
||||
label: Label {
|
||||
width: control.width
|
||||
|
||||
topPadding: background.topPadding
|
||||
leftPadding: background.leftPadding
|
||||
rightPadding: background.rightPadding
|
||||
bottomPadding: background.bottomPadding
|
||||
|
||||
text: control.title
|
||||
elide: Text.ElideRight
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
|
||||
color: control.palette.windowText
|
||||
|
||||
background: NinePatchImage {
|
||||
width: parent.width
|
||||
height: parent.height
|
||||
|
||||
source: Imagine.url + "groupbox-title"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"mirrored": control.mirrored}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
x: -leftInset
|
||||
y: control.topPadding - control.bottomPadding - topInset
|
||||
width: control.width + leftInset + rightInset
|
||||
height: control.height + topInset + bottomInset - control.topPadding + control.bottomPadding
|
||||
|
||||
source: Imagine.url + "groupbox-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"mirrored": control.mirrored}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
// Copyright (C) 2020 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
pragma ComponentBehavior: Bound
|
||||
|
||||
import QtQuick.Templates as T
|
||||
|
||||
T.HorizontalHeaderView {
|
||||
id: control
|
||||
|
||||
implicitWidth: syncView ? syncView.width : 0
|
||||
// The contentHeight of TableView will be zero at start-up, until the delegate
|
||||
// items have been loaded. This means that even if the implicit height of
|
||||
// HorizontalHeaderView should be the same as the content height in the end, we
|
||||
// need to ensure that it has at least a height of 1 at start-up, otherwise
|
||||
// TableView won't bother loading any delegates at all.
|
||||
implicitHeight: Math.max(1, contentHeight)
|
||||
|
||||
delegate: HorizontalHeaderViewDelegate { }
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
// Copyright (C) 2025 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
|
||||
T.HeaderViewDelegate {
|
||||
id: control
|
||||
|
||||
// same as AbstractButton.qml
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
padding: 8
|
||||
|
||||
highlighted: selected
|
||||
|
||||
background: Rectangle {
|
||||
border.color: "#e4e4e4"
|
||||
color: "#f6f6f6"
|
||||
}
|
||||
|
||||
contentItem: Label {
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
color: "#ff26282a"
|
||||
text: control.model[control.headerView.textRole]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.impl
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.ItemDelegate {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding,
|
||||
implicitIndicatorHeight + topPadding + bottomPadding)
|
||||
|
||||
spacing: 12 // ###
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
icon.width: 24
|
||||
icon.height: 24
|
||||
|
||||
contentItem: IconLabel {
|
||||
spacing: control.spacing
|
||||
mirrored: control.mirrored
|
||||
display: control.display
|
||||
alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
|
||||
|
||||
icon: control.icon
|
||||
defaultIconColor: control.palette.text
|
||||
text: control.text
|
||||
font: control.font
|
||||
color: defaultIconColor
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "itemdelegate-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"focused": control.visualFocus},
|
||||
{"highlighted": control.highlighted},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.Label {
|
||||
id: control
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
color: control.palette.windowText
|
||||
linkColor: control.palette.link
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "label-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
import QtQuick.Window
|
||||
|
||||
T.Menu {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topMargin: background ? background.topInset : 0
|
||||
leftMargin: background ? background.leftInset : 0
|
||||
rightMargin: background ? background.rightInset : 0
|
||||
bottomMargin: background ? background.bottomInset : 0
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
delegate: MenuItem { }
|
||||
|
||||
contentItem: ListView {
|
||||
implicitHeight: contentHeight
|
||||
model: control.contentModel
|
||||
interactive: Window.window
|
||||
? contentHeight + control.topPadding + control.bottomPadding > control.height
|
||||
: false
|
||||
clip: true
|
||||
currentIndex: control.currentIndex
|
||||
|
||||
T.ScrollIndicator.vertical: ScrollIndicator { }
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "menu-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"modal": control.modal},
|
||||
{"dim": control.dim}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
T.Overlay.modal: NinePatchImage {
|
||||
source: Imagine.url + "menu-overlay"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"modal": true}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
T.Overlay.modeless: NinePatchImage {
|
||||
source: Imagine.url + "menu-overlay"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"modal": false}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.impl
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.MenuItem {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding,
|
||||
implicitIndicatorHeight + topPadding + bottomPadding)
|
||||
|
||||
spacing: 6 // ###
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
icon.width: 24
|
||||
icon.height: 24
|
||||
|
||||
contentItem: IconLabel {
|
||||
readonly property real arrowPadding: control.subMenu && control.arrow ? control.arrow.width + control.spacing : 0
|
||||
readonly property real indicatorPadding: control.checkable && control.indicator ? control.indicator.width + control.spacing : 0
|
||||
leftPadding: !control.mirrored ? indicatorPadding : arrowPadding
|
||||
rightPadding: control.mirrored ? indicatorPadding : arrowPadding
|
||||
|
||||
spacing: control.spacing
|
||||
mirrored: control.mirrored
|
||||
display: control.display
|
||||
alignment: Qt.AlignLeft
|
||||
|
||||
icon: control.icon
|
||||
defaultIconColor: control.palette.windowText
|
||||
text: control.text
|
||||
font: control.font
|
||||
color: defaultIconColor
|
||||
}
|
||||
|
||||
arrow: Image {
|
||||
x: control.mirrored ? control.leftPadding : control.width - width - control.rightPadding
|
||||
y: control.topPadding + (control.availableHeight - height) / 2
|
||||
|
||||
visible: control.subMenu
|
||||
source: Imagine.url + "menuitem-arrow"
|
||||
ImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checked},
|
||||
{"focused": control.visualFocus},
|
||||
{"highlighted": control.highlighted},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
indicator: Image {
|
||||
x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
|
||||
y: control.topPadding + (control.availableHeight - height) / 2
|
||||
|
||||
visible: control.checkable
|
||||
source: Imagine.url + "menuitem-indicator"
|
||||
ImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checked},
|
||||
{"focused": control.visualFocus},
|
||||
{"highlighted": control.highlighted},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "menuitem-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checked},
|
||||
{"focused": control.visualFocus},
|
||||
{"highlighted": control.highlighted},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.MenuSeparator {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
contentItem: NinePatchImage {
|
||||
source: Imagine.url + "menuseparator-separator"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"mirrored": control.mirrored}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "menuseparator-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"mirrored": control.mirrored}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.Page {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding,
|
||||
implicitHeaderWidth,
|
||||
implicitFooterWidth)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding
|
||||
+ (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
|
||||
+ (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "page-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"mirrored": control.mirrored}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.PageIndicator {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
delegate: Image {
|
||||
source: Imagine.url + "pageindicator-delegate"
|
||||
ImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": pressed},
|
||||
{"current": index === control.currentIndex},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered} // ### TODO: context property
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
contentItem: Row {
|
||||
spacing: control.spacing
|
||||
|
||||
Repeater {
|
||||
model: control.count
|
||||
delegate: control.delegate
|
||||
}
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "pageindicator-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.Pane {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "pane-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"mirrored": control.mirrored}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.Popup {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: background ? background.topPadding : undefined
|
||||
leftPadding: background ? background.leftPadding : undefined
|
||||
rightPadding: background ? background.rightPadding : undefined
|
||||
bottomPadding: background ? background.bottomPadding : undefined
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "popup-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"modal": control.modal},
|
||||
{"dim": control.dim}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
T.Overlay.modal: NinePatchImage {
|
||||
source: Imagine.url + "popup-overlay"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"modal": true}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
T.Overlay.modeless: NinePatchImage {
|
||||
source: Imagine.url + "popup-overlay"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"modal": false}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.ProgressBar {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
contentItem: Item {
|
||||
implicitWidth: control.indeterminate ? animation.implicitWidth || progress.implicitWidth : progress.implicitWidth
|
||||
implicitHeight: control.indeterminate ? animation.implicitHeight || progress.implicitHeight : progress.implicitHeight
|
||||
scale: control.mirrored ? -1 : 1
|
||||
|
||||
readonly property bool hasMask: mask.status !== Image.Null
|
||||
|
||||
readonly property NinePatchImage progress: NinePatchImage {
|
||||
parent: control.contentItem
|
||||
width: control.position * parent.width
|
||||
height: parent.height
|
||||
visible: !control.indeterminate && !control.contentItem.hasMask
|
||||
|
||||
source: Imagine.url + "progressbar-progress"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"indeterminate": control.indeterminate},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
readonly property AnimatedImage animation: AnimatedImage {
|
||||
parent: control.contentItem
|
||||
width: parent.width
|
||||
height: parent.height
|
||||
playing: control.indeterminate
|
||||
visible: control.indeterminate && !control.contentItem.hasMask
|
||||
|
||||
source: Imagine.url + "progressbar-animation"
|
||||
AnimatedImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
readonly property NinePatchImage mask: NinePatchImage {
|
||||
width: control.availableWidth
|
||||
height: control.availableHeight
|
||||
visible: false
|
||||
|
||||
source: Imagine.url + "progressbar-mask"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"indeterminate": control.indeterminate},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
readonly property OpacityMask effect: OpacityMask {
|
||||
parent: control.contentItem
|
||||
width: source.width
|
||||
height: source.height
|
||||
source: control.indeterminate ? control.contentItem.animation : control.contentItem.progress
|
||||
|
||||
maskSource: ShaderEffectSource {
|
||||
sourceItem: control.contentItem.mask
|
||||
sourceRect: Qt.rect(0, 0, control.contentItem.effect.width, control.contentItem.effect.height)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "progressbar-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"indeterminate": control.indeterminate},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.RadioButton {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding,
|
||||
implicitIndicatorHeight + topPadding + bottomPadding)
|
||||
|
||||
spacing: 6 // ###
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
indicator: Image {
|
||||
x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
|
||||
y: control.topPadding + (control.availableHeight - height) / 2
|
||||
|
||||
source: Imagine.url + "radiobutton-indicator"
|
||||
ImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checked},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
contentItem: Text {
|
||||
leftPadding: control.indicator && !control.mirrored ? control.indicator.width + control.spacing : 0
|
||||
rightPadding: control.indicator && control.mirrored ? control.indicator.width + control.spacing : 0
|
||||
|
||||
text: control.text
|
||||
font: control.font
|
||||
color: control.palette.windowText
|
||||
elide: Text.ElideRight
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "radiobutton-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checked},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.impl
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.RadioDelegate {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding,
|
||||
implicitIndicatorHeight + topPadding + bottomPadding)
|
||||
|
||||
spacing: 12 // ###
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
icon.width: 24
|
||||
icon.height: 24
|
||||
|
||||
indicator: Image {
|
||||
x: control.mirrored ? control.leftPadding : control.width - width - control.rightPadding
|
||||
y: control.topPadding + (control.availableHeight - height) / 2
|
||||
|
||||
source: Imagine.url + "radiodelegate-indicator"
|
||||
ImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checked},
|
||||
{"focused": control.visualFocus},
|
||||
{"highlighted": control.highlighted},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
contentItem: IconLabel {
|
||||
leftPadding: control.mirrored ? control.indicator.width + control.spacing : 0
|
||||
rightPadding: !control.mirrored ? control.indicator.width + control.spacing : 0
|
||||
|
||||
spacing: control.spacing
|
||||
mirrored: control.mirrored
|
||||
display: control.display
|
||||
alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
|
||||
|
||||
icon: control.icon
|
||||
defaultIconColor: control.palette.text
|
||||
text: control.text
|
||||
font: control.font
|
||||
color: defaultIconColor
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "radiodelegate-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checked},
|
||||
{"focused": control.visualFocus},
|
||||
{"highlighted": control.highlighted},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.RangeSlider {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
first.implicitHandleWidth + leftPadding + rightPadding,
|
||||
second.implicitHandleWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
first.implicitHandleHeight + topPadding + bottomPadding,
|
||||
second.implicitHandleHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
first.handle: Image {
|
||||
x: control.leftPadding + (control.horizontal ? control.first.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2)
|
||||
y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : control.first.visualPosition * (control.availableHeight - height))
|
||||
|
||||
source: control.Imagine.url + "rangeslider-handle"
|
||||
ImageSelector on source {
|
||||
states: [
|
||||
{"first": true},
|
||||
{"vertical": control.vertical},
|
||||
{"horizontal": control.horizontal},
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.first.pressed},
|
||||
{"focused": control.first.handle?.activeFocus ?? false},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.first.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
second.handle: Image {
|
||||
x: control.leftPadding + (control.horizontal ? control.second.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2)
|
||||
y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : control.second.visualPosition * (control.availableHeight - height))
|
||||
|
||||
source: control.Imagine.url + "rangeslider-handle"
|
||||
ImageSelector on source {
|
||||
states: [
|
||||
{"second": true},
|
||||
{"vertical": control.vertical},
|
||||
{"horizontal": control.horizontal},
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.second.pressed},
|
||||
{"focused": control.second.handle?.activeFocus ?? false},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.second.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
scale: control.horizontal && control.mirrored ? -1 : 1
|
||||
|
||||
source: control.Imagine.url + "rangeslider-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"vertical": control.vertical},
|
||||
{"horizontal": control.horizontal},
|
||||
{"disabled": !control.enabled},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
|
||||
NinePatchImage {
|
||||
readonly property real handleWidth: control.first.handle ? control.first.handle.width : 0
|
||||
readonly property real handleHeight: control.first.handle ? control.first.handle.height : 0
|
||||
|
||||
x: control.horizontal ? handleWidth / 2 + control.first.position * (parent.width - handleWidth) : (parent.width - width) / 2
|
||||
y: control.horizontal ? (parent.height - height) / 2 : handleHeight / 2 + control.second.visualPosition * (parent.height - handleHeight)
|
||||
width: control.horizontal ? control.second.position * (parent.width - handleWidth) - control.first.position * (parent.width - handleWidth) : parent.width
|
||||
height: control.vertical ? control.second.position * (parent.height - handleHeight) - control.first.position * (parent.height - handleHeight): parent.height
|
||||
|
||||
source: control.Imagine.url + "rangeslider-progress"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"vertical": control.vertical},
|
||||
{"horizontal": control.horizontal},
|
||||
{"disabled": !control.enabled},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.impl
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.RoundButton {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
icon.width: 24
|
||||
icon.height: 24
|
||||
|
||||
contentItem: IconLabel {
|
||||
spacing: control.spacing
|
||||
mirrored: control.mirrored
|
||||
display: control.display
|
||||
|
||||
icon: control.icon
|
||||
defaultIconColor: control.enabled && control.flat && control.highlighted ? control.palette.highlight
|
||||
: control.enabled && (control.down || control.checked || control.highlighted) && !control.flat
|
||||
? control.palette.brightText : control.flat ? control.palette.windowText : control.palette.buttonText
|
||||
text: control.text
|
||||
font: control.font
|
||||
color: defaultIconColor
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
// ### TODO: radius?
|
||||
source: Imagine.url + "roundbutton-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checked},
|
||||
{"checkable": control.checkable},
|
||||
{"focused": control.visualFocus},
|
||||
{"highlighted": control.highlighted},
|
||||
{"flat": control.flat},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.ScrollBar {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
visible: control.policy !== T.ScrollBar.AlwaysOff
|
||||
minimumSize: orientation === Qt.Horizontal ? height / width : width / height
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
contentItem: NinePatchImage {
|
||||
width: control.availableWidth
|
||||
height: control.availableHeight
|
||||
|
||||
source: Imagine.url + "scrollbar-handle"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"vertical": control.vertical},
|
||||
{"horizontal": control.horizontal},
|
||||
{"disabled": !control.enabled},
|
||||
{"interactive": control.interactive},
|
||||
{"pressed": control.pressed},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
opacity: 0.0
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "scrollbar-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"vertical": control.vertical},
|
||||
{"horizontal": control.horizontal},
|
||||
{"disabled": !control.enabled},
|
||||
{"interactive": control.interactive},
|
||||
{"pressed": control.pressed},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
opacity: 0.0
|
||||
}
|
||||
|
||||
states: [
|
||||
State {
|
||||
name: "active"
|
||||
when: control.policy === T.ScrollBar.AlwaysOn || (control.active && control.size < 1.0)
|
||||
}
|
||||
]
|
||||
|
||||
transitions: [
|
||||
Transition {
|
||||
to: "active"
|
||||
NumberAnimation { targets: [control.contentItem, control.background]; property: "opacity"; to: 1.0 }
|
||||
},
|
||||
Transition {
|
||||
from: "active"
|
||||
SequentialAnimation {
|
||||
PropertyAction{ targets: [control.contentItem, control.background]; property: "opacity"; value: 1.0 }
|
||||
PauseAnimation { duration: 3000 }
|
||||
NumberAnimation { targets: [control.contentItem, control.background]; property: "opacity"; to: 0.0 }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.ScrollIndicator {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
contentItem: NinePatchImage {
|
||||
width: control.availableWidth
|
||||
height: control.availableHeight
|
||||
|
||||
source: Imagine.url + "scrollindicator-handle"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"vertical": control.vertical},
|
||||
{"horizontal": control.horizontal},
|
||||
{"disabled": !control.enabled},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
opacity: 0.0
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "scrollindicator-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"vertical": control.vertical},
|
||||
{"horizontal": control.horizontal},
|
||||
{"disabled": !control.enabled},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
opacity: 0.0
|
||||
}
|
||||
|
||||
states: [
|
||||
State {
|
||||
name: "active"
|
||||
when: (control.active && control.size < 1.0)
|
||||
}
|
||||
]
|
||||
|
||||
transitions: [
|
||||
Transition {
|
||||
to: "active"
|
||||
NumberAnimation { targets: [control.contentItem, control.background]; property: "opacity"; to: 1.0 }
|
||||
},
|
||||
Transition {
|
||||
from: "active"
|
||||
SequentialAnimation {
|
||||
PauseAnimation { duration: 5000 }
|
||||
NumberAnimation { targets: [control.contentItem, control.background]; property: "opacity"; to: 0.0 }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.ScrollView {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
T.ScrollBar.vertical: ScrollBar {
|
||||
parent: control
|
||||
x: control.mirrored ? 0 : control.width - width
|
||||
y: control.topPadding
|
||||
height: control.availableHeight
|
||||
active: control.T.ScrollBar.horizontal.active
|
||||
}
|
||||
|
||||
T.ScrollBar.horizontal: ScrollBar {
|
||||
parent: control
|
||||
x: control.leftPadding
|
||||
y: control.height - height
|
||||
width: control.availableWidth
|
||||
active: control.T.ScrollBar.vertical.active
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.path + "scrollview-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"mirrored": control.mirrored}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,163 @@
|
||||
// Copyright (C) 2025 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.SearchField {
|
||||
id: control
|
||||
|
||||
// Note: the width of the indicators are calculated into the padding
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
contentItem.implicitWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding,
|
||||
searchIndicator.implicitIndicatorHeight, clearIndicator.implicitIndicatorHeight)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: (background ? background.leftPadding : 0) + (control.mirrored ? __clearIndicatorWidth : __searchIndicatorWidth)
|
||||
rightPadding: (background ? background.rightPadding : 0) + (control.mirrored ? __searchIndicatorWidth : __clearIndicatorWidth)
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
readonly property real __clearIndicatorWidth: !clearIndicator.indicator || !clearIndicator.indicator.visible
|
||||
? 0 : clearIndicator.indicator.width
|
||||
readonly property real __searchIndicatorWidth: !searchIndicator.indicator || !searchIndicator.indicator.visible
|
||||
? 0 : searchIndicator.indicator.width
|
||||
|
||||
delegate: ItemDelegate {
|
||||
width: ListView.view.width
|
||||
text: model[control.textRole]
|
||||
palette.text: control.palette.text
|
||||
palette.highlightedText: control.palette.highlightedText
|
||||
font.weight: control.currentIndex === index ? Font.DemiBold : Font.Normal
|
||||
highlighted: control.highlightedIndex === index
|
||||
hoverEnabled: control.hoverEnabled
|
||||
required property var model
|
||||
required property int index
|
||||
}
|
||||
|
||||
searchIndicator.indicator: NinePatchImage {
|
||||
x: control.mirrored ? control.width - width : 0
|
||||
y: Math.round((control.height - height) / 2)
|
||||
height: control.height
|
||||
|
||||
source: Imagine.url + "searchfield-indicator"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"search": true},
|
||||
{"disabled": !control.searchIndicator.indicator.enabled},
|
||||
{"editable": !control.editable},
|
||||
{"pressed": control.searchIndicator.pressed},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.searchIndicator.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
clearIndicator.indicator: NinePatchImage {
|
||||
x: control.mirrored ? 0 : control.width - width
|
||||
y: Math.round((control.height - height) / 2)
|
||||
height: control.height
|
||||
visible: control.text.length > 0
|
||||
|
||||
source: Imagine.url + "searchfield-indicator"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"clear": true},
|
||||
{"disabled": !control.clearIndicator.indicator.enabled},
|
||||
{"editable": !control.editable},
|
||||
{"pressed": control.clearIndicator.pressed},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.clearIndicator.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
contentItem: T.TextField {
|
||||
z: 2
|
||||
|
||||
text: control.text
|
||||
|
||||
color: control.flat ? control.palette.windowText : control.palette.text
|
||||
selectionColor: control.palette.highlight
|
||||
selectedTextColor: control.palette.highlightedText
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
|
||||
ContextMenu.menu: TextEditingContextMenu {
|
||||
editor: parent
|
||||
}
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "searchfield-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"editable": !control.editable},
|
||||
{"focused": control.activeFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
popup: T.Popup {
|
||||
y: control.height
|
||||
width: control.width
|
||||
height: Math.min(contentItem.implicitHeight, control.Window.height - control.y - control.height - control.padding)
|
||||
|
||||
topMargin: background.topInset
|
||||
bottomMargin: background.bottomInset
|
||||
|
||||
topPadding: background.topPadding
|
||||
leftPadding: background.leftPadding
|
||||
rightPadding: background.rightPadding
|
||||
bottomPadding: background.bottomPadding
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
palette.text: control.palette.text
|
||||
palette.highlight: control.palette.highlight
|
||||
palette.highlightedText: control.palette.highlightedText
|
||||
palette.windowText: control.palette.windowText
|
||||
palette.buttonText: control.palette.buttonText
|
||||
|
||||
contentItem: ListView {
|
||||
clip: true
|
||||
implicitHeight: contentHeight
|
||||
model: control.delegateModel
|
||||
currentIndex: control.highlightedIndex
|
||||
highlightMoveDuration: 0
|
||||
|
||||
T.ScrollIndicator.vertical: ScrollIndicator { }
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "searchfield-popup"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.pressed},
|
||||
{"editable": control.editable},
|
||||
{"focused": control.visualFocus || (control.editable && control.activeFocus)},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered},
|
||||
{"flat": control.flat}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
// Copyright (C) 2021 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.impl
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.SelectionRectangle {
|
||||
id: control
|
||||
|
||||
topLeftHandle: handle
|
||||
bottomRightHandle: handle
|
||||
|
||||
Component {
|
||||
id: handle
|
||||
Image {
|
||||
id: image
|
||||
source: Imagine.url + "slider-handle"
|
||||
visible: SelectionRectangle.control.active
|
||||
ImageSelector on source {
|
||||
states: [
|
||||
{"vertical": false},
|
||||
{"horizontal": true},
|
||||
{"disabled": false},
|
||||
{"pressed": tapHandler.pressed || image.SelectionRectangle.dragging},
|
||||
{"focused": true},
|
||||
{"mirrored": false},
|
||||
{"hovered": hoverHandler.hovered}
|
||||
]
|
||||
}
|
||||
|
||||
HoverHandler {
|
||||
id: hoverHandler
|
||||
}
|
||||
|
||||
TapHandler {
|
||||
id: tapHandler
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.Slider {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitHandleWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitHandleHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
handle: Image {
|
||||
x: Math.round(control.leftPadding + (control.horizontal ? control.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2))
|
||||
y: Math.round(control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : control.visualPosition * (control.availableHeight - height)))
|
||||
|
||||
source: control.Imagine.url + "slider-handle"
|
||||
ImageSelector on source {
|
||||
states: [
|
||||
{"vertical": control.vertical},
|
||||
{"horizontal": control.horizontal},
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.pressed},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
scale: control.horizontal && control.mirrored ? -1 : 1
|
||||
|
||||
source: control.Imagine.url + "slider-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"vertical": control.vertical},
|
||||
{"horizontal": control.horizontal},
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
|
||||
NinePatchImage {
|
||||
readonly property real handleWidth: control.handle ? control.handle.width : 0
|
||||
readonly property real handleHeight: control.handle ? control.handle.height : 0
|
||||
|
||||
x: control.horizontal ? 0 : (parent.width - width) / 2
|
||||
y: control.horizontal
|
||||
? (parent.height - height) / 2
|
||||
: handleHeight / 2 + control.visualPosition * (parent.height - handleHeight)
|
||||
width: control.horizontal
|
||||
? handleWidth / 2 + control.position * (parent.width - handleWidth)
|
||||
: parent.width
|
||||
height: control.vertical
|
||||
? handleHeight / 2 + control.position * (parent.height - handleHeight)
|
||||
: parent.height
|
||||
|
||||
source: control.Imagine.url + "slider-progress"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"vertical": control.vertical},
|
||||
{"horizontal": control.horizontal},
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.SpinBox {
|
||||
id: control
|
||||
|
||||
// Note: the width of the indicators are calculated into the padding
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
contentItem.implicitWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding,
|
||||
up.implicitIndicatorHeight, down.implicitIndicatorHeight)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: (background ? background.leftPadding : 0) + (control.mirrored ? (up.indicator ? up.indicator.width : 0) : (down.indicator ? down.indicator.width : 0))
|
||||
rightPadding: (background ? background.rightPadding : 0) + (control.mirrored ? (down.indicator ? down.indicator.width : 0) : (up.indicator ? up.indicator.width : 0))
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
validator: IntValidator {
|
||||
locale: control.locale.name
|
||||
bottom: Math.min(control.from, control.to)
|
||||
top: Math.max(control.from, control.to)
|
||||
}
|
||||
|
||||
contentItem: TextInput {
|
||||
z: 2
|
||||
text: control.displayText
|
||||
opacity: control.enabled ? 1 : 0.3
|
||||
|
||||
font: control.font
|
||||
color: control.palette.text
|
||||
selectionColor: control.palette.highlight
|
||||
selectedTextColor: control.palette.highlightedText
|
||||
horizontalAlignment: Qt.AlignHCenter
|
||||
verticalAlignment: Qt.AlignVCenter
|
||||
|
||||
readOnly: !control.editable
|
||||
validator: control.validator
|
||||
inputMethodHints: control.inputMethodHints
|
||||
clip: width < implicitWidth
|
||||
|
||||
ContextMenu.menu: TextEditingContextMenu {
|
||||
editor: parent
|
||||
}
|
||||
|
||||
NinePatchImage {
|
||||
z: -1
|
||||
width: control.width
|
||||
height: control.height
|
||||
visible: control.editable
|
||||
|
||||
source: Imagine.url + "spinbox-editor"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"focused": control.activeFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
up.indicator: NinePatchImage {
|
||||
x: control.mirrored ? 0 : control.width - width
|
||||
height: control.height
|
||||
|
||||
source: Imagine.url + "spinbox-indicator"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"up": true},
|
||||
{"disabled": !control.up.indicator.enabled},
|
||||
{"editable": control.editable},
|
||||
{"pressed": control.up.pressed},
|
||||
{"focused": control.activeFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.up.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
down.indicator: NinePatchImage {
|
||||
x: control.mirrored ? control.width - width : 0
|
||||
height: control.height
|
||||
|
||||
source: Imagine.url + "spinbox-indicator"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"down": true},
|
||||
{"disabled": !control.down.indicator.enabled},
|
||||
{"editable": control.editable},
|
||||
{"pressed": control.down.pressed},
|
||||
{"focused": control.activeFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.down.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "spinbox-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"editable": control.editable},
|
||||
{"focused": control.activeFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.SplitView {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
handle: NinePatchImage {
|
||||
source: Imagine.url + "splitview-handle"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"vertical": control.orientation === Qt.Vertical},
|
||||
{"horizontal":control.orientation === Qt.Horizontal},
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": T.SplitHandle.pressed},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": T.SplitHandle.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.StackView {
|
||||
id: control
|
||||
|
||||
implicitWidth: implicitBackgroundWidth
|
||||
implicitHeight: implicitBackgroundHeight
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
popEnter: Transition {
|
||||
XAnimator { from: (control.mirrored ? -1 : 1) * -control.width; to: 0; duration: 400; easing.type: Easing.OutCubic }
|
||||
}
|
||||
|
||||
popExit: Transition {
|
||||
XAnimator { from: 0; to: (control.mirrored ? -1 : 1) * control.width; duration: 400; easing.type: Easing.OutCubic }
|
||||
}
|
||||
|
||||
pushEnter: Transition {
|
||||
XAnimator { from: (control.mirrored ? -1 : 1) * control.width; to: 0; duration: 400; easing.type: Easing.OutCubic }
|
||||
}
|
||||
|
||||
pushExit: Transition {
|
||||
XAnimator { from: 0; to: (control.mirrored ? -1 : 1) * -control.width; duration: 400; easing.type: Easing.OutCubic }
|
||||
}
|
||||
|
||||
replaceEnter: Transition {
|
||||
XAnimator { from: (control.mirrored ? -1 : 1) * control.width; to: 0; duration: 400; easing.type: Easing.OutCubic }
|
||||
}
|
||||
|
||||
replaceExit: Transition {
|
||||
XAnimator { from: 0; to: (control.mirrored ? -1 : 1) * -control.width; duration: 400; easing.type: Easing.OutCubic }
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "stackview-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"mirrored": control.mirrored}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.impl
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.SwipeDelegate {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding,
|
||||
implicitIndicatorHeight + topPadding + bottomPadding)
|
||||
|
||||
spacing: 12 // ###
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
icon.width: 24
|
||||
icon.height: 24
|
||||
|
||||
swipe.transition: Transition { SmoothedAnimation { velocity: 3; easing.type: Easing.InOutCubic } }
|
||||
|
||||
contentItem: IconLabel {
|
||||
spacing: control.spacing
|
||||
mirrored: control.mirrored
|
||||
display: control.display
|
||||
alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
|
||||
|
||||
icon: control.icon
|
||||
defaultIconColor: control.palette.text
|
||||
text: control.text
|
||||
font: control.font
|
||||
color: defaultIconColor
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "swipedelegate-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"focused": control.visualFocus},
|
||||
{"highlighted": control.highlighted},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.SwipeView {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
contentItem: ListView {
|
||||
model: control.contentModel
|
||||
interactive: control.interactive
|
||||
currentIndex: control.currentIndex
|
||||
focus: control.focus
|
||||
|
||||
spacing: control.spacing
|
||||
orientation: control.orientation
|
||||
snapMode: ListView.SnapOneItem
|
||||
boundsBehavior: Flickable.StopAtBounds
|
||||
|
||||
highlightRangeMode: ListView.StrictlyEnforceRange
|
||||
preferredHighlightBegin: 0
|
||||
preferredHighlightEnd: 0
|
||||
highlightMoveDuration: 250
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "swipeview-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"vertical": control.vertical},
|
||||
{"horizontal": control.horizontal},
|
||||
{"disabled": !control.enabled},
|
||||
{"interactive": control.interactive},
|
||||
{"focused": control.contentItem.activeFocus},
|
||||
{"mirrored": control.mirrored}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.Switch {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding,
|
||||
implicitIndicatorHeight + topPadding + bottomPadding)
|
||||
|
||||
spacing: 6 // ###
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
indicator: NinePatchImage {
|
||||
x: control.text ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding) : control.leftPadding + (control.availableWidth - width) / 2
|
||||
y: control.topPadding + (control.availableHeight - height) / 2
|
||||
width: Math.max(implicitWidth, handle.leftPadding && handle.rightPadding ? handle.implicitWidth : 2 * handle.implicitWidth)
|
||||
height: Math.max(implicitHeight, handle.implicitHeight)
|
||||
|
||||
source: control.Imagine.url + "switch-indicator"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checked},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
|
||||
property NinePatchImage handle: NinePatchImage {
|
||||
readonly property real minPos: parent.leftPadding - leftPadding
|
||||
readonly property real maxPos: parent.width - width + rightPadding - parent.rightPadding
|
||||
readonly property real dragPos: control.visualPosition * parent.width - (width / 2)
|
||||
|
||||
parent: control.indicator
|
||||
|
||||
x: Math.max(minPos, Math.min(maxPos, control.visualPosition * parent.width - (width / 2)))
|
||||
y: (parent.height - height) / 2
|
||||
|
||||
source: control.Imagine.url + "switch-handle"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checked},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
|
||||
Behavior on x {
|
||||
enabled: !control.down
|
||||
SmoothedAnimation { velocity: 200 }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
contentItem: Text {
|
||||
leftPadding: control.indicator && !control.mirrored ? control.indicator.width + control.spacing : 0
|
||||
rightPadding: control.indicator && control.mirrored ? control.indicator.width + control.spacing : 0
|
||||
|
||||
text: control.text
|
||||
font: control.font
|
||||
color: control.palette.windowText
|
||||
elide: Text.ElideRight
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: control.Imagine.url + "switch-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checked},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.impl
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.SwitchDelegate {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding,
|
||||
implicitIndicatorHeight + topPadding + bottomPadding)
|
||||
|
||||
spacing: 12 // ###
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
icon.width: 24
|
||||
icon.height: 24
|
||||
|
||||
indicator: NinePatchImage {
|
||||
x: control.text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2
|
||||
y: control.topPadding + (control.availableHeight - height) / 2
|
||||
width: Math.max(implicitWidth, handle.leftPadding && handle.rightPadding ? handle.implicitWidth : 2 * handle.implicitWidth)
|
||||
height: Math.max(implicitHeight, handle.implicitHeight)
|
||||
|
||||
source: control.Imagine.url + "switchdelegate-indicator"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checked},
|
||||
{"focused": control.visualFocus},
|
||||
{"highlighted": control.highlighted},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
|
||||
property NinePatchImage handle: NinePatchImage {
|
||||
readonly property real minPos: parent.leftPadding - leftPadding
|
||||
readonly property real maxPos: parent.width - width + rightPadding - parent.rightPadding
|
||||
readonly property real dragPos: control.visualPosition * parent.width - (width / 2)
|
||||
|
||||
parent: control.indicator
|
||||
|
||||
x: Math.max(minPos, Math.min(maxPos, control.visualPosition * parent.width - (width / 2)))
|
||||
y: (parent.height - height) / 2
|
||||
|
||||
source: control.Imagine.url + "switchdelegate-handle"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checked},
|
||||
{"focused": control.visualFocus},
|
||||
{"highlighted": control.highlighted},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
|
||||
Behavior on x {
|
||||
enabled: !control.down
|
||||
SmoothedAnimation { velocity: 200 }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
contentItem: IconLabel {
|
||||
leftPadding: control.mirrored ? control.indicator.width + control.spacing : 0
|
||||
rightPadding: !control.mirrored ? control.indicator.width + control.spacing : 0
|
||||
|
||||
spacing: control.spacing
|
||||
mirrored: control.mirrored
|
||||
display: control.display
|
||||
alignment: control.display === IconLabel.IconOnly || control.display === IconLabel.TextUnderIcon ? Qt.AlignCenter : Qt.AlignLeft
|
||||
|
||||
icon: control.icon
|
||||
defaultIconColor: control.palette.text
|
||||
text: control.text
|
||||
font: control.font
|
||||
color: defaultIconColor
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: control.Imagine.url + "switchdelegate-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checked},
|
||||
{"focused": control.visualFocus},
|
||||
{"highlighted": control.highlighted},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.TabBar {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
contentItem: ListView {
|
||||
model: control.contentModel
|
||||
currentIndex: control.currentIndex
|
||||
|
||||
spacing: control.spacing
|
||||
orientation: ListView.Horizontal
|
||||
boundsBehavior: Flickable.StopAtBounds
|
||||
flickableDirection: Flickable.AutoFlickIfNeeded
|
||||
snapMode: ListView.SnapToItem
|
||||
|
||||
highlightMoveDuration: 0
|
||||
highlightRangeMode: ListView.ApplyRange
|
||||
preferredHighlightBegin: 48
|
||||
preferredHighlightEnd: width - 48
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "tabbar-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"header": control.position === T.TabBar.Header },
|
||||
{"footer": control.position === T.TabBar.Footer },
|
||||
{"mirrored": control.mirrored}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.impl
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.TabButton {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
spacing: 6 // ###
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
icon.width: 24
|
||||
icon.height: 24
|
||||
|
||||
contentItem: IconLabel {
|
||||
spacing: control.spacing
|
||||
mirrored: control.mirrored
|
||||
display: control.display
|
||||
|
||||
icon: control.icon
|
||||
defaultIconColor: control.palette.buttonText
|
||||
text: control.text
|
||||
font: control.font
|
||||
color: defaultIconColor
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "tabbutton-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checked},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.impl
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.TextArea {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(contentWidth + leftPadding + rightPadding,
|
||||
implicitBackgroundWidth + leftInset + rightInset,
|
||||
placeholder.implicitWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(contentHeight + topPadding + bottomPadding,
|
||||
implicitBackgroundHeight + topInset + bottomInset,
|
||||
placeholder.implicitHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
color: control.palette.text
|
||||
selectionColor: control.palette.highlight
|
||||
selectedTextColor: control.palette.highlightedText
|
||||
verticalAlignment: Qt.AlignVCenter
|
||||
placeholderTextColor: control.palette.placeholderText
|
||||
|
||||
ContextMenu.menu: TextEditingContextMenu {
|
||||
editor: control
|
||||
}
|
||||
|
||||
PlaceholderText {
|
||||
id: placeholder
|
||||
x: control.leftPadding
|
||||
y: control.topPadding
|
||||
width: control.width - (control.leftPadding + control.rightPadding)
|
||||
height: control.height - (control.topPadding + control.bottomPadding)
|
||||
|
||||
text: control.placeholderText
|
||||
font: control.font
|
||||
color: control.placeholderTextColor
|
||||
verticalAlignment: control.verticalAlignment
|
||||
visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter)
|
||||
elide: Text.ElideRight
|
||||
renderType: control.renderType
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "textarea-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"focused": control.activeFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.impl
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.TextField {
|
||||
id: control
|
||||
|
||||
implicitWidth: implicitBackgroundWidth + leftInset + rightInset
|
||||
|| Math.max(contentWidth, placeholder.implicitWidth) + leftPadding + rightPadding
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
contentHeight + topPadding + bottomPadding,
|
||||
placeholder.implicitHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
color: control.palette.text
|
||||
selectionColor: control.palette.highlight
|
||||
selectedTextColor: control.palette.highlightedText
|
||||
placeholderTextColor: control.palette.placeholderText
|
||||
verticalAlignment: Qt.AlignVCenter
|
||||
|
||||
ContextMenu.menu: TextEditingContextMenu {
|
||||
editor: control
|
||||
}
|
||||
|
||||
PlaceholderText {
|
||||
id: placeholder
|
||||
x: control.leftPadding
|
||||
y: control.topPadding
|
||||
width: control.width - (control.leftPadding + control.rightPadding)
|
||||
height: control.height - (control.topPadding + control.bottomPadding)
|
||||
|
||||
text: control.placeholderText
|
||||
font: control.font
|
||||
color: control.placeholderTextColor
|
||||
verticalAlignment: control.verticalAlignment
|
||||
visible: !control.length && !control.preeditText && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter)
|
||||
elide: Text.ElideRight
|
||||
renderType: control.renderType
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "textfield-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"focused": control.activeFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.ToolBar {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: SafeArea.margins.top + (background ? background.topPadding : 0)
|
||||
leftPadding: SafeArea.margins.left + (background ? background.leftPadding : 0)
|
||||
rightPadding: SafeArea.margins.right + (background ? background.rightPadding : 0)
|
||||
bottomPadding: SafeArea.margins.bottom + (background ? background.bottomPadding : 0)
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "toolbar-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"header": control.position === T.ToolBar.Header },
|
||||
{"footer": control.position === T.ToolBar.Footer },
|
||||
{"mirrored": control.mirrored}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.impl
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.ToolButton {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
spacing: 6 // ###
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
icon.width: 24
|
||||
icon.height: 24
|
||||
|
||||
contentItem: IconLabel {
|
||||
spacing: control.spacing
|
||||
mirrored: control.mirrored
|
||||
display: control.display
|
||||
|
||||
icon: control.icon
|
||||
defaultIconColor: control.palette.buttonText
|
||||
text: control.text
|
||||
font: control.font
|
||||
color: defaultIconColor
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "toolbutton-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"pressed": control.down},
|
||||
{"checked": control.checked},
|
||||
{"checkable": control.checkable},
|
||||
{"focused": control.visualFocus},
|
||||
{"highlighted": control.highlighted},
|
||||
{"flat": control.flat},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.ToolSeparator {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
contentItem: NinePatchImage {
|
||||
source: Imagine.url + "toolseparator-separator"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"vertical": control.vertical},
|
||||
{"horizontal": control.horizontal},
|
||||
{"disabled": !control.enabled},
|
||||
{"mirrored": control.mirrored}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "toolseparator-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"vertical": control.vertical},
|
||||
{"horizontal": control.horizontal},
|
||||
{"disabled": !control.enabled},
|
||||
{"mirrored": control.mirrored}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.ToolTip {
|
||||
id: control
|
||||
|
||||
x: parent ? (parent.width - implicitWidth) / 2 : 0 - (background ? background.leftInset : 0)
|
||||
y: -implicitHeight - (background ? background.topInset : 0)
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topMargin: background ? background.topInset : 0
|
||||
leftMargin: background ? background.leftInset : 0
|
||||
rightMargin: background ? background.rightInset : 0
|
||||
bottomMargin: background ? background.bottomInset : 0
|
||||
|
||||
topPadding: background ? background.topPadding : 0
|
||||
leftPadding: background ? background.leftPadding : 0
|
||||
rightPadding: background ? background.rightPadding : 0
|
||||
bottomPadding: background ? background.bottomPadding : 0
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
closePolicy: T.Popup.CloseOnEscape | T.Popup.CloseOnPressOutsideParent | T.Popup.CloseOnReleaseOutsideParent
|
||||
|
||||
contentItem: Text {
|
||||
text: control.text
|
||||
font: control.font
|
||||
wrapMode: Text.Wrap
|
||||
color: control.palette.toolTipText
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "tooltip-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
// ###
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuick.Controls.impl
|
||||
import QtQuick.Controls.Imagine
|
||||
import QtQuick.Controls.Imagine.impl
|
||||
|
||||
T.Tumbler {
|
||||
id: control
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
topInset: background ? -background.topInset || 0 : 0
|
||||
leftInset: background ? -background.leftInset || 0 : 0
|
||||
rightInset: background ? -background.rightInset || 0 : 0
|
||||
bottomInset: background ? -background.bottomInset || 0 : 0
|
||||
|
||||
readonly property real __delegateHeight: availableHeight / visibleItemCount
|
||||
|
||||
delegate: Text {
|
||||
text: modelData
|
||||
font: control.font
|
||||
color: control.palette.text
|
||||
opacity: (1.0 - Math.abs(Tumbler.displacement) / (control.visibleItemCount / 2)) * (control.enabled ? 1 : 0.6)
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
|
||||
required property var modelData
|
||||
required property int index
|
||||
}
|
||||
|
||||
contentItem: TumblerView {
|
||||
implicitWidth: 60
|
||||
implicitHeight: 200
|
||||
model: control.model
|
||||
delegate: control.delegate
|
||||
path: Path {
|
||||
startX: control.contentItem.width / 2
|
||||
startY: -control.__delegateHeight / 2
|
||||
PathLine {
|
||||
x: control.contentItem.width / 2
|
||||
y: (control.visibleItemCount + 1) * control.__delegateHeight - control.__delegateHeight / 2
|
||||
}
|
||||
}
|
||||
|
||||
property real delegateHeight: control.availableHeight / control.visibleItemCount
|
||||
}
|
||||
|
||||
background: NinePatchImage {
|
||||
source: Imagine.url + "tumbler-background"
|
||||
NinePatchImageSelector on source {
|
||||
states: [
|
||||
{"disabled": !control.enabled},
|
||||
{"focused": control.visualFocus},
|
||||
{"mirrored": control.mirrored},
|
||||
{"hovered": control.enabled && control.hovered}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
// Copyright (C) 2020 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
pragma ComponentBehavior: Bound
|
||||
|
||||
import QtQuick.Templates as T
|
||||
|
||||
T.VerticalHeaderView {
|
||||
id: control
|
||||
|
||||
// The contentWidth of TableView will be zero at start-up, until the delegate
|
||||
// items have been loaded. This means that even if the implicit width of
|
||||
// VerticalHeaderView should be the same as the content width in the end, we
|
||||
// need to ensure that it has at least a width of 1 at start-up, otherwise
|
||||
// TableView won't bother loading any delegates at all.
|
||||
implicitWidth: Math.max(1, contentWidth)
|
||||
implicitHeight: syncView ? syncView.height : 0
|
||||
|
||||
delegate: VerticalHeaderViewDelegate { }
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
// Copyright (C) 2025 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
|
||||
T.HeaderViewDelegate {
|
||||
id: control
|
||||
|
||||
// same as AbstractButton.qml
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
padding: 8
|
||||
|
||||
highlighted: selected
|
||||
|
||||
background: Rectangle {
|
||||
border.color: "#e4e4e4"
|
||||
color: "#f6f6f6"
|
||||
}
|
||||
|
||||
contentItem: Label {
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
color: "#ff26282a"
|
||||
text: control.model[control.headerView.textRole]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
// Copyright (C) 2020 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
|
||||
/*
|
||||
A cross-graphics API implementation of QtGraphicalEffects' OpacityMask.
|
||||
*/
|
||||
Item {
|
||||
id: rootItem
|
||||
|
||||
property variant source
|
||||
property variant maskSource
|
||||
property bool cached: false
|
||||
|
||||
ShaderEffectSource {
|
||||
id: cacheItem
|
||||
anchors.fill: parent
|
||||
visible: rootItem.cached
|
||||
smooth: true
|
||||
sourceItem: shaderItem
|
||||
live: true
|
||||
hideSource: visible
|
||||
}
|
||||
|
||||
ShaderEffect {
|
||||
id: shaderItem
|
||||
property variant source: rootItem.source
|
||||
property variant maskSource: rootItem.maskSource
|
||||
|
||||
anchors.fill: parent
|
||||
|
||||
fragmentShader: "qrc:/qt-project.org/imports/QtQuick/Controls/Imagine/impl/shaders/OpacityMask.frag.qsb"
|
||||
}
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
import QtQuick.tooling 1.2
|
||||
|
||||
// This file describes the plugin-supplied types contained in the library.
|
||||
// It is used for QML tooling purposes only.
|
||||
//
|
||||
// This file was auto-generated by qmltyperegistrar.
|
||||
|
||||
Module {}
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
// Copyright (C) 2025 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
// Qt-Security score:significant reason:default
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Controls.impl
|
||||
import QtQuick.Controls.Imagine
|
||||
|
||||
Menu {
|
||||
id: menu
|
||||
popupType: Qt.platform.pluginName !== "wayland" ? Popup.Window : Popup.Item
|
||||
|
||||
required property Item editor
|
||||
|
||||
UndoAction {
|
||||
editor: menu.editor
|
||||
}
|
||||
RedoAction {
|
||||
editor: menu.editor
|
||||
}
|
||||
|
||||
MenuSeparator {}
|
||||
|
||||
CutAction {
|
||||
editor: menu.editor
|
||||
}
|
||||
CopyAction {
|
||||
editor: menu.editor
|
||||
}
|
||||
PasteAction {
|
||||
editor: menu.editor
|
||||
}
|
||||
DeleteAction {
|
||||
editor: menu.editor
|
||||
}
|
||||
|
||||
MenuSeparator {}
|
||||
|
||||
SelectAllAction {
|
||||
editor: menu.editor
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
module QtQuick.Controls.Imagine.impl
|
||||
linktarget Qt6::qtquickcontrols2imaginestyleimplplugin
|
||||
optional plugin qtquickcontrols2imaginestyleimplplugin
|
||||
classname QtQuickControls2ImagineStyleImplPlugin
|
||||
typeinfo QuickControls2ImagineStyleImpl.qmltypes
|
||||
import QtQuick.Controls.impl auto
|
||||
prefer :/qt-project.org/imports/QtQuick/Controls/Imagine/impl/
|
||||
OpacityMask 6.0 OpacityMask.qml
|
||||
TextEditingContextMenu 6.11 TextEditingContextMenu.qml
|
||||
depends QtQuick
|
||||
|
||||
BIN
Binary file not shown.
@@ -0,0 +1,52 @@
|
||||
import QtQuick.tooling 1.2
|
||||
|
||||
// This file describes the plugin-supplied types contained in the library.
|
||||
// It is used for QML tooling purposes only.
|
||||
//
|
||||
// This file was auto-generated by qmltyperegistrar.
|
||||
|
||||
Module {
|
||||
Component {
|
||||
file: "qquickattachedpropertypropagator.h"
|
||||
lineNumber: 15
|
||||
name: "QQuickAttachedPropertyPropagator"
|
||||
accessSemantics: "reference"
|
||||
prototype: "QObject"
|
||||
}
|
||||
Component {
|
||||
file: "private/qquickimaginestyle_p.h"
|
||||
lineNumber: 26
|
||||
name: "QQuickImagineStyle"
|
||||
accessSemantics: "reference"
|
||||
prototype: "QQuickAttachedPropertyPropagator"
|
||||
exports: [
|
||||
"QtQuick.Controls.Imagine/Imagine 2.3",
|
||||
"QtQuick.Controls.Imagine/Imagine 6.0"
|
||||
]
|
||||
isCreatable: false
|
||||
exportMetaObjectRevisions: [515, 1536]
|
||||
attachedType: "QQuickImagineStyle"
|
||||
Property {
|
||||
name: "path"
|
||||
type: "QString"
|
||||
read: "path"
|
||||
write: "setPath"
|
||||
reset: "resetPath"
|
||||
notify: "pathChanged"
|
||||
index: 0
|
||||
lineNumber: 29
|
||||
isFinal: true
|
||||
}
|
||||
Property {
|
||||
name: "url"
|
||||
type: "QUrl"
|
||||
read: "url"
|
||||
notify: "pathChanged"
|
||||
index: 1
|
||||
lineNumber: 30
|
||||
isReadonly: true
|
||||
isFinal: true
|
||||
}
|
||||
Signal { name: "pathChanged"; lineNumber: 50 }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
module QtQuick.Controls.Imagine
|
||||
linktarget Qt6::qtquickcontrols2imaginestyleplugin
|
||||
plugin qtquickcontrols2imaginestyleplugin
|
||||
classname QtQuickControls2ImagineStylePlugin
|
||||
typeinfo plugins.qmltypes
|
||||
import QtQuick.Controls.Basic auto
|
||||
prefer :/qt-project.org/imports/QtQuick/Controls/Imagine/
|
||||
ApplicationWindow 6.0 ApplicationWindow.qml
|
||||
ApplicationWindow 2.0 ApplicationWindow.qml
|
||||
BusyIndicator 6.0 BusyIndicator.qml
|
||||
BusyIndicator 2.0 BusyIndicator.qml
|
||||
Button 6.0 Button.qml
|
||||
Button 2.0 Button.qml
|
||||
CheckBox 6.0 CheckBox.qml
|
||||
CheckBox 2.0 CheckBox.qml
|
||||
CheckDelegate 6.0 CheckDelegate.qml
|
||||
CheckDelegate 2.0 CheckDelegate.qml
|
||||
ComboBox 6.0 ComboBox.qml
|
||||
ComboBox 2.0 ComboBox.qml
|
||||
DelayButton 2.2 DelayButton.qml
|
||||
DelayButton 6.0 DelayButton.qml
|
||||
Dial 6.0 Dial.qml
|
||||
Dial 2.0 Dial.qml
|
||||
Dialog 2.1 Dialog.qml
|
||||
Dialog 6.0 Dialog.qml
|
||||
DialogButtonBox 2.1 DialogButtonBox.qml
|
||||
DialogButtonBox 6.0 DialogButtonBox.qml
|
||||
DoubleSpinBox 6.11 DoubleSpinBox.qml
|
||||
Drawer 6.0 Drawer.qml
|
||||
Drawer 2.0 Drawer.qml
|
||||
Frame 6.0 Frame.qml
|
||||
Frame 2.0 Frame.qml
|
||||
GroupBox 6.0 GroupBox.qml
|
||||
GroupBox 2.0 GroupBox.qml
|
||||
HorizontalHeaderView 2.15 HorizontalHeaderView.qml
|
||||
HorizontalHeaderView 6.0 HorizontalHeaderView.qml
|
||||
HorizontalHeaderViewDelegate 6.10 HorizontalHeaderViewDelegate.qml
|
||||
ItemDelegate 6.0 ItemDelegate.qml
|
||||
ItemDelegate 2.0 ItemDelegate.qml
|
||||
Label 6.0 Label.qml
|
||||
Label 2.0 Label.qml
|
||||
Menu 6.0 Menu.qml
|
||||
Menu 2.0 Menu.qml
|
||||
MenuItem 6.0 MenuItem.qml
|
||||
MenuItem 2.0 MenuItem.qml
|
||||
MenuSeparator 2.1 MenuSeparator.qml
|
||||
MenuSeparator 6.0 MenuSeparator.qml
|
||||
PageIndicator 6.0 PageIndicator.qml
|
||||
PageIndicator 2.0 PageIndicator.qml
|
||||
Page 6.0 Page.qml
|
||||
Page 2.0 Page.qml
|
||||
Pane 6.0 Pane.qml
|
||||
Pane 2.0 Pane.qml
|
||||
Popup 6.0 Popup.qml
|
||||
Popup 2.0 Popup.qml
|
||||
ProgressBar 6.0 ProgressBar.qml
|
||||
ProgressBar 2.0 ProgressBar.qml
|
||||
RadioButton 6.0 RadioButton.qml
|
||||
RadioButton 2.0 RadioButton.qml
|
||||
RadioDelegate 6.0 RadioDelegate.qml
|
||||
RadioDelegate 2.0 RadioDelegate.qml
|
||||
RangeSlider 6.0 RangeSlider.qml
|
||||
RangeSlider 2.0 RangeSlider.qml
|
||||
RoundButton 2.1 RoundButton.qml
|
||||
RoundButton 6.0 RoundButton.qml
|
||||
ScrollView 6.0 ScrollView.qml
|
||||
ScrollView 2.0 ScrollView.qml
|
||||
ScrollBar 6.0 ScrollBar.qml
|
||||
ScrollBar 2.0 ScrollBar.qml
|
||||
ScrollIndicator 6.0 ScrollIndicator.qml
|
||||
ScrollIndicator 2.0 ScrollIndicator.qml
|
||||
SearchField 6.10 SearchField.qml
|
||||
SelectionRectangle 6.0 SelectionRectangle.qml
|
||||
SelectionRectangle 2.0 SelectionRectangle.qml
|
||||
Slider 6.0 Slider.qml
|
||||
Slider 2.0 Slider.qml
|
||||
SpinBox 6.0 SpinBox.qml
|
||||
SpinBox 2.0 SpinBox.qml
|
||||
SplitView 2.13 SplitView.qml
|
||||
SplitView 6.0 SplitView.qml
|
||||
StackView 6.0 StackView.qml
|
||||
StackView 2.0 StackView.qml
|
||||
SwipeDelegate 6.0 SwipeDelegate.qml
|
||||
SwipeDelegate 2.0 SwipeDelegate.qml
|
||||
SwipeView 6.0 SwipeView.qml
|
||||
SwipeView 2.0 SwipeView.qml
|
||||
Switch 6.0 Switch.qml
|
||||
Switch 2.0 Switch.qml
|
||||
SwitchDelegate 6.0 SwitchDelegate.qml
|
||||
SwitchDelegate 2.0 SwitchDelegate.qml
|
||||
TextField 6.0 TextField.qml
|
||||
TextField 2.0 TextField.qml
|
||||
TextArea 6.0 TextArea.qml
|
||||
TextArea 2.0 TextArea.qml
|
||||
TabBar 6.0 TabBar.qml
|
||||
TabBar 2.0 TabBar.qml
|
||||
TabButton 6.0 TabButton.qml
|
||||
TabButton 2.0 TabButton.qml
|
||||
ToolBar 6.0 ToolBar.qml
|
||||
ToolBar 2.0 ToolBar.qml
|
||||
ToolButton 6.0 ToolButton.qml
|
||||
ToolButton 2.0 ToolButton.qml
|
||||
ToolSeparator 2.1 ToolSeparator.qml
|
||||
ToolSeparator 6.0 ToolSeparator.qml
|
||||
ToolTip 6.0 ToolTip.qml
|
||||
ToolTip 2.0 ToolTip.qml
|
||||
Tumbler 6.0 Tumbler.qml
|
||||
Tumbler 2.0 Tumbler.qml
|
||||
VerticalHeaderView 2.15 VerticalHeaderView.qml
|
||||
VerticalHeaderView 6.0 VerticalHeaderView.qml
|
||||
VerticalHeaderViewDelegate 6.10 VerticalHeaderViewDelegate.qml
|
||||
depends QtQuick
|
||||
|
||||
BIN
Binary file not shown.
Reference in New Issue
Block a user