1/* 2 SPDX-FileCopyrightText: 2016 Marco Martin <mart@kde.org> 3 4 SPDX-License-Identifier: LGPL-2.0-or-later 5*/ 6 7import QtQuick 2.6 8import QtQuick.Layouts 1.2 9import QtQuick.Templates @QQC2_VERSION@ as T 10import org.kde.plasma.core 2.0 as PlasmaCore 11import org.kde.kirigami 2.5 as Kirigami 12import "private" as Private 13 14T.ToolButton { 15 id: control 16 17 implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, 18 implicitContentWidth + leftPadding + rightPadding) 19 implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, 20 implicitContentHeight + topPadding + bottomPadding) 21 22 leftPadding: background.leftMargin 23 topPadding: background.topMargin 24 rightPadding: background.rightMargin 25 bottomPadding: background.bottomMargin 26 27 spacing: PlasmaCore.Units.smallSpacing 28 29 hoverEnabled: !Kirigami.Settings.tabletMode 30 31 Kirigami.MnemonicData.enabled: control.enabled && control.visible 32 Kirigami.MnemonicData.controlType: Kirigami.MnemonicData.SecondaryControl 33 Kirigami.MnemonicData.label: control.text 34 35 // KF6 TODO: investigate setting this by default 36 // focusPolicy: Qt.TabFocus 37 38 Shortcut { 39 //in case of explicit & the button manages it by itself 40 enabled: !(RegExp(/\&[^\&]/).test(control.text)) 41 sequence: control.Kirigami.MnemonicData.sequence 42 onActivated: control.clicked() 43 } 44 45 flat: true 46 47 PlasmaCore.ColorScope.inherit: flat 48 PlasmaCore.ColorScope.colorGroup: flat && parent ? parent.PlasmaCore.ColorScope.colorGroup : PlasmaCore.Theme.ButtonColorGroup 49 50 contentItem: Private.ButtonContent { 51 labelText: control.Kirigami.MnemonicData.richTextLabel 52 } 53 54 background: Private.ButtonBackground {} 55} 56