Changeset View
Changeset View
Standalone View
Standalone View
src/controls/private/PrivateActionToolButton.qml
Show First 20 Lines • Show All 53 Lines • ▼ Show 20 Line(s) | 53 | ActionsMenu { | |||
---|---|---|---|---|---|
54 | id: menu | 54 | id: menu | ||
55 | y: control.height | 55 | y: control.height | ||
56 | actions: control.kirigamiAction ? control.kirigamiAction.children : "" | 56 | actions: control.kirigamiAction ? control.kirigamiAction.children : "" | ||
57 | submenuComponent: Component { | 57 | submenuComponent: Component { | ||
58 | ActionsMenu {} | 58 | ActionsMenu {} | ||
59 | } | 59 | } | ||
60 | } | 60 | } | ||
61 | 61 | | |||
62 | flat: true | 62 | Component.onCompleted: { | ||
63 | //NOTE: Make it a proper property when we depend on Qt 5.10 | ||||
64 | if (palette) | ||||
65 | palette.button = Qt.binding(function() { return control.kirigamiAction ? control.kirigamiAction.icon.color : undefined}); | ||||
66 | } | ||||
mart: note that this can't be used directly, as it depends from Qt 5.10
while if the button is… | |||||
63 | contentItem: MouseArea { | 67 | contentItem: MouseArea { | ||
64 | hoverEnabled: true | 68 | hoverEnabled: true | ||
65 | onPressed: mouse.accepted = false | 69 | onPressed: mouse.accepted = false | ||
66 | Theme.colorSet: checked ? Theme.Selection : Theme.Window | 70 | Theme.colorSet: checked ? Theme.Selection : Theme.Window | ||
67 | Theme.inherit: false | 71 | Theme.inherit: false | ||
68 | RowLayout { | 72 | RowLayout { | ||
69 | id: layout | 73 | id: layout | ||
70 | onImplicitWidthChanged: control.background.contentWidth = implicitWidth + 16 | 74 | onImplicitWidthChanged: control.background.contentWidth = implicitWidth + 16 | ||
71 | anchors.centerIn: parent | 75 | anchors.centerIn: parent | ||
72 | Icon { | 76 | Icon { | ||
73 | id: mainIcon | 77 | id: mainIcon | ||
74 | Layout.minimumWidth: Units.iconSizes.smallMedium | 78 | Layout.minimumWidth: Units.iconSizes.smallMedium | ||
75 | Layout.minimumHeight: Units.iconSizes.smallMedium | 79 | Layout.minimumHeight: Units.iconSizes.smallMedium | ||
76 | source: control.kirigamiAction ? (control.kirigamiAction.icon ? control.kirigamiAction.icon.name : control.kirigamiAction.iconName) : "" | 80 | source: control.kirigamiAction ? (control.kirigamiAction.icon ? control.kirigamiAction.icon.name : control.kirigamiAction.iconName) : "" | ||
77 | visible: control.kirigamiAction && control.kirigamiAction.iconName != "" | 81 | visible: control.kirigamiAction && control.kirigamiAction.iconName != "" | ||
78 | color: control.kirigamiAction && control.kirigamiAction.icon && control.kirigamiAction.icon.color.a > 0 ? control.kirigamiAction.icon.color : Qt.rgba(0, 0, 0, 0) | 82 | color: control.flat && control.kirigamiAction && control.kirigamiAction.icon && control.kirigamiAction.icon.color.a > 0 ? control.kirigamiAction.icon.color : label.color | ||
79 | } | 83 | } | ||
80 | Controls.Label { | 84 | Controls.Label { | ||
85 | id: label | ||||
81 | MnemonicData.enabled: control.enabled | 86 | MnemonicData.enabled: control.enabled | ||
82 | MnemonicData.controlType: MnemonicData.ActionElement | 87 | MnemonicData.controlType: MnemonicData.ActionElement | ||
83 | MnemonicData.label: control.kirigamiAction ? control.kirigamiAction.text : "" | 88 | MnemonicData.label: control.kirigamiAction ? control.kirigamiAction.text : "" | ||
84 | 89 | | |||
85 | text: MnemonicData.richTextLabel | 90 | text: MnemonicData.richTextLabel | ||
86 | visible: control.showText && text.length > 0 | 91 | visible: control.showText && text.length > 0 | ||
87 | } | 92 | } | ||
88 | Icon { | 93 | Icon { | ||
Show All 15 Lines |
note that this can't be used directly, as it depends from Qt 5.10
while if the button is colored by the method in D13232 this shouldn't happen
so this shouldn't be pushed until can be done without breaking deps