PC3 TabButton: Center align text without icon, use icon property

This commit is contained in:
Noah Davis 2021-05-17 16:34:37 -04:00
parent 1eb845767d
commit 23105b27bc

View File

@ -34,12 +34,15 @@ T.TabButton {
onActivated: control.clicked() onActivated: control.clicked()
} }
icon.width: PlasmaCore.Units.iconSizes.smallMedium
icon.height: PlasmaCore.Units.iconSizes.smallMedium
contentItem: GridLayout { contentItem: GridLayout {
columns: control.display == T.AbstractButton.TextBesideIcon ? 2 : 1 columns: control.display == T.AbstractButton.TextBesideIcon ? 2 : 1
PlasmaCore.IconItem { PlasmaCore.IconItem {
id: icon id: icon
Layout.alignment: control.display != T.AbstractButton.TextBesideIcon ? Qt.AlignCenter : Qt.AlignVCenter | Qt.AlignRight Layout.alignment: control.display != T.AbstractButton.TextBesideIcon || !label.visible ? Qt.AlignCenter : Qt.AlignVCenter | Qt.AlignRight
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
@ -50,8 +53,8 @@ T.TabButton {
Layout.maximumWidth: control.icon.width > 0 ? control.icon.width : Number.POSITIVE_INFINITY Layout.maximumWidth: control.icon.width > 0 ? control.icon.width : Number.POSITIVE_INFINITY
Layout.maximumHeight: control.icon.height > 0 ? control.icon.height : Number.POSITIVE_INFINITY Layout.maximumHeight: control.icon.height > 0 ? control.icon.height : Number.POSITIVE_INFINITY
implicitWidth: control.icon.width > 0 ? control.icon.width : PlasmaCore.Units.iconSizes.smallMedium implicitWidth: control.icon.width
implicitHeight: control.icon.height > 0 ? control.icon.height : PlasmaCore.Units.iconSizes.smallMedium implicitHeight: control.icon.height
colorGroup: control.PlasmaCore.ColorScope.colorGroup colorGroup: control.PlasmaCore.ColorScope.colorGroup
visible: source.length > 0 && control.display !== T.AbstractButton.TextOnly visible: source.length > 0 && control.display !== T.AbstractButton.TextOnly
@ -63,12 +66,13 @@ T.TabButton {
Layout.fillWidth: true Layout.fillWidth: true
// allow it to shrink below implicitWidth, but not exceed implicitWidth // allow it to shrink below implicitWidth, but not exceed implicitWidth
Layout.maximumWidth: Math.ceil(implicitWidth) Layout.maximumWidth: Math.ceil(implicitWidth)
Layout.alignment: horizontalAlignment | verticalAlignment
visible: text.length > 0 && control.display !== T.AbstractButton.IconOnly visible: text.length > 0 && control.display !== T.AbstractButton.IconOnly
text: control.Kirigami.MnemonicData.richTextLabel text: control.Kirigami.MnemonicData.richTextLabel
font: control.font font: control.font
color: control.visualFocus ? PlasmaCore.ColorScope.highlightColor : PlasmaCore.ColorScope.textColor color: control.visualFocus ? PlasmaCore.ColorScope.highlightColor : PlasmaCore.ColorScope.textColor
opacity: enabled || control.highlighted || control.checked ? 1 : 0.4 opacity: enabled || control.highlighted || control.checked ? 1 : 0.4
horizontalAlignment: control.display != T.AbstractButton.TextBesideIcon || icon.source.length === 0 ? Text.AlignHCenter : Text.AlignLeft horizontalAlignment: control.display != T.AbstractButton.TextBesideIcon || !icon.visible ? Text.AlignHCenter : Text.AlignLeft
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
elide: Text.ElideRight elide: Text.ElideRight
} }