mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-18 18:25:57 +08:00
Rearrange and align time/material estimates
They look correct now but the log says there is a binding loop in here. We'll fix that next. Contributes to issue CURA-4149.
This commit is contained in:
parent
fb3a0b701c
commit
c4305c7b1e
@ -403,129 +403,118 @@ Rectangle
|
|||||||
|
|
||||||
Rectangle
|
Rectangle
|
||||||
{
|
{
|
||||||
id: specsRow
|
id: printSpecs
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.bottom
|
||||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||||
anchors.bottomMargin: UM.Theme.getSize("default_margin").height
|
anchors.bottomMargin: UM.Theme.getSize("default_margin").height
|
||||||
height: UM.Theme.getSize("jobspecs_line").height
|
|
||||||
|
|
||||||
UM.TooltipArea
|
Rectangle
|
||||||
{
|
{
|
||||||
id: timeSpecPerFeatureTooltipArea
|
id: timeSpecsRow
|
||||||
text: {
|
anchors.left: parent.left
|
||||||
var order = ["inset_0", "inset_x", "skin", "infill", "support_infill", "support_interface", "support", "travel", "retract", "none"];
|
anchors.bottom: filamentSpecsRow.top
|
||||||
var visible_names = {
|
|
||||||
"inset_0": catalog.i18nc("@tooltip", "Outer Wall"),
|
|
||||||
"inset_x": catalog.i18nc("@tooltip", "Inner Walls"),
|
|
||||||
"skin": catalog.i18nc("@tooltip", "Skin"),
|
|
||||||
"infill": catalog.i18nc("@tooltip", "Infill"),
|
|
||||||
"support_infill": catalog.i18nc("@tooltip", "Support Infill"),
|
|
||||||
"support_interface": catalog.i18nc("@tooltip", "Support Interface"),
|
|
||||||
"support": catalog.i18nc("@tooltip", "Support"),
|
|
||||||
"travel": catalog.i18nc("@tooltip", "Travel"),
|
|
||||||
"retract": catalog.i18nc("@tooltip", "Retractions"),
|
|
||||||
"none": catalog.i18nc("@tooltip", "Other")
|
|
||||||
};
|
|
||||||
var result = "";
|
|
||||||
for(var feature in order)
|
|
||||||
{
|
|
||||||
feature = order[feature];
|
|
||||||
if(base.printDurationPerFeature[feature] && base.printDurationPerFeature[feature].totalSeconds > 0)
|
|
||||||
{
|
|
||||||
result += "<br/>" + visible_names[feature] + ": " + base.printDurationPerFeature[feature].getDisplayString(UM.DurationFormat.Short);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
result = result.replace(/^\<br\/\>/, ""); // remove newline before first item
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
width: childrenRect.width
|
width: childrenRect.width
|
||||||
height: childrenRect.height
|
height: childrenRect.height
|
||||||
anchors.right: lengthIcon.left
|
|
||||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
|
||||||
|
|
||||||
UM.RecolorImage
|
UM.TooltipArea
|
||||||
{
|
{
|
||||||
id: timeIcon
|
id: timeSpecPerFeatureTooltipArea
|
||||||
|
width: childrenRect.width
|
||||||
|
height: childrenRect.height
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.top: parent.top
|
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
width: UM.Theme.getSize("save_button_specs_icons").width
|
|
||||||
height: UM.Theme.getSize("save_button_specs_icons").height
|
text: {
|
||||||
sourceSize.width: width
|
var order = ["inset_0", "inset_x", "skin", "infill", "support_infill", "support_interface", "support", "travel", "retract", "none"];
|
||||||
sourceSize.height: width
|
var visible_names = {
|
||||||
color: UM.Theme.getColor("text_subtext")
|
"inset_0": catalog.i18nc("@tooltip", "Outer Wall"),
|
||||||
source: UM.Theme.getIcon("print_time")
|
"inset_x": catalog.i18nc("@tooltip", "Inner Walls"),
|
||||||
|
"skin": catalog.i18nc("@tooltip", "Skin"),
|
||||||
|
"infill": catalog.i18nc("@tooltip", "Infill"),
|
||||||
|
"support_infill": catalog.i18nc("@tooltip", "Support Infill"),
|
||||||
|
"support_interface": catalog.i18nc("@tooltip", "Support Interface"),
|
||||||
|
"support": catalog.i18nc("@tooltip", "Support"),
|
||||||
|
"travel": catalog.i18nc("@tooltip", "Travel"),
|
||||||
|
"retract": catalog.i18nc("@tooltip", "Retractions"),
|
||||||
|
"none": catalog.i18nc("@tooltip", "Other")
|
||||||
|
};
|
||||||
|
var result = "";
|
||||||
|
for(var feature in order)
|
||||||
|
{
|
||||||
|
feature = order[feature];
|
||||||
|
if(base.printDurationPerFeature[feature] && base.printDurationPerFeature[feature].totalSeconds > 0)
|
||||||
|
{
|
||||||
|
result += "<br/>" + visible_names[feature] + ": " + base.printDurationPerFeature[feature].getDisplayString(UM.DurationFormat.Short);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
result = result.replace(/^\<br\/\>/, ""); // remove newline before first item
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
Text
|
||||||
|
{
|
||||||
|
id: timeSpec
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
font: UM.Theme.getFont("small")
|
||||||
|
color: UM.Theme.getColor("text_subtext")
|
||||||
|
text: (!base.printDuration || !base.printDuration.valid) ? catalog.i18nc("@label", "00h 00min") : base.printDuration.getDisplayString(UM.DurationFormat.Short)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
Rectangle
|
||||||
|
{
|
||||||
|
id: filamentSpecsRow
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
width: childrenRect.width
|
||||||
|
height: childrenRect.height
|
||||||
|
|
||||||
Text
|
Text
|
||||||
{
|
{
|
||||||
id: timeSpec
|
id: lengthSpec
|
||||||
anchors.left: timeIcon.right
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width / 2
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
anchors.top: parent.top
|
|
||||||
font: UM.Theme.getFont("small")
|
font: UM.Theme.getFont("small")
|
||||||
color: UM.Theme.getColor("text_subtext")
|
color: UM.Theme.getColor("text_subtext")
|
||||||
text: (!base.printDuration || !base.printDuration.valid) ? catalog.i18nc("@label", "00h 00min") : base.printDuration.getDisplayString(UM.DurationFormat.Short)
|
text:
|
||||||
}
|
{
|
||||||
}
|
var lengths = [];
|
||||||
UM.RecolorImage
|
var weights = [];
|
||||||
{
|
var costs = [];
|
||||||
id: lengthIcon
|
var someCostsKnown = false;
|
||||||
anchors.right: lengthSpec.left
|
if(base.printMaterialLengths) {
|
||||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width/2
|
for(var index = 0; index < base.printMaterialLengths.length; index++)
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
|
||||||
width: UM.Theme.getSize("save_button_specs_icons").width
|
|
||||||
height: UM.Theme.getSize("save_button_specs_icons").height
|
|
||||||
sourceSize.width: width
|
|
||||||
sourceSize.height: width
|
|
||||||
color: UM.Theme.getColor("text_subtext")
|
|
||||||
source: UM.Theme.getIcon("category_material")
|
|
||||||
}
|
|
||||||
Text
|
|
||||||
{
|
|
||||||
id: lengthSpec
|
|
||||||
anchors.right: parent.right
|
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
|
||||||
font: UM.Theme.getFont("small")
|
|
||||||
color: UM.Theme.getColor("text_subtext")
|
|
||||||
text:
|
|
||||||
{
|
|
||||||
var lengths = [];
|
|
||||||
var weights = [];
|
|
||||||
var costs = [];
|
|
||||||
var someCostsKnown = false;
|
|
||||||
if(base.printMaterialLengths) {
|
|
||||||
for(var index = 0; index < base.printMaterialLengths.length; index++)
|
|
||||||
{
|
|
||||||
if(base.printMaterialLengths[index] > 0)
|
|
||||||
{
|
{
|
||||||
lengths.push(base.printMaterialLengths[index].toFixed(2));
|
if(base.printMaterialLengths[index] > 0)
|
||||||
weights.push(String(Math.floor(base.printMaterialWeights[index])));
|
|
||||||
var cost = base.printMaterialCosts[index] == undefined ? 0 : base.printMaterialCosts[index].toFixed(2);
|
|
||||||
costs.push(cost);
|
|
||||||
if(cost > 0)
|
|
||||||
{
|
{
|
||||||
someCostsKnown = true;
|
lengths.push(base.printMaterialLengths[index].toFixed(2));
|
||||||
|
weights.push(String(Math.floor(base.printMaterialWeights[index])));
|
||||||
|
var cost = base.printMaterialCosts[index] == undefined ? 0 : base.printMaterialCosts[index].toFixed(2);
|
||||||
|
costs.push(cost);
|
||||||
|
if(cost > 0)
|
||||||
|
{
|
||||||
|
someCostsKnown = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
if(lengths.length == 0)
|
||||||
if(lengths.length == 0)
|
{
|
||||||
{
|
lengths = ["0.00"];
|
||||||
lengths = ["0.00"];
|
weights = ["0"];
|
||||||
weights = ["0"];
|
costs = ["0.00"];
|
||||||
costs = ["0.00"];
|
}
|
||||||
}
|
if(someCostsKnown)
|
||||||
if(someCostsKnown)
|
{
|
||||||
{
|
return catalog.i18nc("@label", "%1 m / ~ %2 g / ~ %4 %3").arg(lengths.join(" + "))
|
||||||
return catalog.i18nc("@label", "%1 m / ~ %2 g / ~ %4 %3").arg(lengths.join(" + "))
|
.arg(weights.join(" + ")).arg(costs.join(" + ")).arg(UM.Preferences.getValue("cura/currency"));
|
||||||
.arg(weights.join(" + ")).arg(costs.join(" + ")).arg(UM.Preferences.getValue("cura/currency"));
|
}
|
||||||
}
|
else
|
||||||
else
|
{
|
||||||
{
|
return catalog.i18nc("@label", "%1 m / ~ %2 g").arg(lengths.join(" + ")).arg(weights.join(" + "));
|
||||||
return catalog.i18nc("@label", "%1 m / ~ %2 g").arg(lengths.join(" + ")).arg(weights.join(" + "));
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user