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 @@ -46,8 +46,7 @@ PlasmaCore.IconItem { id: icon - Layout.fillWidth: control.icon.width <= 0 - Layout.fillHeight: control.icon.height <= 0 + Layout.alignment: Qt.AlignCenter Layout.preferredWidth: control.icon.width > 0 ? control.icon.width : units.iconSizes.small Layout.preferredHeight: control.icon.height > 0 ? control.icon.height : units.iconSizes.small @@ -72,7 +71,8 @@ background: Item { //retrocompatibility with old controls - implicitHeight: units.gridUnit * 1.6 + implicitWidth: Math.floor(units.gridUnit * 1.6) + Math.floor(units.gridUnit * 1.6) % 2 + implicitHeight: implicitWidth Private.ButtonShadow { anchors.fill: parent visible: (!control.flat || control.hovered) && (!control.pressed || !control.checked) 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 @@ -45,8 +45,7 @@ PlasmaCore.IconItem { id: icon - Layout.fillWidth: control.icon.width <= 0 - Layout.fillHeight: control.icon.height <= 0 + Layout.alignment: Qt.AlignCenter Layout.preferredWidth: control.icon.width > 0 ? control.icon.width : units.iconSizes.smallMedium Layout.preferredHeight: control.icon.height > 0 ? control.icon.height : units.iconSizes.smallMedium diff --git a/src/declarativeimports/plasmacomponents3/TextField.qml b/src/declarativeimports/plasmacomponents3/TextField.qml --- a/src/declarativeimports/plasmacomponents3/TextField.qml +++ b/src/declarativeimports/plasmacomponents3/TextField.qml @@ -32,7 +32,7 @@ implicitWidth: Math.max(units.gridUnit * 8, placeholderText ? placeholder.implicitWidth + leftPadding + rightPadding : 0) || contentWidth + leftPadding + rightPadding - implicitHeight: units.gridUnit * 1.6 + implicitHeight: Math.floor(units.gridUnit * 1.6) + Math.floor(units.gridUnit * 1.6) % 2 padding: 6 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 @@ -50,22 +50,16 @@ PlasmaCore.IconItem { id: icon - Layout.fillWidth: control.icon.width <= 0 - Layout.fillHeight: control.icon.height <= 0 + Layout.alignment: Qt.AlignCenter Layout.preferredWidth: control.icon.width > 0 ? control.icon.width : units.iconSizes.smallMedium Layout.preferredHeight: control.icon.height > 0 ? control.icon.height : units.iconSizes.smallMedium colorGroup: PlasmaCore.Theme.ButtonColorGroup visible: source.length > 0 source: control.icon ? (control.icon.name || control.icon.source) : "" status: control.activeFocus && !control.pressed && !control.checked ? PlasmaCore.Svg.Selected : PlasmaCore.Svg.Normal } - PlasmaCore.FrameSvgItem { - id: buttonsurfaceChecker - visible: false - imagePath: "widgets/button" - prefix: control.flat ? ["toolbutton-hover", "normal"] : "normal" - } + Label { Layout.fillWidth: true visible: text.length > 0 @@ -76,13 +70,20 @@ horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter elide: Text.ElideRight + + PlasmaCore.FrameSvgItem { + id: buttonsurfaceChecker + visible: false + imagePath: "widgets/button" + prefix: control.flat ? ["toolbutton-hover", "normal"] : "normal" + } } } background: Item { //retrocompatibility with old controls - implicitWidth: units.gridUnit * 1.6 - implicitHeight: units.gridUnit * 1.6 + implicitWidth: Math.floor(units.gridUnit * 1.6) + Math.floor(units.gridUnit * 1.6) % 2 + implicitHeight: implicitWidth Private.ButtonShadow { anchors.fill: parent visible: (!control.flat || control.hovered) && (!control.pressed || !control.checked)