6import QtQuick.Controls as QQC2
7import QtQuick.Templates as T
8import org.kde.kirigami as Kirigami
13 required property T.ItemDelegate itemDelegate
14 required property string subtitle
15 property bool bold: false
17 readonly property alias labelItem: labelItem
18 readonly property alias subtitleItem: subtitleItem
19 readonly property alias iconItem: iconItem
21 spacing: itemDelegate instanceof T.ItemDelegate ? itemDelegate.spacing : Kirigami.Units.mediumSpacing
26 visible: itemDelegate.icon.name.length > 0 || itemDelegate.icon.source.toString().length > 0
27 source: itemDelegate.icon.name.length > 0 ? itemDelegate.icon.name : itemDelegate.icon.source
29 Layout.alignment: Qt.AlignVCenter
30 Layout.preferredHeight: itemDelegate.icon.width
31 Layout.preferredWidth: itemDelegate.icon.height
32 Layout.leftMargin: Kirigami.Units.smallSpacing
33 Layout.rightMargin: Kirigami.Units.smallSpacing
37 Layout.fillWidth: true
43 leftPadding: itemDelegate.mirrored ? (itemDelegate.indicator ? itemDelegate.indicator.width : 0) + itemDelegate.spacing : 0
44 rightPadding: !itemDelegate.mirrored ? (itemDelegate.indicator ? itemDelegate.indicator.width : 0) + itemDelegate.spacing : 0
46 text: itemDelegate.text
47 font: itemDelegate.font
48 color: itemDelegate.enabled ? Kirigami.Theme.textColor : Kirigami.Theme.disabledTextColor
49 elide: Text.ElideRight
50 visible: itemDelegate.text
51 horizontalAlignment: Text.AlignLeft
52 verticalAlignment: Text.AlignVCenter
54 Layout.fillWidth: true
55 Layout.alignment: subtitleItem.visible ? Qt.AlignLeft | Qt.AlignBottom : Qt.AlignLeft | Qt.AlignVCenter
61 color: itemDelegate.enabled ? Kirigami.Theme.textColor : Kirigami.Theme.disabledTextColor
64 elide: Text.ElideRight
65 font: Kirigami.Theme.smallFont
66 opacity: root.bold ? 0.9 : 0.7
67 visible: text.length > 0
69 Layout.fillWidth: true
70 Layout.alignment: visible ? Qt.AlignLeft | Qt.AlignTop : Qt.AlignLeft | Qt.AlignVCenter