Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 19 additions & 17 deletions BlocksScreen/lib/panels/widgets/jobStatusPage.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ class JobStatusWidget(QtWidgets.QWidget):
file_metadata: dict | None = None
total_layers = "?"
_print_duration: float = 0.0
_VALID_STATES: typing.ClassVar[frozenset[str]] = frozenset({"printing", "paused"})
_VALID_STATES: typing.ClassVar[frozenset[str]] = frozenset({"printing"})
_INVALID_STATES: typing.ClassVar[frozenset[str]] = frozenset(
{"cancelled", "complete", "error", "standby"}
)
Expand Down Expand Up @@ -186,7 +186,6 @@ def on_print_start(self, file: str) -> None:
self.print_time_display_button.setText("?")
self.printing_progress_bar.reset()
self._print_duration = 0.0
self._internal_print_status = "printing"
self.request_file_info.emit(file)
self.print_start.emit(file)
self._post_event(events.PrintStart(self._current_file_name, self.file_metadata))
Expand Down Expand Up @@ -221,22 +220,25 @@ def _handle_print_state(self, state: str) -> None:
event_state = lstate
is_valid = lstate in self._VALID_STATES
is_invalid = lstate in self._INVALID_STATES

if lstate == "paused":
self.pause_printing_btn.setEnabled(True)
self.pause_printing_btn.setText("Resume")
self.pause_printing_btn.setPixmap(
QtGui.QPixmap(":/ui/media/btn_icons/play.svg")
)
event_state = "pause"
elif lstate == "printing":
self.pause_printing_btn.setEnabled(True)
self.pause_printing_btn.setText("Pause")
self.pause_printing_btn.setPixmap(
QtGui.QPixmap(":/ui/media/btn_icons/pause.svg")
)
event_state = "start"

self._internal_print_status = lstate

if is_valid:
self._internal_print_status = lstate
if lstate == "paused":
self.pause_printing_btn.setEnabled(True)
self.pause_printing_btn.setText("Resume")
self.pause_printing_btn.setPixmap(
QtGui.QPixmap(":/ui/media/btn_icons/play.svg")
)
event_state = "pause"
elif lstate == "printing":
self.pause_printing_btn.setEnabled(True)
self.pause_printing_btn.setText("Pause")
self.pause_printing_btn.setPixmap(
QtGui.QPixmap(":/ui/media/btn_icons/pause.svg")
)
event_state = "start"
self.request_query_print_stats.emit({"print_stats": ["filename"]})
self.call_cancel_panel.emit(False)
self.show_request.emit()
Expand Down
10 changes: 3 additions & 7 deletions tests/widgets/test_job_status_page_unit.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,6 @@ def test_resets_print_duration(self, widget):
widget.on_print_start("test.gcode")
assert widget._print_duration == 0.0

def test_sets_status_to_printing(self, widget):
widget.on_print_start("test.gcode")
assert widget._internal_print_status == "printing"

def test_emits_print_start_signal(self, widget, qtbot):
with qtbot.waitSignal(widget.print_start, timeout=500) as sig:
widget.on_print_start("my_file.gcode")
Expand All @@ -98,9 +94,9 @@ def test_printing_emits_show_request(self, widget, qtbot):
with qtbot.waitSignal(widget.show_request, timeout=500):
widget._handle_print_state("printing")

def test_paused_emits_show_request(self, widget, qtbot):
with qtbot.waitSignal(widget.show_request, timeout=500):
widget._handle_print_state("paused")
#def test_paused_emits_show_request(self, widget, qtbot):
# with qtbot.waitSignal(widget.show_request, timeout=500):
# widget._handle_print_state("paused")

def test_complete_emits_print_finish(self, widget, qtbot):
with qtbot.waitSignal(widget.print_finish, timeout=500):
Expand Down
Loading