merge from main, settings window wifi updates, component creation, remove known network window
C++ / fmt (pull_request) Successful in 6s
C++ / build (pull_request) Successful in 2m9s
JS/TS / fmt (pull_request) Successful in 16s
JS/TS / lint (pull_request) Successful in 16s
Python / static (pull_request) Successful in 49s
C++ / clang-tidy (pull_request) Successful in 3m34s
Rust / build (pull_request) Successful in 1m1s
Rust / fmt (pull_request) Successful in 31s
Python / verify (pull_request) Successful in 1m45s
Rust / clippy (pull_request) Successful in 45s
C++ / fmt (pull_request) Successful in 6s
C++ / build (pull_request) Successful in 2m9s
JS/TS / fmt (pull_request) Successful in 16s
JS/TS / lint (pull_request) Successful in 16s
Python / static (pull_request) Successful in 49s
C++ / clang-tidy (pull_request) Successful in 3m34s
Rust / build (pull_request) Successful in 1m1s
Rust / fmt (pull_request) Successful in 31s
Python / verify (pull_request) Successful in 1m45s
Rust / clippy (pull_request) Successful in 45s
This commit is contained in:
@@ -32,8 +32,8 @@ ItemList {
|
||||
implicitHeight: deviceLayout.implicitHeight + deviceLayout.anchors.margins * 2
|
||||
|
||||
StateLayer {
|
||||
bottomLeftRadius: device.index === root?.list.count - 1 ? Tokens.rounding.large : radius
|
||||
bottomRightRadius: device.index === root?.list.count - 1 ? Tokens.rounding.large : radius
|
||||
bottomLeftRadius: device.index === root?.list.count - 1 ? Tokens.rounding.largeIncreased : radius
|
||||
bottomRightRadius: device.index === root?.list.count - 1 ? Tokens.rounding.largeIncreased : radius
|
||||
radius: Tokens.rounding.extraSmall
|
||||
|
||||
onClicked: root.selected(device.modelData)
|
||||
@@ -46,11 +46,11 @@ ItemList {
|
||||
anchors.leftMargin: Tokens.padding.largeIncreased
|
||||
anchors.margins: Tokens.padding.large
|
||||
anchors.rightMargin: Tokens.padding.largeIncreased
|
||||
spacing: Tokens.spacing.normal
|
||||
spacing: Tokens.spacing.medium
|
||||
|
||||
CustomRect {
|
||||
color: device.active ? Colors.palette.m3primary : Colors.palette.m3secondaryContainer
|
||||
implicitHeight: devIcon.implicitHeight + Tokens.padding.normal * 2
|
||||
implicitHeight: devIcon.implicitHeight + Tokens.padding.small * 2
|
||||
implicitWidth: implicitHeight
|
||||
radius: Tokens.rounding.full
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ Item {
|
||||
|
||||
color: Colors.palette.m3surfaceContainerHighest
|
||||
cornerFill: false
|
||||
smoothing: Tokens.rounding.medium
|
||||
smoothing: Tokens.rounding.largeIncreased
|
||||
|
||||
Behavior on color {
|
||||
CAnim {
|
||||
@@ -46,7 +46,7 @@ Item {
|
||||
anchors.fill: parent
|
||||
anchors.margins: (!(btn.pressed || root.pressOverride) && (btn.containsMouse || root.hoverOverride) ? -Tokens.padding.extraSmall : 0) + (root.open ? -Tokens.padding.extraSmall : 0)
|
||||
group: blobGroup
|
||||
radius: root.open ? Tokens.rounding.large : Tokens.rounding.medium
|
||||
radius: root.open ? Tokens.rounding.largeIncreased : Tokens.rounding.largeIncreased
|
||||
|
||||
Behavior on anchors.margins {
|
||||
Anim {
|
||||
@@ -68,7 +68,7 @@ Item {
|
||||
group: blobGroup
|
||||
implicitHeight: parent.height
|
||||
implicitWidth: parent.width
|
||||
radius: Tokens.rounding.small + Tokens.padding.small
|
||||
radius: Tokens.rounding.small + Tokens.padding.extraSmall
|
||||
|
||||
states: State {
|
||||
name: "open"
|
||||
@@ -89,7 +89,7 @@ Item {
|
||||
|
||||
Anim {
|
||||
duration: Tokens.anim.durations.expressiveFastEffects
|
||||
easing.bezierCurve: Tokens.anim.curves.expressiveFastEffects
|
||||
easing: Tokens.anim.expressiveFastEffects
|
||||
properties: "topMargin,implicitHeight"
|
||||
}
|
||||
|
||||
@@ -122,7 +122,7 @@ Item {
|
||||
|
||||
anchors.centerIn: parent
|
||||
color: Colors.palette.m3onSurfaceVariant
|
||||
font.pointSize: Tokens.font.size.medium
|
||||
font.pointSize: Tokens.font.size.normal
|
||||
text: "view_apps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@ CustomRect {
|
||||
flash.restart();
|
||||
}
|
||||
|
||||
bottomLeftRadius: last ? Tokens.rounding.large : Tokens.rounding.extraSmall
|
||||
bottomRightRadius: last ? Tokens.rounding.large : Tokens.rounding.extraSmall
|
||||
bottomLeftRadius: last ? Tokens.rounding.largeIncreased : Tokens.rounding.extraSmall
|
||||
bottomRightRadius: last ? Tokens.rounding.largeIncreased : Tokens.rounding.extraSmall
|
||||
color: Colors.tPalette.m3surfaceContainer
|
||||
opacity: enabled && (!parent || parent.enabled) ? 1 : 0.5
|
||||
topLeftRadius: first ? Tokens.rounding.large : Tokens.rounding.extraSmall
|
||||
|
||||
@@ -73,9 +73,9 @@ Item {
|
||||
|
||||
PropertyChanges {
|
||||
backdrop.enabled: true
|
||||
dialogBg.bottomLeftRadius: Tokens.rounding.large
|
||||
dialogBg.bottomRightRadius: Tokens.rounding.large
|
||||
dialogBg.radius: Tokens.rounding.large
|
||||
dialogBg.bottomLeftRadius: Tokens.rounding.largeIncreased
|
||||
dialogBg.bottomRightRadius: Tokens.rounding.largeIncreased
|
||||
dialogBg.radius: Tokens.rounding.largeIncreased
|
||||
dialogContent.opacity: 1
|
||||
dialogWrapper.height: root.openHeight
|
||||
dialogWrapper.width: root.openWidth
|
||||
@@ -131,8 +131,8 @@ Item {
|
||||
id: dialogBg
|
||||
|
||||
anchors.fill: parent
|
||||
bottomLeftRadius: Tokens.rounding.large
|
||||
bottomRightRadius: Tokens.rounding.large
|
||||
bottomLeftRadius: Tokens.rounding.largeIncreased
|
||||
bottomRightRadius: Tokens.rounding.largeIncreased
|
||||
deformScale: 0
|
||||
group: blobGroup
|
||||
opacity: blobGroup.color.a * (root.enabled ? 1 : 0.5)
|
||||
@@ -181,7 +181,7 @@ Item {
|
||||
|
||||
Loader {
|
||||
Layout.fillWidth: true
|
||||
Layout.topMargin: Tokens.spacing.normal
|
||||
Layout.topMargin: Tokens.spacing.medium
|
||||
active: root.separateContent
|
||||
|
||||
sourceComponent: CustomRect {
|
||||
@@ -199,7 +199,7 @@ Item {
|
||||
}
|
||||
|
||||
Loader {
|
||||
Layout.bottomMargin: Tokens.spacing.normal
|
||||
Layout.bottomMargin: Tokens.spacing.medium
|
||||
Layout.fillWidth: true
|
||||
active: root.separateContent
|
||||
|
||||
@@ -218,7 +218,7 @@ Item {
|
||||
isRound: true
|
||||
text: qsTr("Cancel")
|
||||
type: TextButton.Text
|
||||
verticalPadding: Tokens.padding.normal
|
||||
verticalPadding: Tokens.padding.small
|
||||
|
||||
onClicked: {
|
||||
root.cancelled();
|
||||
@@ -232,7 +232,7 @@ Item {
|
||||
isRound: true
|
||||
text: root.acceptLabel
|
||||
type: TextButton.Text
|
||||
verticalPadding: Tokens.padding.normal
|
||||
verticalPadding: Tokens.padding.small
|
||||
|
||||
onClicked: {
|
||||
root.accepted();
|
||||
|
||||
@@ -20,7 +20,7 @@ DialogRowButton {
|
||||
}
|
||||
|
||||
acceptAllowed: !!selectedItem
|
||||
horizontalContentMargin: -Tokens.padding.small
|
||||
horizontalContentMargin: -Tokens.padding.extraSmall
|
||||
separateContent: true
|
||||
|
||||
content: Component {
|
||||
@@ -40,8 +40,8 @@ DialogRowButton {
|
||||
anchors.margins: 1 // Gets cut off for some reason without this
|
||||
anchors.right: ListView.view.contentItem.right
|
||||
color: Qt.alpha(Colors.palette.m3tertiaryContainer, selected ? 1 : 0)
|
||||
implicitHeight: label.implicitHeight + Tokens.padding.normal * 2
|
||||
radius: stateLayer.pressed ? Tokens.rounding.extraSmall : selected ? Tokens.rounding.large : Tokens.rounding.normal
|
||||
implicitHeight: label.implicitHeight + Tokens.padding.small * 2
|
||||
radius: stateLayer.pressed ? Tokens.rounding.extraSmall : selected ? Tokens.rounding.largeIncreased : Tokens.rounding.medium
|
||||
|
||||
Behavior on radius {
|
||||
Anim {
|
||||
@@ -61,7 +61,7 @@ DialogRowButton {
|
||||
anchors.left: parent.left
|
||||
anchors.margins: Tokens.padding.large
|
||||
anchors.right: item.selected ? checkIcon.left : parent.right
|
||||
anchors.rightMargin: item.selected ? Tokens.spacing.normal : anchors.margins
|
||||
anchors.rightMargin: item.selected ? Tokens.spacing.medium : anchors.margins
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
color: item.selected ? Colors.palette.m3onTertiaryContainer : Colors.palette.m3onSurface
|
||||
elide: Text.ElideRight
|
||||
@@ -76,7 +76,7 @@ DialogRowButton {
|
||||
anchors.right: parent.right
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
color: Colors.palette.m3onTertiaryContainer
|
||||
font.pointSize: Tokens.font.size.medium
|
||||
font.pointSize: Tokens.font.size.normal
|
||||
opacity: item.selected ? 1 : 0
|
||||
text: "check"
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ ConnectedRect {
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.leftMargin: Tokens.padding.largeIncreased
|
||||
anchors.margins: Tokens.padding.larger
|
||||
anchors.margins: Tokens.padding.small
|
||||
anchors.rightMargin: Tokens.padding.largeIncreased
|
||||
spacing: Tokens.spacing.small
|
||||
|
||||
|
||||
@@ -94,7 +94,7 @@ ListView {
|
||||
property int pressIndex
|
||||
property point pressPos
|
||||
property real radiusLerpProg
|
||||
property real topRadius: root?.first && DelegateModel.itemsIndex === 0 ? Tokens.rounding.large : Tokens.rounding.extraSmall
|
||||
property real topRadius: root?.first && DelegateModel.itemsIndex === 0 ? Tokens.rounding.largeIncreased : Tokens.rounding.extraSmall
|
||||
|
||||
function lerpRadius(a: real, b: real): real {
|
||||
return a + (b - a) * radiusLerpProg;
|
||||
@@ -238,9 +238,9 @@ ListView {
|
||||
|
||||
anchors.fill: parent
|
||||
color: Colors.tPalette.m3surfaceContainer
|
||||
radius: item.lerpRadius(Tokens.rounding.extraSmall, Tokens.rounding.large)
|
||||
topLeftRadius: item.lerpRadius(item.topRadius, Tokens.rounding.large)
|
||||
topRightRadius: item.lerpRadius(item.topRadius, Tokens.rounding.large)
|
||||
radius: item.lerpRadius(Tokens.rounding.extraSmall, Tokens.rounding.largeIncreased)
|
||||
topLeftRadius: item.lerpRadius(item.topRadius, Tokens.rounding.largeIncreased)
|
||||
topRightRadius: item.lerpRadius(item.topRadius, Tokens.rounding.largeIncreased)
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
@@ -272,15 +272,15 @@ ListView {
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.leftMargin: Tokens.padding.largeIncreased
|
||||
anchors.margins: Tokens.padding.normal
|
||||
anchors.margins: Tokens.padding.small
|
||||
anchors.rightMargin: Tokens.padding.large
|
||||
spacing: Tokens.spacing.normal
|
||||
spacing: Tokens.spacing.medium
|
||||
|
||||
MaterialIcon {
|
||||
id: dragIcon
|
||||
|
||||
color: Qt.alpha(Colors.palette.m3onSurfaceVariant, enabledSwitch.checked ? 1 : 0.5)
|
||||
font.pointSize: Tokens.font.size.medium
|
||||
font.pointSize: Tokens.font.size.normal
|
||||
text: "drag_indicator"
|
||||
}
|
||||
|
||||
@@ -298,7 +298,7 @@ ListView {
|
||||
id: enabledSwitch
|
||||
|
||||
checked: root.toggledFor(item.modelData)
|
||||
font.pointSize: Tokens.font.size.medium
|
||||
font.pointSize: Tokens.font.size.normal
|
||||
|
||||
onToggled: root.itemToggled(item.DelegateModel.itemsIndex, checked)
|
||||
}
|
||||
|
||||
@@ -27,9 +27,9 @@ ConnectedRect {
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.leftMargin: Tokens.padding.largeIncreased
|
||||
anchors.margins: Tokens.padding.normal
|
||||
anchors.margins: Tokens.padding.small
|
||||
anchors.rightMargin: Tokens.padding.largeIncreased
|
||||
spacing: Tokens.spacing.normal
|
||||
spacing: Tokens.spacing.medium
|
||||
|
||||
MaterialIcon {
|
||||
id: icon
|
||||
@@ -64,7 +64,7 @@ ConnectedRect {
|
||||
|
||||
MaterialIcon {
|
||||
color: Colors.palette.m3onSurfaceVariant
|
||||
font.pointSize: Tokens.font.size.medium
|
||||
font.pointSize: Tokens.font.size.normal
|
||||
text: "chevron_right"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ ConnectedRect {
|
||||
required property Component popup
|
||||
property alias subtext: subtext.text
|
||||
property alias text: text.text
|
||||
property int verticalPadding: Tokens.padding.normal
|
||||
property int verticalPadding: Tokens.padding.small
|
||||
|
||||
signal clicked(checked: bool)
|
||||
|
||||
@@ -26,7 +26,7 @@ ConnectedRect {
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: root.horizontalPadding
|
||||
anchors.right: icon.left
|
||||
anchors.rightMargin: Tokens.padding.normal
|
||||
anchors.rightMargin: Tokens.padding.small
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
CustomText {
|
||||
@@ -48,7 +48,7 @@ ConnectedRect {
|
||||
id: icon
|
||||
|
||||
anchors.right: switchButton.left
|
||||
anchors.rightMargin: Tokens.spacing.normal
|
||||
anchors.rightMargin: Tokens.spacing.medium
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
text: "open_in_new"
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ ColumnLayout {
|
||||
return true;
|
||||
}
|
||||
|
||||
spacing: Tokens.spacing.large
|
||||
spacing: Tokens.spacing.largeIncreased
|
||||
|
||||
Component.onCompleted: applySearchAnchor()
|
||||
|
||||
@@ -121,7 +121,7 @@ ColumnLayout {
|
||||
RowLayout {
|
||||
id: header
|
||||
|
||||
spacing: Tokens.spacing.large
|
||||
spacing: Tokens.spacing.largeIncreased
|
||||
|
||||
Loader {
|
||||
active: root.isSubPage
|
||||
|
||||
@@ -32,9 +32,9 @@ ConnectedRect {
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.leftMargin: Tokens.padding.largeIncreased
|
||||
anchors.margins: Tokens.padding.normal
|
||||
anchors.margins: Tokens.padding.small
|
||||
anchors.rightMargin: Tokens.padding.largeIncreased
|
||||
spacing: Tokens.spacing.normal
|
||||
spacing: Tokens.spacing.medium
|
||||
|
||||
MaterialIcon {
|
||||
id: icon
|
||||
@@ -105,7 +105,7 @@ ConnectedRect {
|
||||
color: open || hovered || stateLayer.containsMouse ? Colors.palette.m3secondaryContainer : Colors.palette.m3surfaceContainerHighest
|
||||
content: root.content
|
||||
hoverOverride: stateLayer.containsMouse
|
||||
padding: Tokens.padding.small
|
||||
padding: Tokens.padding.extraSmall
|
||||
pressOverride: stateLayer.pressed
|
||||
x: {
|
||||
tWatcher.transform;
|
||||
|
||||
@@ -21,7 +21,7 @@ ConnectedRect {
|
||||
signal clicked(event: MouseEvent)
|
||||
|
||||
Layout.fillWidth: true
|
||||
implicitHeight: row.implicitHeight + Tokens.padding.normal * 2
|
||||
implicitHeight: row.implicitHeight + Tokens.padding.small * 2
|
||||
|
||||
StateLayer {
|
||||
id: stateLayer
|
||||
@@ -37,7 +37,7 @@ ConnectedRect {
|
||||
anchors.right: parent.right
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
opacity: root.enabled ? 1 : 0.5
|
||||
spacing: Tokens.spacing.normal
|
||||
spacing: Tokens.spacing.medium
|
||||
|
||||
Behavior on opacity {
|
||||
Anim {
|
||||
@@ -49,7 +49,7 @@ ConnectedRect {
|
||||
|
||||
color: Colors.palette.m3onSurfaceVariant
|
||||
fill: 1
|
||||
font.pointSize: Tokens.font.size.medium
|
||||
font.pointSize: Tokens.font.size.normal
|
||||
}
|
||||
|
||||
Column {
|
||||
@@ -86,7 +86,7 @@ ConnectedRect {
|
||||
|
||||
sourceComponent: MaterialIcon {
|
||||
color: Colors.palette.m3onSurfaceVariant
|
||||
font.pointSize: Tokens.font.size.medium
|
||||
font.pointSize: Tokens.font.size.normal
|
||||
text: root.trailingIcon
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,9 +9,9 @@ CustomText {
|
||||
|
||||
Layout.bottomMargin: Tokens.spacing.extraSmall
|
||||
Layout.fillWidth: true
|
||||
Layout.leftMargin: Tokens.padding.small
|
||||
Layout.topMargin: first ? 0 : Tokens.spacing.large - ((parent as ColumnLayout).spacing ?? 0)
|
||||
Layout.leftMargin: Tokens.padding.extraSmall
|
||||
Layout.topMargin: first ? 0 : Tokens.spacing.largeIncreased - ((parent as ColumnLayout).spacing ?? 0)
|
||||
color: Colors.palette.m3onSurfaceVariant
|
||||
elide: Text.ElideRight
|
||||
font.pointSize: Tokens.font.size.medium
|
||||
font.pointSize: Tokens.font.size.normal
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ ConnectedRect {
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.leftMargin: Tokens.padding.largeIncreased
|
||||
anchors.margins: Tokens.padding.normal
|
||||
anchors.margins: Tokens.padding.small
|
||||
anchors.rightMargin: Tokens.padding.largeIncreased
|
||||
spacing: Tokens.spacing.small
|
||||
|
||||
@@ -53,10 +53,10 @@ ConnectedRect {
|
||||
}
|
||||
}
|
||||
|
||||
CustomSplitButton {
|
||||
SplitButton {
|
||||
id: splitButton
|
||||
|
||||
type: CustomSplitButton.Tonal
|
||||
type: SplitButton.Tonal
|
||||
|
||||
menu.onItemSelected: item => root.selected(item)
|
||||
stateLayer.onClicked: splitButton.expanded = !splitButton.expanded
|
||||
|
||||
@@ -61,7 +61,7 @@ ConnectedRect {
|
||||
}
|
||||
|
||||
Layout.fillWidth: true
|
||||
implicitHeight: Tokens.padding.larger * 3
|
||||
implicitHeight: Tokens.padding.medium * 3
|
||||
|
||||
CustomSlider {
|
||||
id: slider
|
||||
|
||||
@@ -26,7 +26,7 @@ ConnectedRect {
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.leftMargin: Tokens.padding.largeIncreased
|
||||
anchors.margins: Tokens.padding.normal
|
||||
anchors.margins: Tokens.padding.small
|
||||
anchors.rightMargin: Tokens.padding.largeIncreased
|
||||
spacing: Tokens.spacing.small
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ StackView {
|
||||
}
|
||||
|
||||
PauseAnimation {
|
||||
duration: Tokens.anim.durations.expressiveEffects
|
||||
duration: Tokens.anim.durations.expressiveDefaultEffects
|
||||
}
|
||||
|
||||
ParallelAnimation {
|
||||
@@ -67,7 +67,7 @@ StackView {
|
||||
}
|
||||
|
||||
PauseAnimation {
|
||||
duration: Tokens.anim.durations.expressiveEffects
|
||||
duration: Tokens.anim.durations.expressiveDefaultEffects
|
||||
}
|
||||
|
||||
ParallelAnimation {
|
||||
|
||||
@@ -31,7 +31,7 @@ CustomClippingRect {
|
||||
color: Colors.palette.m3surfaceContainer
|
||||
implicitHeight: column.implicitHeight + column.anchors.margins * 2 + buttonRow.implicitHeight + buttonRow.anchors.topMargin
|
||||
implicitWidth: column.implicitWidth + column.anchors.margins * 2
|
||||
radius: Tokens.rounding.large
|
||||
radius: Tokens.rounding.largeIncreased
|
||||
|
||||
ColumnLayout {
|
||||
id: column
|
||||
@@ -40,7 +40,7 @@ CustomClippingRect {
|
||||
anchors.margins: Tokens.padding.largeIncreased
|
||||
anchors.right: parent.right
|
||||
anchors.top: parent.top
|
||||
spacing: Tokens.spacing.normal
|
||||
spacing: Tokens.spacing.medium
|
||||
|
||||
CustomText {
|
||||
text: qsTr("Select time")
|
||||
@@ -281,7 +281,7 @@ CustomClippingRect {
|
||||
Item {
|
||||
id: spacer
|
||||
|
||||
Layout.preferredWidth: Tokens.spacing.large
|
||||
Layout.preferredWidth: Tokens.spacing.largeIncreased
|
||||
}
|
||||
|
||||
CustomRect {
|
||||
@@ -537,7 +537,7 @@ CustomClippingRect {
|
||||
anchors.margins: Tokens.padding.largeIncreased
|
||||
anchors.right: parent.right
|
||||
anchors.top: column.bottom
|
||||
anchors.topMargin: Tokens.spacing.normal
|
||||
anchors.topMargin: Tokens.spacing.medium
|
||||
|
||||
Item {
|
||||
id: buttonSpacer
|
||||
@@ -546,7 +546,7 @@ CustomClippingRect {
|
||||
}
|
||||
|
||||
ButtonRow {
|
||||
spacing: Tokens.spacing.normal
|
||||
spacing: Tokens.spacing.medium
|
||||
|
||||
IconTextButton {
|
||||
font.pointSize: Tokens.font.size.normal
|
||||
|
||||
@@ -25,7 +25,7 @@ CustomSwitch {
|
||||
indicator.anchors.right: right
|
||||
indicator.anchors.rightMargin: root.horizontalPadding
|
||||
indicator.anchors.verticalCenter: verticalCenter
|
||||
verticalPadding: Tokens.padding.normal
|
||||
verticalPadding: Tokens.padding.small
|
||||
|
||||
background: ConnectedRect {
|
||||
id: bg
|
||||
@@ -40,7 +40,7 @@ CustomSwitch {
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: root.horizontalPadding
|
||||
anchors.right: root.indicator.left
|
||||
anchors.rightMargin: Tokens.spacing.normal
|
||||
anchors.rightMargin: Tokens.spacing.medium
|
||||
implicitHeight: column.implicitHeight
|
||||
implicitWidth: column.implicitWidth
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ Item {
|
||||
Layout.fillWidth: true
|
||||
color: Colors.tPalette.m3surfaceContainer
|
||||
implicitHeight: width
|
||||
radius: Tokens.rounding.large
|
||||
radius: Tokens.rounding.largeIncreased
|
||||
|
||||
Loader {
|
||||
active: opacity > 0
|
||||
|
||||
@@ -100,7 +100,7 @@ Item {
|
||||
}
|
||||
|
||||
IconButton {
|
||||
anchors.margins: Tokens.padding.normal
|
||||
anchors.margins: Tokens.padding.small
|
||||
anchors.right: parent.right
|
||||
anchors.top: parent.top
|
||||
icon: "check"
|
||||
@@ -127,7 +127,7 @@ Item {
|
||||
id: screenSelector
|
||||
|
||||
anchors.bottom: scaledImg.top
|
||||
anchors.bottomMargin: Tokens.spacing.normal
|
||||
anchors.bottomMargin: Tokens.spacing.medium
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: Tokens.padding.extraLarge * 2
|
||||
anchors.right: parent.right
|
||||
@@ -167,11 +167,11 @@ Item {
|
||||
id: zoomSlider
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.leftMargin: Tokens.padding.normal
|
||||
Layout.preferredHeight: Tokens.padding.larger * 3
|
||||
Layout.rightMargin: Tokens.padding.normal
|
||||
Layout.leftMargin: Tokens.padding.small
|
||||
Layout.preferredHeight: Tokens.padding.medium * 3
|
||||
Layout.rightMargin: Tokens.padding.small
|
||||
from: 1.0
|
||||
implicitHeight: Tokens.padding.larger * 3
|
||||
implicitHeight: Tokens.padding.small * 3
|
||||
insetIcon: "crop"
|
||||
to: 5.0
|
||||
value: cropRectLoader.item ? cropRectLoader.item.zoom : 1.0
|
||||
@@ -190,11 +190,11 @@ Item {
|
||||
property real monitorScale: 1.0
|
||||
|
||||
anchors.bottom: sliderLayout.top
|
||||
anchors.bottomMargin: Tokens.spacing.normal
|
||||
anchors.bottomMargin: Tokens.spacing.medium
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: wrapper.buttonRowHeight + Tokens.spacing.normal
|
||||
anchors.topMargin: wrapper.buttonRowHeight + Tokens.spacing.medium
|
||||
// anchors.top: screenSelector.bottom
|
||||
asynchronous: true
|
||||
fillMode: Image.PreserveAspectFit
|
||||
|
||||
@@ -21,7 +21,7 @@ CustomClippingRect {
|
||||
|
||||
implicitHeight: sState.screen.height * 0.7
|
||||
implicitWidth: implicitHeight * ratio
|
||||
radius: Tokens.rounding.large + Tokens.padding.normal
|
||||
radius: Tokens.rounding.largeIncreased + Tokens.padding.small
|
||||
|
||||
Behavior on blobColor {
|
||||
CAnim {
|
||||
@@ -36,18 +36,18 @@ CustomClippingRect {
|
||||
id: blobGroup
|
||||
|
||||
color: root.blobColor
|
||||
smoothing: Tokens.rounding.normal
|
||||
smoothing: Tokens.rounding.medium
|
||||
}
|
||||
|
||||
BlobInvertedRect {
|
||||
anchors.fill: parent
|
||||
borderBottom: Tokens.padding.normal
|
||||
borderBottom: Tokens.padding.small
|
||||
borderLeft: navPane.width + navPane.anchors.margins * 2
|
||||
borderRight: Tokens.padding.normal
|
||||
borderTop: Tokens.padding.normal
|
||||
borderRight: Tokens.padding.small
|
||||
borderTop: Tokens.padding.small
|
||||
group: blobGroup
|
||||
opacity: root.blobColor.a
|
||||
radius: Tokens.rounding.large
|
||||
radius: Tokens.rounding.largeIncreased
|
||||
}
|
||||
|
||||
NavPane {
|
||||
|
||||
@@ -10,7 +10,7 @@ ColumnLayout {
|
||||
|
||||
required property SettingsState sState
|
||||
|
||||
spacing: Tokens.spacing.large
|
||||
spacing: Tokens.spacing.largeIncreased
|
||||
|
||||
SearchBar {
|
||||
id: searchField
|
||||
|
||||
@@ -71,15 +71,15 @@ VerticalFadeFlickable {
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.topMargin: index !== 0 && isCategoryStart ? Tokens.spacing.small : 0
|
||||
bottomLeftRadius: stateLayer.pressed ? Tokens.rounding.medium : isCurrentPage ? Tokens.rounding.large : isCategoryEnd ? Tokens.rounding.normal : Tokens.rounding.extraSmall
|
||||
bottomRightRadius: stateLayer.pressed ? Tokens.rounding.medium : isCurrentPage ? Tokens.rounding.large : isCategoryEnd ? Tokens.rounding.normal : Tokens.rounding.extraSmall
|
||||
bottomLeftRadius: stateLayer.pressed ? Tokens.rounding.medium : isCurrentPage ? Tokens.rounding.extraLarge : isCategoryEnd ? Tokens.rounding.largeIncreased : Tokens.rounding.extraSmall
|
||||
bottomRightRadius: stateLayer.pressed ? Tokens.rounding.medium : isCurrentPage ? Tokens.rounding.extraLarge : isCategoryEnd ? Tokens.rounding.largeIncreased : Tokens.rounding.extraSmall
|
||||
color: isCurrentPage ? Colors.palette.m3secondaryContainer : Colors.layer(Colors.palette.m3surfaceContainerHigh, 2)
|
||||
implicitHeight: {
|
||||
const h = layout.implicitHeight + layout.anchors.margins * 2;
|
||||
return h % 2 === 0 ? h : h + 1;
|
||||
}
|
||||
topLeftRadius: stateLayer.pressed ? Tokens.rounding.medium : isCurrentPage ? Tokens.rounding.large : isCategoryStart ? Tokens.rounding.normal : Tokens.rounding.extraSmall
|
||||
topRightRadius: stateLayer.pressed ? Tokens.rounding.medium : isCurrentPage ? Tokens.rounding.large : isCategoryStart ? Tokens.rounding.normal : Tokens.rounding.extraSmall
|
||||
topLeftRadius: stateLayer.pressed ? Tokens.rounding.medium : isCurrentPage ? Tokens.rounding.extraLarge : isCategoryStart ? Tokens.rounding.largeIncreased : Tokens.rounding.extraSmall
|
||||
topRightRadius: stateLayer.pressed ? Tokens.rounding.medium : isCurrentPage ? Tokens.rounding.extraLarge : isCategoryStart ? Tokens.rounding.largeIncreased : Tokens.rounding.extraSmall
|
||||
|
||||
RadiusBehavior on bottomLeftRadius {
|
||||
}
|
||||
@@ -192,7 +192,7 @@ VerticalFadeFlickable {
|
||||
|
||||
RowLayout {
|
||||
Layout.fillWidth: true
|
||||
Layout.leftMargin: Tokens.padding.small
|
||||
Layout.leftMargin: Tokens.padding.extraSmall
|
||||
spacing: Tokens.spacing.small
|
||||
|
||||
MaterialIcon {
|
||||
@@ -251,15 +251,15 @@ VerticalFadeFlickable {
|
||||
readonly property bool isLast: index === group.modelData.entries.length - 1
|
||||
required property var modelData
|
||||
|
||||
bottomLeftRadius: layer.pressed ? Tokens.rounding.medium : isLast ? Tokens.rounding.large : Tokens.rounding.extraSmall
|
||||
bottomRightRadius: layer.pressed ? Tokens.rounding.medium : isLast ? Tokens.rounding.large : Tokens.rounding.extraSmall
|
||||
bottomLeftRadius: layer.pressed ? Tokens.rounding.largeIncreased : isLast ? Tokens.rounding.largeIncreased : Tokens.rounding.extraSmall
|
||||
bottomRightRadius: layer.pressed ? Tokens.rounding.largeIncreased : isLast ? Tokens.rounding.largeIncreased : Tokens.rounding.extraSmall
|
||||
color: Colors.layer(Colors.palette.m3surfaceContainerHigh, 2)
|
||||
implicitHeight: {
|
||||
const h = resultLayout.implicitHeight + resultLayout.anchors.margins * 2;
|
||||
return h % 2 === 0 ? h : h + 1;
|
||||
}
|
||||
topLeftRadius: layer.pressed ? Tokens.rounding.medium : isFirst ? Tokens.rounding.large : Tokens.rounding.extraSmall
|
||||
topRightRadius: layer.pressed ? Tokens.rounding.medium : isFirst ? Tokens.rounding.large : Tokens.rounding.extraSmall
|
||||
topLeftRadius: layer.pressed ? Tokens.rounding.largeIncreased : isFirst ? Tokens.rounding.largeIncreased : Tokens.rounding.extraSmall
|
||||
topRightRadius: layer.pressed ? Tokens.rounding.largeIncreased : isFirst ? Tokens.rounding.largeIncreased : Tokens.rounding.extraSmall
|
||||
width: cardList.width
|
||||
|
||||
RadiusBehavior on bottomLeftRadius {
|
||||
@@ -297,7 +297,7 @@ VerticalFadeFlickable {
|
||||
Layout.fillWidth: true
|
||||
color: Colors.palette.m3onSurface
|
||||
elide: Text.ElideRight
|
||||
font.pointSize: Tokens.font.size.medium
|
||||
font.pointSize: Tokens.font.size.normal
|
||||
text: SettingsSearcher.highlight(result.modelData.title, root.search, Colors.palette.m3primary)
|
||||
textFormat: text.includes("<font") ? Text.StyledText : Text.PlainText
|
||||
}
|
||||
@@ -349,7 +349,7 @@ VerticalFadeFlickable {
|
||||
Layout.fillWidth: true
|
||||
Layout.topMargin: Tokens.padding.large
|
||||
color: Colors.palette.m3onSurfaceVariant
|
||||
font.pointSize: Tokens.font.size.medium
|
||||
font.pointSize: Tokens.font.size.normal
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
text: qsTr("No matching settings")
|
||||
visible: root.searching && root.results.length === 0
|
||||
|
||||
@@ -46,7 +46,7 @@ Item {
|
||||
Connections {
|
||||
function onCurrentPageIdxChanged(): void {
|
||||
switchAnim.complete();
|
||||
root.animOff = Tokens.padding.normal * (root.sState.currentPageIdx > root.lastPageIdx ? 1 : -1);
|
||||
root.animOff = Tokens.padding.small * (root.sState.currentPageIdx > root.lastPageIdx ? 1 : -1);
|
||||
switchAnim.start();
|
||||
root.lastPageIdx = root.sState.currentPageIdx;
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ PageBase {
|
||||
CustomText {
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
color: Colors.palette.m3onSurfaceVariant
|
||||
font.pointSize: Tokens.font.size.medium
|
||||
font.pointSize: Tokens.font.size.normal
|
||||
text: ZUtils.version ? `v${ZUtils.version}` : "…"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ PageBase {
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.leftMargin: Tokens.padding.largeIncreased
|
||||
anchors.margins: Tokens.padding.normal
|
||||
anchors.margins: Tokens.padding.small
|
||||
anchors.rightMargin: Tokens.padding.largeIncreased
|
||||
spacing: Tokens.spacing.small
|
||||
|
||||
@@ -91,7 +91,7 @@ PageBase {
|
||||
|
||||
MaterialIcon {
|
||||
color: Colors.palette.m3onSurfaceVariant
|
||||
font.pointSize: Tokens.font.size.medium
|
||||
font.pointSize: Tokens.font.size.normal
|
||||
text: "chevron_right"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,10 +40,10 @@ PageBase {
|
||||
|
||||
// Header
|
||||
RowLayout {
|
||||
Layout.bottomMargin: Tokens.spacing.large
|
||||
Layout.bottomMargin: Tokens.spacing.largeIncreased
|
||||
Layout.fillWidth: true
|
||||
Layout.leftMargin: Tokens.padding.small
|
||||
spacing: Tokens.spacing.large
|
||||
Layout.leftMargin: Tokens.padding.extraSmall
|
||||
spacing: Tokens.spacing.largeIncreased
|
||||
|
||||
IconImage {
|
||||
asynchronous: true
|
||||
@@ -57,7 +57,7 @@ PageBase {
|
||||
|
||||
CustomText {
|
||||
Layout.fillWidth: true
|
||||
font.pointSize: Tokens.font.size.medium
|
||||
font.pointSize: Tokens.font.size.normal
|
||||
text: root.app?.name ?? ""
|
||||
wrapMode: Text.WordWrap
|
||||
}
|
||||
@@ -144,7 +144,7 @@ PageBase {
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.leftMargin: Tokens.padding.largeIncreased
|
||||
anchors.margins: Tokens.padding.normal
|
||||
anchors.margins: Tokens.padding.small
|
||||
anchors.rightMargin: Tokens.padding.largeIncreased
|
||||
spacing: Tokens.spacing.small
|
||||
|
||||
|
||||
@@ -138,7 +138,7 @@ PageBase {
|
||||
id: itemLayout
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.margins: Tokens.padding.normal
|
||||
anchors.margins: Tokens.padding.small
|
||||
spacing: Tokens.spacing.small
|
||||
|
||||
IconImage {
|
||||
|
||||
@@ -26,7 +26,7 @@ PageBase {
|
||||
CustomText {
|
||||
Layout.bottomMargin: Tokens.spacing.small
|
||||
Layout.fillWidth: true
|
||||
Layout.leftMargin: Tokens.padding.small
|
||||
Layout.leftMargin: Tokens.padding.extraSmall
|
||||
color: Colors.palette.m3outline
|
||||
font.pointSize: Tokens.font.size.small
|
||||
text: qsTr("Adjust the volume of individual apps currently playing audio.")
|
||||
|
||||
@@ -52,7 +52,7 @@ PageBase {
|
||||
|
||||
// Input
|
||||
SliderRow {
|
||||
Layout.topMargin: Tokens.spacing.large - parent.spacing
|
||||
Layout.topMargin: Tokens.spacing.largeIncreased - parent.spacing
|
||||
enabled: !Audio.sourceMuted
|
||||
first: true
|
||||
icon: Icons.getMicVolumeIcon(Audio.sourceVolume, Audio.sourceMuted)
|
||||
@@ -84,7 +84,7 @@ PageBase {
|
||||
// Per-app volumes
|
||||
ConnectedRect {
|
||||
Layout.fillWidth: true
|
||||
Layout.topMargin: Tokens.spacing.large - parent.spacing
|
||||
Layout.topMargin: Tokens.spacing.largeIncreased - parent.spacing
|
||||
first: true
|
||||
implicitHeight: appLayout.implicitHeight + appLayout.anchors.margins * 2
|
||||
last: true
|
||||
@@ -98,12 +98,12 @@ PageBase {
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.leftMargin: Tokens.padding.largeIncreased
|
||||
anchors.margins: Tokens.padding.normal
|
||||
anchors.margins: Tokens.padding.small
|
||||
anchors.rightMargin: Tokens.padding.largeIncreased
|
||||
spacing: Tokens.spacing.small
|
||||
|
||||
MaterialIcon {
|
||||
font.pointSize: Tokens.font.size.medium
|
||||
font.pointSize: Tokens.font.size.normal
|
||||
text: "tune"
|
||||
}
|
||||
|
||||
@@ -130,7 +130,7 @@ PageBase {
|
||||
|
||||
MaterialIcon {
|
||||
color: Colors.palette.m3onSurfaceVariant
|
||||
font.pointSize: Tokens.font.size.medium
|
||||
font.pointSize: Tokens.font.size.normal
|
||||
text: "chevron_right"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,9 @@ PageBase {
|
||||
|
||||
title: qsTr("Network")
|
||||
|
||||
Component.onCompleted: Network.active = true
|
||||
Component.onDestruction: Network.active = false
|
||||
|
||||
ColumnLayout {
|
||||
id: networkContent
|
||||
|
||||
@@ -60,6 +63,13 @@ PageBase {
|
||||
}
|
||||
}
|
||||
|
||||
DelegateChoice {
|
||||
roleValue: false
|
||||
|
||||
delegate: KnownNetworkManager {
|
||||
}
|
||||
}
|
||||
|
||||
DelegateChoice {
|
||||
delegate: NetworkItem {
|
||||
list: rows
|
||||
@@ -85,7 +95,11 @@ PageBase {
|
||||
isDivider: true,
|
||||
type: "known"
|
||||
},
|
||||
...kNetworks.sort(byStrengthName)] : []), ...(uNetworks.length > 0 ? [
|
||||
...kNetworks.sort(byStrengthName),
|
||||
{
|
||||
isDivider: false
|
||||
}
|
||||
] : []), ...(uNetworks.length > 0 ? [
|
||||
{
|
||||
isDivider: true,
|
||||
type: "unknown"
|
||||
@@ -118,28 +132,33 @@ PageBase {
|
||||
}
|
||||
}
|
||||
|
||||
KNetworkList {
|
||||
acceptLabel: qsTr("Remove")
|
||||
enabled: Object.keys(model).length > 0
|
||||
header: qsTr("Manage known networks")
|
||||
icon: "Network_Manage"
|
||||
label: qsTr("Show all known networks")
|
||||
model: Network.networks.filter(n => n.known && !n.connected).map(n => ({
|
||||
id: n.id,
|
||||
label: n.name
|
||||
}))
|
||||
rootParent: root.flickable
|
||||
|
||||
onAccepted: {
|
||||
if (!selectedItem)
|
||||
return;
|
||||
|
||||
Network.forgetNetworks(Network.networks.find(n => n.id === selectedItem));
|
||||
}
|
||||
NetworkOverlay {
|
||||
anchors.centerIn: parent
|
||||
}
|
||||
}
|
||||
|
||||
component KNetworkList: DialogRowButton {
|
||||
component KnownNetworkManager: NetworkSelect {
|
||||
acceptLabel: qsTr("Remove")
|
||||
enabled: Object.keys(model).length > 0
|
||||
header: qsTr("Manage known networks")
|
||||
icon: "Network_Manage"
|
||||
label: qsTr("Manage known networks")
|
||||
model: Network.networks.filter(n => n.known && !n.connected).map(n => ({
|
||||
id: n.name,
|
||||
label: n.name
|
||||
}))
|
||||
rootParent: root.flickable
|
||||
width: rows.width
|
||||
|
||||
onAccepted: {
|
||||
if (!selectedItem)
|
||||
return;
|
||||
|
||||
const networkToForget = Network.networks.find(n => n.name === selectedItem);
|
||||
Network.forgetNetwork(networkToForget);
|
||||
}
|
||||
}
|
||||
component NetworkSelect: DialogRowButton {
|
||||
id: klist
|
||||
|
||||
required property var model
|
||||
@@ -154,7 +173,7 @@ PageBase {
|
||||
}
|
||||
|
||||
acceptAllowed: !!selectedItem
|
||||
horizontalContentMargin: -Tokens.padding.small
|
||||
horizontalContentMargin: -Tokens.padding.extraSmall
|
||||
separateContent: true
|
||||
|
||||
content: Component {
|
||||
@@ -174,8 +193,8 @@ PageBase {
|
||||
anchors.margins: 1 // Gets cut off for some reason without this
|
||||
anchors.right: ListView.view.contentItem.right
|
||||
color: Qt.alpha(Colors.palette.m3tertiaryContainer, selected ? 1 : 0)
|
||||
implicitHeight: label.implicitHeight + Tokens.padding.normal * 2
|
||||
radius: stateLayer.pressed ? Tokens.rounding.extraSmall : selected ? Tokens.rounding.large : Tokens.rounding.normal
|
||||
implicitHeight: label.implicitHeight + Tokens.padding.small * 2
|
||||
radius: stateLayer.pressed ? Tokens.rounding.extraSmall : selected ? Tokens.rounding.largeIncreased : Tokens.rounding.medium
|
||||
|
||||
Behavior on radius {
|
||||
Anim {
|
||||
@@ -195,7 +214,7 @@ PageBase {
|
||||
anchors.left: parent.left
|
||||
anchors.margins: Tokens.padding.large
|
||||
anchors.right: item.selected ? checkIcon.left : parent.right
|
||||
anchors.rightMargin: item.selected ? Tokens.spacing.normal : anchors.margins
|
||||
anchors.rightMargin: item.selected ? Tokens.spacing.medium : anchors.margins
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
color: item.selected ? Colors.palette.m3onTertiaryContainer : Colors.palette.m3onSurface
|
||||
elide: Text.ElideRight
|
||||
@@ -210,7 +229,7 @@ PageBase {
|
||||
anchors.right: parent.right
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
color: Colors.palette.m3onTertiaryContainer
|
||||
font.pointSize: Tokens.font.size.medium
|
||||
font.pointSize: Tokens.font.size.normal
|
||||
opacity: item.selected ? 1 : 0
|
||||
text: "check"
|
||||
|
||||
|
||||
@@ -9,6 +9,16 @@ import qs.Modules.Settings.Common
|
||||
PageBase {
|
||||
id: root
|
||||
|
||||
readonly property var builtinIcons: ({
|
||||
audio: qsTr("Toggle audio"),
|
||||
mic: qsTr("Toggle microphone"),
|
||||
settings: qsTr("Open settings"),
|
||||
dnd: qsTr("Toggle Do-Not-Disturb"),
|
||||
gameMode: qsTr("Toggle game mode"),
|
||||
bluetooth: qsTr("Toggle bluetooth"),
|
||||
wifi: qsTr("Toggle Wi-Fi")
|
||||
})
|
||||
|
||||
isSubPage: true
|
||||
title: qsTr("Sidebar")
|
||||
|
||||
@@ -44,5 +54,59 @@ PageBase {
|
||||
|
||||
onMoved: v => Config.sidebar.dragThreshold = v
|
||||
}
|
||||
|
||||
SectionHeader {
|
||||
text: qsTr("Quick toggles")
|
||||
}
|
||||
|
||||
ListEditor {
|
||||
function labelFor(item: var): string {
|
||||
const prettyName = root.builtinIcons[item.id];
|
||||
if (prettyName)
|
||||
return prettyName;
|
||||
const label = item.id.replace(/([A-Z])/g, " $1");
|
||||
return label.charAt(0).toUpperCase() + label.slice(1).toLowerCase();
|
||||
}
|
||||
|
||||
function toggledFor(item: var): bool {
|
||||
return item.enabled;
|
||||
}
|
||||
|
||||
first: true
|
||||
values: Config.utilities.quickToggles.values
|
||||
z: 1
|
||||
|
||||
onItemMoved: (from, to) => Config.utilities.quickToggles.move(from, to)
|
||||
onItemRemoved: index => Config.utilities.quickToggles.remove(index)
|
||||
onItemToggled: (index, checked) => Config.utilities.quickToggles.at(index).enabled = checked
|
||||
}
|
||||
|
||||
DialogSelectButton {
|
||||
id: addItemContainer
|
||||
|
||||
acceptLabel: qsTr("Add")
|
||||
enabled: Object.keys(model).length > 0
|
||||
header: qsTr("Add new entry")
|
||||
icon: "add"
|
||||
label: qsTr("Add entry")
|
||||
model: {
|
||||
const present = new Set(Config.utilities.quickToggles.values.map(item => item.id));
|
||||
return Object.keys(root.builtinIcons).filter(id => !present.has(id)).map(id => ({
|
||||
id: id,
|
||||
label: root.builtinIcons[id]
|
||||
}));
|
||||
}
|
||||
rootParent: root.flickable
|
||||
|
||||
onAccepted: {
|
||||
if (!selectedItem)
|
||||
return;
|
||||
|
||||
Config.utilities.quickToggles.insert({
|
||||
id: selectedItem,
|
||||
enabled: true
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ PageBase {
|
||||
width: root.cappedWidth
|
||||
|
||||
CustomText {
|
||||
Layout.topMargin: Tokens.spacing.large
|
||||
Layout.topMargin: Tokens.spacing.largeIncreased
|
||||
font.pointSize: Tokens.font.size.large
|
||||
text: qsTr("Wallpapers")
|
||||
}
|
||||
@@ -73,7 +73,7 @@ PageBase {
|
||||
sourceComponent: CustomRect {
|
||||
color: Colors.tPalette.m3surfaceContainer
|
||||
implicitHeight: noWallsLayout.implicitHeight + Tokens.padding.extraLarge * 3
|
||||
radius: Tokens.rounding.large
|
||||
radius: Tokens.rounding.largeIncreased
|
||||
|
||||
ColumnLayout {
|
||||
id: noWallsLayout
|
||||
|
||||
@@ -18,7 +18,7 @@ PageBase {
|
||||
ColumnLayout {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.top: parent.top
|
||||
spacing: Tokens.spacing.large
|
||||
spacing: Tokens.spacing.largeIncreased
|
||||
width: root.cappedWidth
|
||||
|
||||
Item {
|
||||
@@ -42,7 +42,7 @@ PageBase {
|
||||
shapeMorph: true
|
||||
text: qsTr("Wallpapers")
|
||||
type: IconTextButton.Tonal
|
||||
verticalPadding: Tokens.padding.normal
|
||||
verticalPadding: Tokens.padding.small
|
||||
|
||||
onClicked: root.sState.openSubPage(1) // Wallpaper page
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ Item {
|
||||
Behavior on offsetScale {
|
||||
Anim {
|
||||
duration: Tokens.anim.durations.expressiveDefaultSpatial
|
||||
easing.bezierCurve: Tokens.anim.curves.expressiveDefaultSpatial
|
||||
easing: Tokens.anim.expressiveDefaultSpatial
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user