9import QtQuick.Templates as T
10import org.kde.kirigami as Kirigami
11import "private" as Private
16 implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
17 implicitContentWidth + leftPadding + rightPadding,
18 implicitIndicatorWidth + leftPadding + rightPadding)
19 implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
20 implicitContentHeight + topPadding + bottomPadding,
21 implicitIndicatorHeight + topPadding + bottomPadding)
23 baselineOffset: contentItem.y + contentItem.baselineOffset
28 icon.width:
Kirigami.Units.iconSizes.sizeForLabels
29 icon.height:
Kirigami.Units.iconSizes.sizeForLabels
31 Kirigami.MnemonicData.enabled: control.enabled && control.visible
33 Kirigami.MnemonicData.label: control.text
37 enabled: !(RegExp(/\&[^\&]/).test(control.text))
38 sequence: control.Kirigami.MnemonicData.sequence
39 onActivated: control.animateClick()
43 x: (control.text || control.icon.name || control.icon.source)
44 ? (control.mirrored ? control.width - width - control.rightPadding : control.leftPadding)
45 : control.leftPadding + Math.round((control.availableWidth - width) / 2)
46 y: control.topPadding + Math.round((control.availableHeight - height) / 2)
51 contentItem: Private.IconLabel {
52 readonly
property int effectiveIndicatorWidth: control.indicator && control.indicator.visible && control.indicator.width > 0
53 ? control.indicator.width + control.spacing : 0
55 mirrored: control.mirrored
56 leftPadding: !control.mirrored ? effectiveIndicatorWidth : 0
57 rightPadding: control.mirrored ? effectiveIndicatorWidth : 0
60 alignment:
Qt.AlignLeft |
Qt.AlignVCenter
61 display: control.display
62 spacing: control.spacing
63 iconItem.implicitWidth: control.icon.width
64 iconItem.implicitHeight: control.icon.height
65 iconItem.source: control.icon.name || control.icon.source
66 label.text: control.Kirigami.MnemonicData.richTextLabel