cf12defd28
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
470 lines
15 KiB
QML
470 lines
15 KiB
QML
/*
|
|
* SPDX-FileCopyrightText: 2021 Nate Graham <nate@kde.org>
|
|
* SPDX-FileCopyrightText: 2023 Arjen Hiemstra <ahiemstra@heimr.nl>
|
|
*
|
|
* SPDX-License-Identifier: LGPL-2.0-or-later
|
|
*/
|
|
|
|
import QtQuick
|
|
import QtQuick.Layouts
|
|
import QtQuick.Controls as QQC2
|
|
|
|
import org.kde.kirigami as Kirigami
|
|
import org.kde.kirigami.delegates as KD
|
|
|
|
Kirigami.ApplicationWindow {
|
|
GridLayout {
|
|
anchors.fill: parent
|
|
anchors.margins: Kirigami.Units.gridUnit
|
|
|
|
rows: 3
|
|
rowSpacing: Kirigami.Units.gridUnit
|
|
columns: 3
|
|
columnSpacing: Kirigami.Units.gridUnit
|
|
|
|
Kirigami.Theme.inherit: false
|
|
Kirigami.Theme.colorSet: Kirigami.Theme.View
|
|
|
|
// Icon + Label
|
|
ColumnLayout {
|
|
Layout.fillWidth: true
|
|
Layout.preferredWidth: 1
|
|
|
|
Kirigami.Heading {
|
|
text: "Icon + Label"
|
|
level: 3
|
|
Layout.fillWidth: true
|
|
wrapMode: Text.Wrap
|
|
}
|
|
|
|
KD.SubtitleDelegate {
|
|
Layout.fillWidth: true
|
|
|
|
icon.name: "edit-bomb"
|
|
text: "Boom!"
|
|
}
|
|
KD.CheckSubtitleDelegate {
|
|
Layout.fillWidth: true
|
|
|
|
icon.name: "edit-bomb"
|
|
text: "Boom!"
|
|
}
|
|
KD.RadioSubtitleDelegate {
|
|
Layout.fillWidth: true
|
|
|
|
icon.name: "edit-bomb"
|
|
text: "Boom!"
|
|
}
|
|
KD.SwitchSubtitleDelegate {
|
|
Layout.fillWidth: true
|
|
|
|
icon.name: "edit-bomb"
|
|
text: "Boom!"
|
|
}
|
|
}
|
|
|
|
// Label + space reserved for icon
|
|
ColumnLayout {
|
|
Layout.fillWidth: true
|
|
Layout.preferredWidth: 1
|
|
|
|
Kirigami.Heading {
|
|
text: "Icon + Label + space reserved for icon"
|
|
level: 3
|
|
Layout.fillWidth: true
|
|
wrapMode: Text.Wrap
|
|
}
|
|
|
|
KD.SubtitleDelegate {
|
|
Layout.fillWidth: true
|
|
text: "Boom!"
|
|
icon.width: Kirigami.Units.iconSizes.smallMedium
|
|
}
|
|
KD.CheckSubtitleDelegate {
|
|
Layout.fillWidth: true
|
|
text: "Boom!"
|
|
icon.width: Kirigami.Units.iconSizes.smallMedium
|
|
}
|
|
KD.RadioSubtitleDelegate {
|
|
Layout.fillWidth: true
|
|
text: "Boom!"
|
|
icon.width: Kirigami.Units.iconSizes.smallMedium
|
|
}
|
|
KD.SwitchSubtitleDelegate {
|
|
Layout.fillWidth: true
|
|
text: "Boom!"
|
|
icon.width: Kirigami.Units.iconSizes.smallMedium
|
|
}
|
|
}
|
|
|
|
// Icon + Label + leading and trailing items
|
|
ColumnLayout {
|
|
Layout.fillWidth: true
|
|
Layout.preferredWidth: 1
|
|
|
|
Kirigami.Heading {
|
|
text: "Icon + Label + leading and trailing items"
|
|
level: 3
|
|
Layout.fillWidth: true
|
|
wrapMode: Text.Wrap
|
|
}
|
|
|
|
QQC2.ItemDelegate {
|
|
id: plainDelegate
|
|
Layout.fillWidth: true
|
|
|
|
icon.name: "edit-bomb"
|
|
text: "Boom!"
|
|
|
|
contentItem: RowLayout {
|
|
spacing: Kirigami.Units.smallSpacing
|
|
Rectangle {
|
|
radius: height
|
|
Layout.preferredWidth: Kirigami.Units.largeSpacing
|
|
Layout.preferredHeight: Kirigami.Units.largeSpacing
|
|
color: Kirigami.Theme.neutralTextColor
|
|
}
|
|
|
|
KD.IconTitleSubtitle {
|
|
Layout.fillWidth: true
|
|
title: plainDelegate.text
|
|
icon: icon.fromControlsIcon(plainDelegate.icon)
|
|
}
|
|
|
|
QQC2.Button {
|
|
icon.name: "edit-delete"
|
|
text: "Defuse the bomb!"
|
|
}
|
|
}
|
|
}
|
|
QQC2.CheckDelegate {
|
|
id: checkDelegate
|
|
Layout.fillWidth: true
|
|
|
|
icon.name: "edit-bomb"
|
|
text: "Boom!"
|
|
|
|
contentItem: RowLayout {
|
|
spacing: Kirigami.Units.smallSpacing
|
|
Rectangle {
|
|
radius: height
|
|
Layout.preferredWidth: Kirigami.Units.largeSpacing
|
|
Layout.preferredHeight: Kirigami.Units.largeSpacing
|
|
color: Kirigami.Theme.neutralTextColor
|
|
}
|
|
|
|
KD.IconTitleSubtitle {
|
|
Layout.fillWidth: true
|
|
title: checkDelegate.text
|
|
icon: icon.fromControlsIcon(checkDelegate.icon)
|
|
}
|
|
|
|
QQC2.Button {
|
|
icon.name: "edit-delete"
|
|
text: "Defuse the bomb!"
|
|
}
|
|
}
|
|
}
|
|
QQC2.RadioDelegate {
|
|
id: radioDelegate
|
|
Layout.fillWidth: true
|
|
|
|
icon.name: "edit-bomb"
|
|
text: "Boom!"
|
|
|
|
contentItem: RowLayout {
|
|
spacing: Kirigami.Units.smallSpacing
|
|
Rectangle {
|
|
radius: height
|
|
Layout.preferredWidth: Kirigami.Units.largeSpacing
|
|
Layout.preferredHeight: Kirigami.Units.largeSpacing
|
|
color: Kirigami.Theme.neutralTextColor
|
|
}
|
|
|
|
KD.IconTitleSubtitle {
|
|
Layout.fillWidth: true
|
|
title: radioDelegate.text
|
|
icon: icon.fromControlsIcon(radioDelegate.icon)
|
|
}
|
|
|
|
QQC2.Button {
|
|
icon.name: "edit-delete"
|
|
text: "Defuse the bomb!"
|
|
}
|
|
}
|
|
}
|
|
QQC2.SwitchDelegate {
|
|
id: switchDelegate
|
|
Layout.fillWidth: true
|
|
|
|
icon.name: "edit-bomb"
|
|
text: "Boom!"
|
|
|
|
contentItem: RowLayout {
|
|
spacing: Kirigami.Units.smallSpacing
|
|
Rectangle {
|
|
radius: height
|
|
Layout.preferredWidth: Kirigami.Units.largeSpacing
|
|
Layout.preferredHeight: Kirigami.Units.largeSpacing
|
|
color: Kirigami.Theme.neutralTextColor
|
|
}
|
|
|
|
KD.IconTitleSubtitle {
|
|
Layout.fillWidth: true
|
|
title: switchDelegate.text
|
|
icon: icon.fromControlsIcon(switchDelegate.icon)
|
|
}
|
|
|
|
QQC2.Button {
|
|
icon.name: "edit-delete"
|
|
text: "Defuse the bomb!"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Icon + Label + subtitle
|
|
ColumnLayout {
|
|
Layout.fillWidth: true
|
|
Layout.preferredWidth: 1
|
|
|
|
Kirigami.Heading {
|
|
text: "Icon + Label + subtitle"
|
|
level: 3
|
|
Layout.fillWidth: true
|
|
wrapMode: Text.Wrap
|
|
}
|
|
|
|
KD.SubtitleDelegate {
|
|
Layout.fillWidth: true
|
|
|
|
icon.name: "edit-bomb"
|
|
text: "Boom!"
|
|
subtitle: "smaller boom"
|
|
}
|
|
KD.CheckSubtitleDelegate {
|
|
Layout.fillWidth: true
|
|
|
|
icon.name: "edit-bomb"
|
|
text: "Boom!"
|
|
subtitle: "smaller boom"
|
|
}
|
|
KD.RadioSubtitleDelegate {
|
|
Layout.fillWidth: true
|
|
|
|
icon.name: "edit-bomb"
|
|
text: "Boom!"
|
|
subtitle: "smaller boom"
|
|
}
|
|
KD.SwitchSubtitleDelegate {
|
|
Layout.fillWidth: true
|
|
|
|
icon.name: "edit-bomb"
|
|
text: "Boom!"
|
|
subtitle: "smaller boom"
|
|
}
|
|
}
|
|
|
|
// Icon + Label + space reserved for subtitle
|
|
ColumnLayout {
|
|
Layout.fillWidth: true
|
|
Layout.preferredWidth: 1
|
|
|
|
Kirigami.Heading {
|
|
text: "Icon + Label + space reserved for subtitle"
|
|
level: 3
|
|
Layout.fillWidth: true
|
|
wrapMode: Text.Wrap
|
|
}
|
|
|
|
KD.SubtitleDelegate {
|
|
Layout.fillWidth: true
|
|
|
|
icon.name: "edit-bomb"
|
|
text: "Boom!"
|
|
|
|
contentItem: KD.IconTitleSubtitle {
|
|
title: parent.text
|
|
icon: icon.fromControlsIcon(parent.icon)
|
|
reserveSpaceForSubtitle: true
|
|
}
|
|
}
|
|
KD.CheckSubtitleDelegate {
|
|
Layout.fillWidth: true
|
|
|
|
icon.name: "edit-bomb"
|
|
text: "Boom!"
|
|
|
|
contentItem: KD.IconTitleSubtitle {
|
|
title: parent.text
|
|
icon: icon.fromControlsIcon(parent.icon)
|
|
reserveSpaceForSubtitle: true
|
|
}
|
|
}
|
|
KD.RadioSubtitleDelegate {
|
|
Layout.fillWidth: true
|
|
|
|
icon.name: "edit-bomb"
|
|
text: "Boom!"
|
|
|
|
contentItem: KD.IconTitleSubtitle {
|
|
title: parent.text
|
|
icon: icon.fromControlsIcon(parent.icon)
|
|
reserveSpaceForSubtitle: true
|
|
}
|
|
}
|
|
KD.SwitchSubtitleDelegate {
|
|
Layout.fillWidth: true
|
|
|
|
icon.name: "edit-bomb"
|
|
text: "Boom!"
|
|
|
|
contentItem: KD.IconTitleSubtitle {
|
|
title: parent.text
|
|
icon: icon.fromControlsIcon(parent.icon)
|
|
reserveSpaceForSubtitle: true
|
|
}
|
|
}
|
|
}
|
|
|
|
// Icon + Label + subtitle + leading and trailing items
|
|
ColumnLayout {
|
|
Layout.fillWidth: true
|
|
Layout.preferredWidth: 1
|
|
|
|
Kirigami.Heading {
|
|
text: "Icon + Label + subtitle + leading/trailing"
|
|
level: 3
|
|
Layout.fillWidth: true
|
|
wrapMode: Text.Wrap
|
|
}
|
|
|
|
KD.SubtitleDelegate {
|
|
id: subtitleDelegate
|
|
Layout.fillWidth: true
|
|
|
|
icon.name: "edit-bomb"
|
|
text: "Boom!"
|
|
subtitle: "smaller boom"
|
|
|
|
contentItem: RowLayout {
|
|
spacing: Kirigami.Units.smallSpacing
|
|
Rectangle {
|
|
radius: height
|
|
Layout.preferredWidth: Kirigami.Units.largeSpacing
|
|
Layout.preferredHeight: Kirigami.Units.largeSpacing
|
|
color: Kirigami.Theme.neutralTextColor
|
|
}
|
|
|
|
KD.IconTitleSubtitle {
|
|
Layout.fillWidth: true
|
|
title: subtitleDelegate.text
|
|
subtitle: subtitleDelegate.subtitle
|
|
selected: subtitleDelegate.highlighted || subtitleDelegate.down
|
|
icon: icon.fromControlsIcon(subtitleDelegate.icon)
|
|
}
|
|
|
|
QQC2.Button {
|
|
icon.name: "edit-delete"
|
|
text: "Defuse the bomb!"
|
|
}
|
|
}
|
|
}
|
|
KD.CheckSubtitleDelegate {
|
|
id: subtitleCheckDelegate
|
|
Layout.fillWidth: true
|
|
|
|
icon.name: "edit-bomb"
|
|
text: "Boom!"
|
|
subtitle: "smaller boom"
|
|
|
|
contentItem: RowLayout {
|
|
spacing: Kirigami.Units.smallSpacing
|
|
Rectangle {
|
|
radius: height
|
|
Layout.preferredWidth: Kirigami.Units.largeSpacing
|
|
Layout.preferredHeight: Kirigami.Units.largeSpacing
|
|
color: Kirigami.Theme.neutralTextColor
|
|
}
|
|
|
|
KD.IconTitleSubtitle {
|
|
Layout.fillWidth: true
|
|
title: subtitleCheckDelegate.text
|
|
subtitle: subtitleCheckDelegate.subtitle
|
|
selected: subtitleCheckDelegate.highlighted || subtitleCheckDelegate.down
|
|
icon: icon.fromControlsIcon(subtitleCheckDelegate.icon)
|
|
}
|
|
|
|
QQC2.Button {
|
|
icon.name: "edit-delete"
|
|
text: "Defuse the bomb!"
|
|
}
|
|
}
|
|
}
|
|
KD.RadioSubtitleDelegate {
|
|
id: subtitleRadioDelegate
|
|
Layout.fillWidth: true
|
|
|
|
icon.name: "edit-bomb"
|
|
text: "Boom!"
|
|
subtitle: "smaller boom"
|
|
|
|
contentItem: RowLayout {
|
|
spacing: Kirigami.Units.smallSpacing
|
|
Rectangle {
|
|
radius: height
|
|
Layout.preferredWidth: Kirigami.Units.largeSpacing
|
|
Layout.preferredHeight: Kirigami.Units.largeSpacing
|
|
color: Kirigami.Theme.neutralTextColor
|
|
}
|
|
|
|
KD.IconTitleSubtitle {
|
|
Layout.fillWidth: true
|
|
title: subtitleRadioDelegate.text
|
|
subtitle: subtitleRadioDelegate.subtitle
|
|
selected: subtitleRadioDelegate.highlighted || subtitleRadioDelegate.down
|
|
icon: icon.fromControlsIcon(subtitleRadioDelegate.icon)
|
|
}
|
|
|
|
QQC2.Button {
|
|
icon.name: "edit-delete"
|
|
text: "Defuse the bomb!"
|
|
}
|
|
}
|
|
}
|
|
KD.SwitchSubtitleDelegate {
|
|
id: subtitleSwitchDelegate
|
|
Layout.fillWidth: true
|
|
|
|
icon.name: "edit-bomb"
|
|
text: "Boom!"
|
|
subtitle: "smaller boom"
|
|
|
|
contentItem: RowLayout {
|
|
spacing: Kirigami.Units.smallSpacing
|
|
Rectangle {
|
|
radius: height
|
|
Layout.preferredWidth: Kirigami.Units.largeSpacing
|
|
Layout.preferredHeight: Kirigami.Units.largeSpacing
|
|
color: Kirigami.Theme.neutralTextColor
|
|
}
|
|
|
|
KD.IconTitleSubtitle {
|
|
Layout.fillWidth: true
|
|
title: subtitleSwitchDelegate.text
|
|
subtitle: subtitleSwitchDelegate.subtitle
|
|
selected: subtitleSwitchDelegate.highlighted || subtitleSwitchDelegate.down
|
|
icon: icon.fromControlsIcon(subtitleSwitchDelegate.icon)
|
|
}
|
|
|
|
QQC2.Button {
|
|
icon.name: "edit-delete"
|
|
text: "Defuse the bomb!"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|