mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-07-11 15:21:47 +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.
|
// Cura is released under the terms of the AGPLv3 or higher.
|
||||||
|
|
||||||
import QtQuick 2.2
|
import QtQuick 2.2
|
||||||
@ -23,12 +23,6 @@ Item {
|
|||||||
|
|
||||||
UM.I18nCatalog { id: catalog; name:"cura"}
|
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
|
height: childrenRect.height
|
||||||
|
|
||||||
Connections
|
Connections
|
||||||
@ -144,138 +138,4 @@ Item {
|
|||||||
color: UM.Theme.getColor("text_subtext")
|
color: UM.Theme.getColor("text_subtext")
|
||||||
text: CuraApplication.getSceneBoundingBoxString
|
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 bool activity: CuraApplication.platformActivity;
|
||||||
property int totalHeight: childrenRect.height + UM.Theme.getSize("default_margin").height
|
|
||||||
property string fileBaseName
|
property string fileBaseName
|
||||||
property string statusText:
|
property string statusText:
|
||||||
{
|
{
|
||||||
|
@ -18,7 +18,6 @@ Item {
|
|||||||
property var backend: CuraApplication.getBackend();
|
property var backend: CuraApplication.getBackend();
|
||||||
property bool activity: CuraApplication.platformActivity;
|
property bool activity: CuraApplication.platformActivity;
|
||||||
|
|
||||||
property int totalHeight: childrenRect.height + UM.Theme.getSize("default_margin").height
|
|
||||||
property string fileBaseName
|
property string fileBaseName
|
||||||
property string statusText:
|
property string statusText:
|
||||||
{
|
{
|
||||||
@ -52,7 +51,7 @@ Item {
|
|||||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||||
|
|
||||||
color: UM.Theme.getColor("text")
|
color: UM.Theme.getColor("text")
|
||||||
font: UM.Theme.getFont("large")
|
font: UM.Theme.getFont("default_bold")
|
||||||
text: statusText;
|
text: statusText;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,10 +21,16 @@ Rectangle
|
|||||||
property bool printerConnected: Cura.MachineManager.printerOutputDevices.length != 0
|
property bool printerConnected: Cura.MachineManager.printerOutputDevices.length != 0
|
||||||
property bool printerAcceptsCommands: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands
|
property bool printerAcceptsCommands: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands
|
||||||
property var connectedPrinter: Cura.MachineManager.printerOutputDevices.length >= 1 ? Cura.MachineManager.printerOutputDevices[0] : null
|
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 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")
|
color: UM.Theme.getColor("sidebar")
|
||||||
UM.I18nCatalog { id: catalog; name:"cura"}
|
UM.I18nCatalog { id: catalog; name:"cura"}
|
||||||
|
|
||||||
@ -394,8 +400,119 @@ Rectangle
|
|||||||
width: parent.width
|
width: parent.width
|
||||||
height: UM.Theme.getSize("sidebar_lining").height
|
height: UM.Theme.getSize("sidebar_lining").height
|
||||||
color: UM.Theme.getColor("sidebar_lining")
|
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
|
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.
|
// SaveButton and MonitorButton are actually the bottom footer panels.
|
||||||
@ -404,7 +521,8 @@ Rectangle
|
|||||||
{
|
{
|
||||||
id: saveButton
|
id: saveButton
|
||||||
implicitWidth: base.width
|
implicitWidth: base.width
|
||||||
implicitHeight: totalHeight
|
anchors.top: footerSeparator.bottom
|
||||||
|
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.bottom
|
||||||
visible: !monitoringPrint
|
visible: !monitoringPrint
|
||||||
}
|
}
|
||||||
@ -413,7 +531,8 @@ Rectangle
|
|||||||
{
|
{
|
||||||
id: monitorButton
|
id: monitorButton
|
||||||
implicitWidth: base.width
|
implicitWidth: base.width
|
||||||
implicitHeight: totalHeight
|
anchors.top: footerSeparator.bottom
|
||||||
|
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.bottom
|
||||||
visible: monitoringPrint
|
visible: monitoringPrint
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user