Warning, /frameworks/qqc2-desktop-style/org.kde.desktop/Button.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 SPDX-FileCopyrightText: 2017 Marco Martin <mart@kde.org> 0003 SPDX-FileCopyrightText: 2017 The Qt Company Ltd. 0004 SPDX-FileCopyrightText: 2023 ivan tkachenko <me@ratijas.tk> 0005 0006 SPDX-License-Identifier: LGPL-3.0-only OR GPL-2.0-or-later 0007 */ 0008 0009 import QtQuick 2.6 0010 import QtQuick.Templates 2.15 as T 0011 import org.kde.qqc2desktopstyle.private 1.0 as StylePrivate 0012 import org.kde.kirigami 2.4 as Kirigami 0013 0014 T.Button { 0015 id: controlRoot 0016 0017 palette: Kirigami.Theme.inherit ? Kirigami.Theme.palette : undefined 0018 Kirigami.Theme.colorSet: Kirigami.Theme.Button 0019 Kirigami.Theme.inherit: false 0020 0021 implicitWidth: Math.max((text && display !== T.AbstractButton.IconOnly ? 0022 implicitBackgroundWidth : implicitHeight) + leftInset + rightInset, 0023 implicitContentWidth + leftPadding + rightPadding) 0024 implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, 0025 implicitContentHeight + topPadding + bottomPadding) 0026 0027 hoverEnabled: Qt.styleHints.useHoverEffects 0028 0029 Kirigami.MnemonicData.enabled: controlRoot.enabled && controlRoot.visible 0030 Kirigami.MnemonicData.controlType: Kirigami.MnemonicData.ActionElement 0031 Kirigami.MnemonicData.label: controlRoot.display !== T.AbstractButton.IconOnly ? controlRoot.text : "" 0032 Shortcut { 0033 //in case of explicit & the button manages it by itself 0034 enabled: !(RegExp(/\&[^\&]/).test(controlRoot.text)) 0035 sequence: controlRoot.Kirigami.MnemonicData.sequence 0036 onActivated: controlRoot.clicked() 0037 } 0038 background: StylePrivate.StyleItem { 0039 control: controlRoot 0040 elementType: "button" 0041 sunken: controlRoot.down 0042 on: controlRoot.checkable && controlRoot.checked 0043 flat: controlRoot.flat 0044 hover: controlRoot.hovered 0045 text: controlRoot.Kirigami.MnemonicData.mnemonicLabel 0046 hasFocus: controlRoot.activeFocus || controlRoot.highlighted 0047 activeControl: controlRoot.Accessible.defaultButton ? "default" : "" 0048 properties: { 0049 "icon": controlRoot.display !== T.AbstractButton.TextOnly 0050 ? (controlRoot.icon.name !== "" ? controlRoot.icon.name : controlRoot.icon.source) : null, 0051 "iconColor": Qt.colorEqual(controlRoot.icon.color, "transparent") ? Kirigami.Theme.textColor : controlRoot.icon.color, 0052 "iconWidth": controlRoot.icon.width, 0053 "iconHeight": controlRoot.icon.height, 0054 0055 "menu": controlRoot.Accessible.role === Accessible.ButtonMenu 0056 } 0057 } 0058 }