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 0010 import QtQuick.Templates as T 0011 import org.kde.kirigami as Kirigami 0012 import org.kde.qqc2desktopstyle.private as StylePrivate 0013 0014 T.Button { 0015 id: controlRoot 0016 0017 Kirigami.Theme.colorSet: Kirigami.Theme.Button 0018 Kirigami.Theme.inherit: false 0019 0020 implicitWidth: Math.max((text && display !== T.AbstractButton.IconOnly ? 0021 implicitBackgroundWidth : implicitHeight) + leftInset + rightInset, 0022 implicitContentWidth + leftPadding + rightPadding) 0023 implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, 0024 implicitContentHeight + topPadding + bottomPadding) 0025 0026 hoverEnabled: Qt.styleHints.useHoverEffects 0027 0028 Kirigami.MnemonicData.enabled: enabled && visible 0029 Kirigami.MnemonicData.controlType: Kirigami.MnemonicData.ActionElement 0030 Kirigami.MnemonicData.label: display !== T.AbstractButton.IconOnly ? text : "" 0031 Shortcut { 0032 //in case of explicit & the button manages it by itself 0033 enabled: !(RegExp(/\&[^\&]/).test(controlRoot.text)) 0034 sequence: controlRoot.Kirigami.MnemonicData.sequence 0035 onActivated: controlRoot.clicked() 0036 } 0037 background: StylePrivate.StyleItem { 0038 control: controlRoot 0039 elementType: "button" 0040 sunken: controlRoot.down 0041 on: controlRoot.checkable && controlRoot.checked 0042 flat: controlRoot.flat 0043 hover: controlRoot.hovered 0044 text: controlRoot.Kirigami.MnemonicData.mnemonicLabel 0045 hasFocus: controlRoot.activeFocus || controlRoot.highlighted 0046 activeControl: controlRoot.Accessible.defaultButton ? "default" : "" 0047 properties: { 0048 "icon": controlRoot.display !== T.AbstractButton.TextOnly 0049 ? (controlRoot.icon.name !== "" ? controlRoot.icon.name : controlRoot.icon.source) : null, 0050 "iconColor": Qt.colorEqual(controlRoot.icon.color, "transparent") ? Kirigami.Theme.textColor : controlRoot.icon.color, 0051 "iconWidth": controlRoot.icon.width, 0052 "iconHeight": controlRoot.icon.height, 0053 0054 "menu": controlRoot.Accessible.role === Accessible.ButtonMenu 0055 } 0056 } 0057 }