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 @@ -19,7 +19,7 @@ import QtQuick 2.6 import QtQuick.Layouts 1.2 -import QtQuick.Templates @QQC2_VERSION@ as T +import QtQuick.Templates 2.6 as T import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.kirigami 2.5 as Kirigami import "private" as Private @@ -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 @@ -62,6 +70,7 @@ horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter elide: Text.ElideRight + } }