forked from CreatBot/CreatBotKlipperScreen
job_status: simplify timeouts because sometimes it didn't work, also do not autoclose by default because there may be offsets to be saved
This commit is contained in:
@@ -20,11 +20,11 @@ invert_x: False
|
|||||||
invert_y: False
|
invert_y: False
|
||||||
invert_z: False
|
invert_z: False
|
||||||
|
|
||||||
# Time (seconds) before the Job Status page reverts to main menu after a successful job
|
# Time in seconds before the Job Status page closes itself after a successful job/print
|
||||||
job_complete_timeout: 30
|
# 0 means disabled
|
||||||
|
job_complete_timeout: 0
|
||||||
|
|
||||||
# Time (seconds) before the Job Status page reverts to main menu after a successful job.
|
# Time in seconds before the Job Status closes itself if an error is encountered
|
||||||
# If this option is 0, the user must click on a button to go back to the main menu.
|
|
||||||
job_error_timeout: 0
|
job_error_timeout: 0
|
||||||
|
|
||||||
# Specify the language
|
# Specify the language
|
||||||
|
@@ -16,13 +16,13 @@ def create_panel(*args):
|
|||||||
|
|
||||||
class JobStatusPanel(ScreenPanel):
|
class JobStatusPanel(ScreenPanel):
|
||||||
is_paused = False
|
is_paused = False
|
||||||
filename = state_timeout = prev_pos = prev_gpos = vel_timeout = animation_timeout = None
|
filename = state_timeout = prev_pos = prev_gpos = vel_timeout = animation_timeout = close_timeout = None
|
||||||
file_metadata = labels = {}
|
file_metadata = labels = {}
|
||||||
state = "standby"
|
state = "standby"
|
||||||
timeleft_type = "auto"
|
timeleft_type = "auto"
|
||||||
progress = zoffset = flowrate = vel = 0
|
progress = zoffset = flowrate = vel = 0
|
||||||
main_status_displayed = True
|
main_status_displayed = True
|
||||||
close_timeouts = velstore = flowstore = []
|
velstore = flowstore = []
|
||||||
|
|
||||||
def __init__(self, screen, title, back=False):
|
def __init__(self, screen, title, back=False):
|
||||||
super().__init__(screen, title, False)
|
super().__init__(screen, title, False)
|
||||||
@@ -490,9 +490,9 @@ class JobStatusPanel(ScreenPanel):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
def remove_close_timeout(self):
|
def remove_close_timeout(self):
|
||||||
for to in self.close_timeouts:
|
if self.close_timeout is not None:
|
||||||
GLib.source_remove(to)
|
GLib.source_remove(self.close_timeout)
|
||||||
self.close_timeouts.remove(to)
|
self.close_timeout = None
|
||||||
|
|
||||||
def enable_button(self, *args):
|
def enable_button(self, *args):
|
||||||
for arg in args:
|
for arg in args:
|
||||||
@@ -750,9 +750,9 @@ class JobStatusPanel(ScreenPanel):
|
|||||||
self.set_state("complete")
|
self.set_state("complete")
|
||||||
self._screen.wake_screen()
|
self._screen.wake_screen()
|
||||||
self.remove_close_timeout()
|
self.remove_close_timeout()
|
||||||
timeout = self._config.get_main_config().getint("job_complete_timeout", 30)
|
timeout = self._config.get_main_config().getint("job_complete_timeout", 0)
|
||||||
if timeout != 0:
|
if timeout != 0:
|
||||||
self.close_timeouts.append(GLib.timeout_add_seconds(timeout, self.close_panel))
|
self.close_timeout = GLib.timeout_add_seconds(timeout, self.close_panel)
|
||||||
return False
|
return False
|
||||||
elif ps['state'] == "error":
|
elif ps['state'] == "error":
|
||||||
logging.debug("Error!")
|
logging.debug("Error!")
|
||||||
@@ -763,7 +763,7 @@ class JobStatusPanel(ScreenPanel):
|
|||||||
self.remove_close_timeout()
|
self.remove_close_timeout()
|
||||||
timeout = self._config.get_main_config().getint("job_error_timeout", 0)
|
timeout = self._config.get_main_config().getint("job_error_timeout", 0)
|
||||||
if timeout != 0:
|
if timeout != 0:
|
||||||
self.close_timeouts.append(GLib.timeout_add_seconds(timeout, self.close_panel))
|
self.close_timeout = GLib.timeout_add_seconds(timeout, self.close_panel)
|
||||||
return False
|
return False
|
||||||
elif ps['state'] == "cancelled":
|
elif ps['state'] == "cancelled":
|
||||||
# Print was cancelled
|
# Print was cancelled
|
||||||
@@ -772,7 +772,7 @@ class JobStatusPanel(ScreenPanel):
|
|||||||
self.remove_close_timeout()
|
self.remove_close_timeout()
|
||||||
timeout = self._config.get_main_config().getint("job_cancelled_timeout", 0)
|
timeout = self._config.get_main_config().getint("job_cancelled_timeout", 0)
|
||||||
if timeout != 0:
|
if timeout != 0:
|
||||||
self.close_timeouts.append(GLib.timeout_add_seconds(timeout, self.close_panel))
|
self.close_timeout = GLib.timeout_add_seconds(timeout, self.close_panel)
|
||||||
return False
|
return False
|
||||||
elif ps['state'] == "paused":
|
elif ps['state'] == "paused":
|
||||||
self.set_state("paused")
|
self.set_state("paused")
|
||||||
|
Reference in New Issue
Block a user