job_status: Update percent complete on creating job_status panel
This commit is contained in:
parent
fe1721debd
commit
6fd25994d4
@ -214,8 +214,7 @@ class JobStatusPanel(ScreenPanel):
|
|||||||
|
|
||||||
def activate(self):
|
def activate(self):
|
||||||
_ = self.lang.gettext
|
_ = self.lang.gettext
|
||||||
self.progress = self._printer.get_stat('virtual_sdcard','progress')
|
self.progress = 0
|
||||||
self.update_progress()
|
|
||||||
self.enable_button("pause","cancel","resume")
|
self.enable_button("pause","cancel","resume")
|
||||||
|
|
||||||
state = "printing"
|
state = "printing"
|
||||||
@ -223,6 +222,7 @@ class JobStatusPanel(ScreenPanel):
|
|||||||
|
|
||||||
self.filename = self._printer.get_stat('print_stats','filename')
|
self.filename = self._printer.get_stat('print_stats','filename')
|
||||||
self.update_text("file", self._printer.get_stat('print_stats','filename'))
|
self.update_text("file", self._printer.get_stat('print_stats','filename'))
|
||||||
|
self.update_percent_complete()
|
||||||
self.update_file_metadata()
|
self.update_file_metadata()
|
||||||
|
|
||||||
ps = self._printer.get_stat("print_stats")
|
ps = self._printer.get_stat("print_stats")
|
||||||
@ -400,22 +400,10 @@ class JobStatusPanel(ScreenPanel):
|
|||||||
self.fan = int(round(data['fan']['speed'],2)*100)
|
self.fan = int(round(data['fan']['speed'],2)*100)
|
||||||
self.labels['fan'].set_text("%3d%%" % self.fan)
|
self.labels['fan'].set_text("%3d%%" % self.fan)
|
||||||
|
|
||||||
if "gcode_start_byte" in self.file_metadata:
|
|
||||||
progress = (max(vsd['file_position'] - self.file_metadata['gcode_start_byte'],0) /
|
|
||||||
(self.file_metadata['gcode_end_byte'] - self.file_metadata['gcode_start_byte']))
|
|
||||||
else:
|
|
||||||
progress = 0 if self._printer.get_stat('virtual_sdcard','progress') == 0 else (ps['print_duration']/
|
|
||||||
self._printer.get_stat('virtual_sdcard','progress') - ps['print_duration'])
|
|
||||||
progress = round(progress,2)
|
|
||||||
|
|
||||||
if self.state in ["cancelling","cancelled","complete","error"]:
|
if self.state in ["cancelling","cancelled","complete","error"]:
|
||||||
return
|
return
|
||||||
|
|
||||||
if progress != self.progress:
|
self.update_percent_complete()
|
||||||
self.progress = progress
|
|
||||||
self.labels['darea'].queue_draw()
|
|
||||||
self.update_progress()
|
|
||||||
|
|
||||||
self.update_text("duration", str(self._gtk.formatTimeString(ps['print_duration'])))
|
self.update_text("duration", str(self._gtk.formatTimeString(ps['print_duration'])))
|
||||||
|
|
||||||
timeleft_type = self._config.get_config()['main'].get('print_estimate_method','file')
|
timeleft_type = self._config.get_config()['main'].get('print_estimate_method','file')
|
||||||
@ -570,6 +558,23 @@ class JobStatusPanel(ScreenPanel):
|
|||||||
if label in self.labels and 'l' in self.labels[label]:
|
if label in self.labels and 'l' in self.labels[label]:
|
||||||
self.labels[label]['l'].set_text(text)
|
self.labels[label]['l'].set_text(text)
|
||||||
|
|
||||||
|
def update_percent_complete(self):
|
||||||
|
if self.state in ["cancelling","cancelled","complete","error"]:
|
||||||
|
return
|
||||||
|
|
||||||
|
if "gcode_start_byte" in self.file_metadata:
|
||||||
|
progress = (max(self._printer.get_stat('virtual_sdcard','file_position') -
|
||||||
|
self.file_metadata['gcode_start_byte'],0) / (self.file_metadata['gcode_end_byte'] -
|
||||||
|
self.file_metadata['gcode_start_byte']))
|
||||||
|
else:
|
||||||
|
progress = self._printer.get_stat('virtual_sdcard','progress')
|
||||||
|
progress = round(progress,2)
|
||||||
|
|
||||||
|
if progress != self.progress:
|
||||||
|
self.progress = progress
|
||||||
|
self.labels['darea'].queue_draw()
|
||||||
|
self.update_progress()
|
||||||
|
|
||||||
def update_text(self, label, text):
|
def update_text(self, label, text):
|
||||||
if label in self.labels:
|
if label in self.labels:
|
||||||
self.labels[label].set_text(text)
|
self.labels[label].set_text(text)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user