7import QtQuick.Templates 2.15 as T
8import QtQuick.Controls 2.15 as Controls
9import QtQuick.Layouts 1.15
11import org.kde.kirigami 2.19 as Kirigami
13import "private" as Private
49 property string description:
""
55 property var leading: null
60 property real leadingPadding:
Kirigami.Units.smallSpacing
66 property var trailing: null
71 property real trailingPadding:
Kirigami.Units.smallSpacing
75 leftPadding: parent._internal_formcard_margins ? parent._internal_formcard_margins :
Kirigami.Units.gridUnit
76 rightPadding: parent._internal_formcard_margins ? parent._internal_formcard_margins :
Kirigami.Units.gridUnit
78 implicitWidth: contentItem.implicitWidth + leftPadding + rightPadding
79 implicitHeight: contentItem.implicitHeight + topPadding + bottomPadding
81 focusPolicy:
Qt.StrongFocus
85 Layout.fillWidth:
true
87 Accessible.description: root.description
88 Accessible.role: Accessible.CheckBox
89 Accessible.onPressAction: switchItem.toggle()
90 Accessible.onToggleAction: switchItem.toggle()
92 contentItem: RowLayout {
95 Private.ContentItemLoader {
96 Layout.rightMargin: visible ? root.leadingPadding : 0
98 implicitHeight: visible ? root.leading.implicitHeight : 0
99 implicitWidth: visible ? root.leading.implicitWidth : 0
100 contentItem: root.leading
104 Layout.fillWidth:
true
105 spacing:
Kirigami.Units.smallSpacing
108 Layout.fillWidth:
true
110 elide:
Text.ElideRight
113 color: root.enabled ?
Kirigami.Theme.textColor :
Kirigami.Theme.disabledTextColor
114 Accessible.ignored:
true
118 visible: root.description !==
""
119 Layout.fillWidth:
true
120 text: root.description
122 color:
Kirigami.Theme.disabledTextColor
123 Accessible.ignored:
true
129 focusPolicy:
Qt.NoFocus
130 Layout.leftMargin:
Kirigami.Units.largeSpacing +
Kirigami.Units.smallSpacing
132 enabled: root.enabled
133 checked: root.checked
135 onToggled: root.toggled()
136 onClicked: root.clicked()
137 onPressAndHold: root.pressAndHold()
138 onDoubleClicked: root.doubleClicked()
141 root.checked = checked;
142 checked =
Qt.binding(() => root.checked);
145 Accessible.ignored:
true
148 Private.ContentItemLoader {
149 Layout.leftMargin: visible ? root.trailingPadding : 0
150 visible: root.trailing
151 implicitHeight: visible ? root.trailing.implicitHeight : 0
152 implicitWidth: visible ? root.trailing.implicitWidth : 0
153 contentItem: root.trailing