Changeset View
Changeset View
Standalone View
Standalone View
src/declarativeimports/plasmacomponents3/ToolButton.qml
Show All 18 Lines | |||||
19 | 19 | | |||
20 | import QtQuick 2.6 | 20 | import QtQuick 2.6 | ||
21 | import QtQuick.Layouts 1.2 | 21 | import QtQuick.Layouts 1.2 | ||
22 | import QtQuick.Templates @QQC2_VERSION@ as T | 22 | import QtQuick.Templates @QQC2_VERSION@ as T | ||
23 | import org.kde.plasma.core 2.0 as PlasmaCore | 23 | import org.kde.plasma.core 2.0 as PlasmaCore | ||
24 | import org.kde.kirigami 2.5 as Kirigami | 24 | import org.kde.kirigami 2.5 as Kirigami | ||
25 | import "private" as Private | 25 | import "private" as Private | ||
26 | 26 | | |||
27 | | ||||
27 | T.ToolButton { | 28 | T.ToolButton { | ||
28 | id: control | 29 | id: control | ||
29 | 30 | | |||
30 | implicitWidth: Math.max(background.implicitWidth, | 31 | implicitWidth: Math.max(background.implicitWidth, | ||
31 | contentItem.implicitWidth + leftPadding + rightPadding) | 32 | contentItem.implicitWidth + leftPadding + rightPadding) | ||
32 | implicitHeight: Math.max(background.implicitHeight, contentItem.implicitHeight + topPadding + bottomPadding) | 33 | implicitHeight: Math.max(background.implicitHeight, contentItem.implicitHeight + topPadding + bottomPadding) | ||
33 | 34 | | |||
34 | leftPadding: surfaceNormal.margins.left | 35 | leftPadding: surfaceNormal.margins.left | ||
35 | topPadding: surfaceNormal.margins.top | 36 | topPadding: surfaceNormal.margins.top | ||
36 | rightPadding: surfaceNormal.margins.right | 37 | rightPadding: surfaceNormal.margins.right | ||
37 | bottomPadding: surfaceNormal.margins.bottom | 38 | bottomPadding: surfaceNormal.margins.bottom | ||
38 | 39 | | |||
39 | hoverEnabled: !Kirigami.Settings.tabletMode | 40 | hoverEnabled: !Kirigami.Settings.tabletMode | ||
40 | 41 | | |||
41 | Kirigami.MnemonicData.enabled: control.enabled && control.visible | 42 | Kirigami.MnemonicData.enabled: control.enabled && control.visible | ||
42 | Kirigami.MnemonicData.controlType: Kirigami.MnemonicData.SecondaryControl | 43 | Kirigami.MnemonicData.controlType: Kirigami.MnemonicData.SecondaryControl | ||
43 | Kirigami.MnemonicData.label: control.text | 44 | Kirigami.MnemonicData.label: control.text | ||
44 | 45 | | |||
45 | flat: true | 46 | flat: true | ||
46 | 47 | | |||
47 | contentItem: RowLayout { | 48 | contentItem: RowLayout { | ||
48 | | ||||
49 | Item { | | |||
50 | Layout.preferredWidth: Kirigami.Units.iconSizes.smallMedium + Kirigami.Units.largeSpacing | | |||
51 | Layout.fillWidth: !label.visible | | |||
52 | visible: icon.source.length > 0 | | |||
53 | PlasmaCore.IconItem { | 49 | PlasmaCore.IconItem { | ||
54 | id: icon | 50 | id: icon | ||
55 | anchors.centerIn: parent | 51 | visible: source.length > 0 | ||
56 | height: Kirigami.Units.iconSizes.smallMedium | 52 | Layout.fillWidth: control.icon.width <= 0 | ||
57 | width: Kirigami.Units.iconSizes.smallMedium | 53 | Layout.fillHeight: control.icon.height <= 0 | ||
54 | Layout.preferredWidth: control.icon.width > 0 ? control.icon.width : -1 | ||||
55 | Layout.preferredHeight: control.icon.height > 0 ? control.icon.height : -1 | ||||
58 | colorGroup: PlasmaCore.ColorScope.colorGroup | 56 | colorGroup: PlasmaCore.ColorScope.colorGroup | ||
59 | source: control.icon ? (control.icon.name || control.icon.source) : "" | 57 | source: control.icon ? (control.icon.name || control.icon.source) : "" | ||
60 | } | 58 | } | ||
61 | } | | |||
62 | | ||||
63 | Label { | 59 | Label { | ||
64 | id: label | | |||
65 | Layout.fillWidth: true | 60 | Layout.fillWidth: true | ||
66 | visible: text.length > 0 | 61 | visible: text.length > 0 | ||
67 | text: control.Kirigami.MnemonicData.richTextLabel | 62 | text: control.Kirigami.MnemonicData.richTextLabel | ||
68 | font: control.font | 63 | font: control.font | ||
69 | opacity: enabled || control.highlighted || control.checked ? 1 : 0.4 | 64 | opacity: enabled || control.highlighted || control.checked ? 1 : 0.4 | ||
70 | color: theme.buttonTextColor | 65 | color: theme.buttonTextColor | ||
71 | horizontalAlignment: Text.AlignHCenter | 66 | horizontalAlignment: Text.AlignHCenter | ||
72 | verticalAlignment: Text.AlignVCenter | 67 | verticalAlignment: Text.AlignVCenter | ||
▲ Show 20 Lines • Show All 51 Lines • Show Last 20 Lines |