diff --git a/BlocksScreen/lib/panels/widgets/jobStatusPage.py b/BlocksScreen/lib/panels/widgets/jobStatusPage.py index 69b927ee..2ec74d17 100644 --- a/BlocksScreen/lib/panels/widgets/jobStatusPage.py +++ b/BlocksScreen/lib/panels/widgets/jobStatusPage.py @@ -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"} ) @@ -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)) @@ -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() diff --git a/tests/widgets/test_job_status_page_unit.py b/tests/widgets/test_job_status_page_unit.py index cd5997c5..4227c232 100644 --- a/tests/widgets/test_job_status_page_unit.py +++ b/tests/widgets/test_job_status_page_unit.py @@ -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") @@ -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):