From 298b5a302536635b6a6cd85a941d7e1ba912831a Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Tue, 21 Apr 2015 17:21:15 +0200 Subject: [PATCH] Use the PrintInformation object for displaying the print duration in the Save button --- qml/SaveButton.qml | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/qml/SaveButton.qml b/qml/SaveButton.qml index d6912e53a4..263051db0d 100644 --- a/qml/SaveButton.qml +++ b/qml/SaveButton.qml @@ -19,9 +19,8 @@ Button { property bool defaultOverride: false; property bool defaultAmbiguous: false; - property real printDurationHours: Math.floor(Printer.printDuration / 3600); - property real printDurationMinutes: Math.round(((Printer.printDuration / 3600) - printDurationHours) * 60); - property real printMaterialAmount: Printer.printMaterialAmount < 0 ? -1 : Math.round(Printer.printMaterialAmount / 10) / 100; + property variant printDuration: PrintInformation.currentPrintTime; + property real printMaterialAmount: PrintInformation.materialAmount < 0 ? -1 : PrintInformation.materialAmount; iconSource: UM.Theme.icons[Printer.outputDevices[base.currentDevice].icon]; tooltip: Printer.outputDevices[base.currentDevice].description; @@ -138,23 +137,31 @@ Button { font: UM.Theme.fonts.default; text: { - if(control.printDurationHours < 0 || control.printDurationMinutes < 0) + if(!control.printDuration) { return ""; } - if(control.printDurationHours > 1) + var days = "" + var day_count = control.printDuration.getDate() - 1; + if(day_count > 0) { - return qsTr("%1 hours %2 minutes").arg(control.printDurationHours).arg(control.printDurationMinutes); + days = Qt.formatDateTime(control.printDuration, qsTr("d 'day(s)'", "", day_count)); } - else if(control.printDurationHours > 0) + + var hours = "" + if(control.printDuration.getHours() > 0) { - return qsTr("1 hour %1 minutes").arg(control.printDurationMinutes); + hours = Qt.formatDateTime(control.printDuration, qsTr("h 'hour(s)'", "", control.printDuration.getHours())); } - else + + var minutes = "" + if(control.printDuration.getMinutes() > 0) { - return qsTr("%2 minutes").arg(control.printDurationMinutes); + minutes = Qt.formatDateTime(control.printDuration, qsTr("m 'minute(s)'", "", control.printDuration.getMinutes())); } + + return [days, hours, minutes].join(" "); } } Label {