Fix long material names overlapping with extruder icons

Both the `preferredWidth` AND the `width` need to be set for the labels to be properly elided if there is no more room  in the ColumnLayout. In addition, the ColumnLayout that contains the variants and material names needs to be visible only if width>0, otherwise when the width is negative, for some reason the `materialTypeLabel` appears again.

CURA-8496
This commit is contained in:
Konstantinos Karmas 2021-08-20 09:49:21 +02:00
parent ae3362f716
commit 0bcea3f4cd

View file

@ -48,6 +48,7 @@ Cura.ExpandablePopup
delegate: Item
{
Layout.preferredWidth: Math.round(parent.width / extrudersModel.count)
Layout.maximumWidth: Math.round(parent.width / extrudersModel.count)
Layout.fillHeight: true
// Extruder icon. Shows extruder index and has the same color as the active material.
@ -63,6 +64,7 @@ Cura.ExpandablePopup
{
opacity: model.enabled ? 1 : UM.Theme.getColor("extruder_disabled").a
spacing: 0
visible: width > 0
anchors
{
left: extruderIcon.right
@ -81,6 +83,7 @@ Cura.ExpandablePopup
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("text")
renderType: Text.NativeRendering
Layout.preferredWidth: parent.width
width: parent.width
visible: !truncated
@ -95,6 +98,7 @@ Cura.ExpandablePopup
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("text")
renderType: Text.NativeRendering
Layout.preferredWidth: parent.width
width: parent.width
visible: !materialBrandColorTypeLabel.visible && !truncated
@ -109,6 +113,7 @@ Cura.ExpandablePopup
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("text")
renderType: Text.NativeRendering
Layout.preferredWidth: parent.width
width: parent.width
visible: !materialBrandColorTypeLabel.visible && !materialColorTypeLabel.visible
}
@ -124,6 +129,7 @@ Cura.ExpandablePopup
font: UM.Theme.getFont("default_bold")
color: UM.Theme.getColor("text")
renderType: Text.NativeRendering
Layout.preferredWidth: parent.width
width: parent.width
}
}