keyboard shortcuts escape and backspace to return

This commit is contained in:
alfrix 2022-11-22 00:05:45 -03:00
parent 880f7628e4
commit b415eca1c8
5 changed files with 13 additions and 11 deletions

View File

@ -67,12 +67,6 @@ class ScreenPanel:
def menu_item_clicked(self, widget, panel, item):
self._screen.show_panel(panel, item['panel'], item['name'], 1, False)
def menu_return(self, widget, home=False):
if home is False:
self._screen._menu_go_back()
return
self._screen._menu_go_home()
def set_title(self, title):
self.title = title

View File

@ -32,7 +32,7 @@ class BasePanel(ScreenPanel):
self.control['back'] = self._gtk.ButtonImage('back', scale=scale)
self.control['back'].connect("clicked", self.back)
self.control['home'] = self._gtk.ButtonImage('main', scale=scale)
self.control['home'].connect("clicked", self.menu_return, True)
self.control['home'].connect("clicked", self._screen._menu_go_home)
if len(self._config.get_printers()) > 1:
self.control['printer_select'] = self._gtk.ButtonImage('shuffle', scale=scale)
@ -203,7 +203,7 @@ class BasePanel(ScreenPanel):
self.set_title(panel.get_title())
self.content.add(panel.get_content())
def back(self, widget):
def back(self, widget=None):
if self.current_panel is None:
return

View File

@ -116,7 +116,7 @@ class ExcludeObjectPanel(ScreenPanel):
self.object_list.remove(self.buttons[name])
self.update_graph()
if len(self.excluded_objects) == len(self.objects):
self.menu_return(False)
self._screen._menu_go_back()
elif action == "notify_gcode_response" and "Excluding object" in data:
self._screen.show_popup_message(data, level=1)
self.update_graph()

View File

@ -267,7 +267,7 @@ class ZCalibratePanel(ScreenPanel):
logging.info("Aborting calibration")
self._screen._ws.klippy.gcode_script(KlippyGcodes.ABORT)
self.buttons_not_calibrating()
self.menu_return(widget)
self._screen._menu_go_back()
def accept(self, widget):
logging.info("Accepting Z position")

View File

@ -100,6 +100,7 @@ class KlipperScreen(Gtk.Window):
self.lang_ltr = set_text_direction(self._config.get_main_config().get("language", None))
Gtk.Window.__init__(self)
self.connect("key-press-event", self._key_press_event)
self.set_title("KlipperScreen")
monitor = Gdk.Display.get_default().get_primary_monitor()
self.width = self._config.get_main_config().getint("width", monitor.get_geometry().width)
@ -511,7 +512,7 @@ class KlipperScreen(Gtk.Window):
self.close_popup_message()
self._remove_current_panel()
def _menu_go_home(self):
def _menu_go_home(self, widget=None):
logging.info("#### Menu go home")
self.remove_keyboard()
self.close_popup_message()
@ -957,6 +958,13 @@ class KlipperScreen(Gtk.Window):
self.base_panel.get_content().remove(self.keyboard['box'])
self.keyboard = None
def _key_press_event(self, widget, event):
keyval_name = Gdk.keyval_name(event.keyval)
if keyval_name == "Escape":
self._menu_go_home()
elif keyval_name == "BackSpace" and len(self._cur_panels) > 1:
self.base_panel.back()
def main():
version = functions.get_software_version()