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 @@ -43,15 +43,23 @@ Kirigami.MnemonicData.label: control.text contentItem: RowLayout { - PlasmaCore.IconItem { - id: icon - Layout.fillWidth: true + Item { + Layout.preferredWidth: Kirigami.Units.iconSizes.smallMedium + Kirigami.Units.largeSpacing + Layout.fillWidth: !label.visible Layout.fillHeight: true - colorGroup: PlasmaCore.Theme.ButtonColorGroup - visible: source.length > 0 - source: control.icon ? (control.icon.name || control.icon.source) : "" + visible: icon.source.length > 0 + PlasmaCore.IconItem { + id: icon + anchors.centerIn: parent + visible: parent.visible + height: Kirigami.Units.iconSizes.smallMedium + width: Kirigami.Units.iconSizes.smallMedium + colorGroup: PlasmaCore.Theme.ButtonColorGroup + source: control.icon ? (control.icon.name || control.icon.source) : "" + } } Label { + id: label Layout.fillWidth: !icon.visible Layout.fillHeight: true visible: text.length > 0