From 69a95e37a5ec05ca63321abe8acf53283ea49350 Mon Sep 17 00:00:00 2001 From: 14bitVoid <14bitvoid@protonmail.com> Date: Fri, 5 May 2017 01:34:09 +0200 Subject: Show time estimates per feature in tooltip --- cura/PrintInformation.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'cura/PrintInformation.py') diff --git a/cura/PrintInformation.py b/cura/PrintInformation.py index cd1a194254..c6412e2f6f 100644 --- a/cura/PrintInformation.py +++ b/cura/PrintInformation.py @@ -52,6 +52,19 @@ class PrintInformation(QObject): super().__init__(parent) self._current_print_time = Duration(None, self) + self._print_times_per_feature = { + "none": Duration(None, self), + "inset_0": Duration(None, self), + "inset_x": Duration(None, self), + "skin": Duration(None, self), + "support": Duration(None, self), + "skirt": Duration(None, self), + "infill": Duration(None, self), + "support_infill": Duration(None, self), + "travel": Duration(None, self), + "retract": Duration(None, self), + "support_interface": Duration(None, self) + } self._material_lengths = [] self._material_weights = [] @@ -93,6 +106,10 @@ class PrintInformation(QObject): def currentPrintTime(self): return self._current_print_time + @pyqtProperty("QVariantMap", notify = currentPrintTimeChanged) + def printTimesPerFeature(self): + return self._print_times_per_feature + materialLengthsChanged = pyqtSignal() @pyqtProperty("QVariantList", notify = materialLengthsChanged) @@ -115,9 +132,11 @@ class PrintInformation(QObject): total_time = 0 for feature, time in time_per_feature.items(): if time != time: # Check for NaN. Engine can sometimes give us weird values. + self._print_times_per_feature[feature].setDuration(0) Logger.log("w", "Received NaN for print duration message") continue total_time += time + self._print_times_per_feature[feature].setDuration(time) self._current_print_time.setDuration(total_time) self.currentPrintTimeChanged.emit() -- cgit v1.2.3