diff --git a/ks_includes/config.py b/ks_includes/config.py index a0997542..99dc6864 100644 --- a/ks_includes/config.py +++ b/ks_includes/config.py @@ -141,6 +141,8 @@ class KlipperScreenConfig: {"name": _("Small"), "value": "small"}, {"name": _("Medium") + " " + _("(default)"), "value": "medium"}, {"name": _("Large"), "value": "large"}]}}, + {"confirm_estop": {"section": "main", "name": "Confirm Emergency Stop", "type": "binary", + "value": "False"}}, # {"": {"section": "main", "name": _(""), "type": ""}} ] diff --git a/ks_includes/screen_panel.py b/ks_includes/screen_panel.py index 112072ca..dc796a50 100644 --- a/ks_includes/screen_panel.py +++ b/ks_includes/screen_panel.py @@ -32,7 +32,13 @@ class ScreenPanel: return def emergency_stop(self, widget): - self._screen._ws.klippy.emergency_stop() + _ = self.lang.gettext + + if self._config.get_main_config_option('confirm_estop') == "True": + self._screen._confirm_send_action(widget, _("Are you sure you want to run Emergency Stop?"), + "printer.emergency_stop") + else: + self._screen._ws.klippy.emergency_stop() def get(self): return self.layout