mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-07-11 00:11:46 +08:00
Merge branch 'feature_move_printing_time'
This commit is contained in:
commit
160f21cdac
@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2015 Ultimaker B.V.
|
||||
// Copyright (c) 2017 Ultimaker B.V.
|
||||
// Cura is released under the terms of the AGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
@ -23,12 +23,6 @@ Item {
|
||||
|
||||
UM.I18nCatalog { id: catalog; name:"cura"}
|
||||
|
||||
property variant printDuration: PrintInformation.currentPrintTime
|
||||
property variant printDurationPerFeature: PrintInformation.printTimesPerFeature
|
||||
property variant printMaterialLengths: PrintInformation.materialLengths
|
||||
property variant printMaterialWeights: PrintInformation.materialWeights
|
||||
property variant printMaterialCosts: PrintInformation.materialCosts
|
||||
|
||||
height: childrenRect.height
|
||||
|
||||
Connections
|
||||
@ -144,138 +138,4 @@ Item {
|
||||
color: UM.Theme.getColor("text_subtext")
|
||||
text: CuraApplication.getSceneBoundingBoxString
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: specsRow
|
||||
anchors.top: boundingSpec.bottom
|
||||
anchors.right: parent.right
|
||||
height: UM.Theme.getSize("jobspecs_line").height
|
||||
|
||||
Item
|
||||
{
|
||||
width: parent.width
|
||||
height: parent.height
|
||||
|
||||
UM.TooltipArea
|
||||
{
|
||||
id: timeSpecPerFeatureTooltipArea
|
||||
text: {
|
||||
var order = ["inset_0", "inset_x", "skin", "infill", "support_infill", "support_interface", "support", "travel", "retract", "none"];
|
||||
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
|
||||
height: childrenRect.height
|
||||
anchors.right: lengthIcon.left
|
||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: timeIcon
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
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("print_time")
|
||||
}
|
||||
|
||||
Text
|
||||
{
|
||||
id: timeSpec
|
||||
anchors.left: timeIcon.right
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width / 2
|
||||
anchors.top: parent.top
|
||||
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)
|
||||
}
|
||||
}
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: lengthIcon
|
||||
anchors.right: lengthSpec.left
|
||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width/2
|
||||
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));
|
||||
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)
|
||||
{
|
||||
lengths = ["0.00"];
|
||||
weights = ["0"];
|
||||
costs = ["0.00"];
|
||||
}
|
||||
if(someCostsKnown)
|
||||
{
|
||||
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"));
|
||||
}
|
||||
else
|
||||
{
|
||||
return catalog.i18nc("@label", "%1 m / ~ %2 g").arg(lengths.join(" + ")).arg(weights.join(" + "));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -81,7 +81,6 @@ Item
|
||||
}
|
||||
|
||||
property bool activity: CuraApplication.platformActivity;
|
||||
property int totalHeight: childrenRect.height + UM.Theme.getSize("default_margin").height
|
||||
property string fileBaseName
|
||||
property string statusText:
|
||||
{
|
||||
|
@ -18,7 +18,6 @@ Item {
|
||||
property var backend: CuraApplication.getBackend();
|
||||
property bool activity: CuraApplication.platformActivity;
|
||||
|
||||
property int totalHeight: childrenRect.height + UM.Theme.getSize("default_margin").height
|
||||
property string fileBaseName
|
||||
property string statusText:
|
||||
{
|
||||
@ -52,7 +51,7 @@ Item {
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
|
||||
color: UM.Theme.getColor("text")
|
||||
font: UM.Theme.getFont("large")
|
||||
font: UM.Theme.getFont("default_bold")
|
||||
text: statusText;
|
||||
}
|
||||
|
||||
|
@ -21,10 +21,16 @@ Rectangle
|
||||
property bool printerConnected: Cura.MachineManager.printerOutputDevices.length != 0
|
||||
property bool printerAcceptsCommands: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands
|
||||
property var connectedPrinter: Cura.MachineManager.printerOutputDevices.length >= 1 ? Cura.MachineManager.printerOutputDevices[0] : null
|
||||
property int backendState: UM.Backend.state;
|
||||
property int backendState: UM.Backend.state
|
||||
|
||||
property bool monitoringPrint: false
|
||||
|
||||
property variant printDuration: PrintInformation.currentPrintTime
|
||||
property variant printDurationPerFeature: PrintInformation.printTimesPerFeature
|
||||
property variant printMaterialLengths: PrintInformation.materialLengths
|
||||
property variant printMaterialWeights: PrintInformation.materialWeights
|
||||
property variant printMaterialCosts: PrintInformation.materialCosts
|
||||
|
||||
color: UM.Theme.getColor("sidebar")
|
||||
UM.I18nCatalog { id: catalog; name:"cura"}
|
||||
|
||||
@ -394,8 +400,119 @@ Rectangle
|
||||
width: parent.width
|
||||
height: UM.Theme.getSize("sidebar_lining").height
|
||||
color: UM.Theme.getColor("sidebar_lining")
|
||||
anchors.bottom: saveButton.top
|
||||
anchors.bottom: printSpecs.top
|
||||
anchors.bottomMargin: UM.Theme.getSize("default_margin").height * 2 + UM.Theme.getSize("progressbar").height + UM.Theme.getFont("default_bold").pixelSize
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: printSpecs
|
||||
anchors.left: parent.left
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
anchors.bottomMargin: UM.Theme.getSize("default_margin").height
|
||||
height: childrenRect.height
|
||||
|
||||
UM.TooltipArea
|
||||
{
|
||||
id: timeSpecPerFeatureTooltipArea
|
||||
width: timeSpec.width
|
||||
height: timeSpec.height
|
||||
anchors.left: parent.left
|
||||
anchors.bottom: timeSpecDescription.top
|
||||
|
||||
text: {
|
||||
var order = ["inset_0", "inset_x", "skin", "infill", "support_infill", "support_interface", "support", "travel", "retract", "none"];
|
||||
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;
|
||||
}
|
||||
|
||||
Text
|
||||
{
|
||||
id: timeSpec
|
||||
anchors.left: parent.left
|
||||
anchors.bottom: parent.bottom
|
||||
font: UM.Theme.getFont("large")
|
||||
color: UM.Theme.getColor("text_subtext")
|
||||
text: (!base.printDuration || !base.printDuration.valid) ? catalog.i18nc("@label", "00h 00min") : base.printDuration.getDisplayString(UM.DurationFormat.Short)
|
||||
}
|
||||
}
|
||||
Text
|
||||
{
|
||||
id: timeSpecDescription
|
||||
anchors.left: parent.left
|
||||
anchors.bottom: lengthSpec.top
|
||||
font: UM.Theme.getFont("very_small")
|
||||
color: UM.Theme.getColor("text_subtext")
|
||||
text: catalog.i18nc("@description", "Print time")
|
||||
}
|
||||
Text
|
||||
{
|
||||
id: lengthSpec
|
||||
anchors.left: parent.left
|
||||
anchors.bottom: parent.bottom
|
||||
font: UM.Theme.getFont("very_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));
|
||||
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)
|
||||
{
|
||||
lengths = ["0.00"];
|
||||
weights = ["0"];
|
||||
costs = ["0.00"];
|
||||
}
|
||||
if(someCostsKnown)
|
||||
{
|
||||
return catalog.i18nc("@label", "%1m / ~ %2g / ~ %4 %3").arg(lengths.join(" + "))
|
||||
.arg(weights.join(" + ")).arg(costs.join(" + ")).arg(UM.Preferences.getValue("cura/currency"));
|
||||
}
|
||||
else
|
||||
{
|
||||
return catalog.i18nc("@label", "%1m / ~ %2g").arg(lengths.join(" + ")).arg(weights.join(" + "));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// SaveButton and MonitorButton are actually the bottom footer panels.
|
||||
@ -404,7 +521,8 @@ Rectangle
|
||||
{
|
||||
id: saveButton
|
||||
implicitWidth: base.width
|
||||
implicitHeight: totalHeight
|
||||
anchors.top: footerSeparator.bottom
|
||||
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||
anchors.bottom: parent.bottom
|
||||
visible: !monitoringPrint
|
||||
}
|
||||
@ -413,7 +531,8 @@ Rectangle
|
||||
{
|
||||
id: monitorButton
|
||||
implicitWidth: base.width
|
||||
implicitHeight: totalHeight
|
||||
anchors.top: footerSeparator.bottom
|
||||
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||
anchors.bottom: parent.bottom
|
||||
visible: monitoringPrint
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user