diff --git a/src/declarativeimports/plasmacomponents3/Button.qml b/src/declarativeimports/plasmacomponents3/Button.qml --- a/src/declarativeimports/plasmacomponents3/Button.qml +++ b/src/declarativeimports/plasmacomponents3/Button.qml @@ -31,6 +31,9 @@ contentItem.implicitWidth + leftPadding + rightPadding) implicitHeight: Math.max(background.implicitHeight, contentItem.implicitHeight + topPadding + bottomPadding) + icon.width: units.iconSizes.small + icon.height: units.iconSizes.small + leftPadding: surfaceNormal.margins.left topPadding: surfaceNormal.margins.top rightPadding: surfaceNormal.margins.right @@ -45,8 +48,12 @@ contentItem: RowLayout { PlasmaCore.IconItem { id: icon - Layout.fillWidth: true - Layout.fillHeight: true + + Layout.fillWidth: control.icon.width <= 0 + Layout.fillHeight: control.icon.height <= 0 + Layout.preferredWidth: control.icon.width > 0 ? control.icon.width : -1 + Layout.preferredHeight: control.icon.height > 0 ? control.icon.height : -1 + colorGroup: PlasmaCore.Theme.ButtonColorGroup visible: source.length > 0 source: control.icon ? (control.icon.name || control.icon.source) : "" diff --git a/src/declarativeimports/plasmacomponents3/TabButton.qml b/src/declarativeimports/plasmacomponents3/TabButton.qml --- a/src/declarativeimports/plasmacomponents3/TabButton.qml +++ b/src/declarativeimports/plasmacomponents3/TabButton.qml @@ -36,16 +36,22 @@ hoverEnabled: true + icon.width: units.iconSizes.smallMedium + icon.height: units.iconSizes.smallMedium Kirigami.MnemonicData.enabled: control.enabled && control.visible Kirigami.MnemonicData.controlType: Kirigami.MnemonicData.SecondaryControl Kirigami.MnemonicData.label: control.text contentItem: GridLayout { columns: control.display == T.AbstractButton.TextBesideIcon ? 2 : 1 PlasmaCore.IconItem { id: icon - Layout.fillWidth: true - Layout.fillHeight: true + + Layout.fillWidth: control.icon.width <= 0 + Layout.fillHeight: control.icon.height <= 0 + Layout.preferredWidth: control.icon.width > 0 ? control.icon.width : -1 + Layout.preferredHeight: control.icon.height > 0 ? control.icon.height : -1 + colorGroup: PlasmaCore.Theme.ButtonColorGroup visible: source.length > 0 source: control.icon ? (control.icon.name || control.icon.source) : "" @@ -58,7 +64,6 @@ text: control.Kirigami.MnemonicData.richTextLabel font: control.font opacity: enabled || control.highlighted || control.checked ? 1 : 0.4 - color: control.activeFocus && !control.down ? theme.highlightedTextColor : theme.buttonTextColor horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter elide: Text.ElideRight diff --git a/src/declarativeimports/plasmacomponents3/ToolButton.qml b/src/declarativeimports/plasmacomponents3/ToolButton.qml --- a/src/declarativeimports/plasmacomponents3/ToolButton.qml +++ b/src/declarativeimports/plasmacomponents3/ToolButton.qml @@ -32,6 +32,9 @@ contentItem.implicitWidth + leftPadding + rightPadding) implicitHeight: Math.max(background.implicitHeight, contentItem.implicitHeight + topPadding + bottomPadding) + icon.width: units.iconSizes.smallMedium + icon.height: units.iconSizes.smallMedium + leftPadding: surfaceNormal.margins.left topPadding: surfaceNormal.margins.top rightPadding: surfaceNormal.margins.right @@ -49,8 +52,12 @@ columns: control.display == T.AbstractButton.TextBesideIcon ? 2 : 1 PlasmaCore.IconItem { id: icon - Layout.fillWidth: true - Layout.fillHeight: true + + Layout.fillWidth: control.icon.width <= 0 + Layout.fillHeight: control.icon.height <= 0 + Layout.preferredWidth: control.icon.width > 0 ? control.icon.width : -1 + Layout.preferredHeight: control.icon.height > 0 ? control.icon.height : -1 + colorGroup: PlasmaCore.Theme.ButtonColorGroup visible: source.length > 0 source: control.icon ? (control.icon.name || control.icon.source) : ""