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.Button { 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 Shortcut { 36 //in case of explicit & the button manages it by itself 37 enabled: !(RegExp(/\&[^\&]/).test(control.text)) 38 sequence: control.Kirigami.MnemonicData.sequence 39 onActivated: control.clicked() 40 } 41 42 PlasmaCore.ColorScope.inherit: flat 43 PlasmaCore.ColorScope.colorGroup: flat && parent ? parent.PlasmaCore.ColorScope.colorGroup : PlasmaCore.Theme.ButtonColorGroup 44 45 contentItem: Private.ButtonContent { 46 labelText: control.Kirigami.MnemonicData.richTextLabel 47 } 48 49 background: Private.ButtonBackground {} 50} 51