def on_window_key_press(self, window, event): log.debug('on_window_key_press: %s %s' % (window.get_title(), event)) # debug leaking memory if Gdk.keyval_name(event.keyval) == "F12": from pychess.System.debug import print_obj_referrers, print_muppy_sumary if event.get_state() & Gdk.ModifierType.SHIFT_MASK: print_muppy_sumary() else: print_obj_referrers() # Tabbing related shortcuts persp = perspective_manager.get_perspective("games") if not persp.getheadbook(): pagecount = 0 else: pagecount = persp.getheadbook().get_n_pages() if pagecount > 1: if event.get_state() & Gdk.ModifierType.CONTROL_MASK: page_num = persp.getheadbook().get_current_page() # Move selected if event.get_state() & Gdk.ModifierType.SHIFT_MASK: child = persp.getheadbook().get_nth_page(page_num) if event.keyval == Gdk.KEY_Page_Up: persp.getheadbook().reorder_child( child, (page_num - 1) % pagecount) return True elif event.keyval == Gdk.KEY_Page_Down: persp.getheadbook().reorder_child( child, (page_num + 1) % pagecount) return True # Change selected else: if event.keyval == Gdk.KEY_Page_Up: persp.getheadbook().set_current_page( (page_num - 1) % pagecount) return True elif event.keyval == Gdk.KEY_Page_Down: persp.getheadbook().set_current_page( (page_num + 1) % pagecount) return True gmwidg = persp.cur_gmwidg() if gmwidg is not None: # Let default handler work if typing inside entry widgets current_focused_widget = gamewidget.getWidgets( )["main_window"].get_focus() if current_focused_widget is not None and isinstance( current_focused_widget, Gtk.Entry): return False # Prevent moving in game while lesson not finished if gmwidg.gamemodel.lesson_game: return # Navigate on boardview with arrow keys if event.keyval in leftkeys: if event.get_state() & Gdk.ModifierType.CONTROL_MASK: gmwidg.board.view.backToMainLine() return True else: gmwidg.board.view.showPrev() return True elif event.keyval in rightkeys: gmwidg.board.view.showNext() return True elif event.keyval in upkeys: gmwidg.board.view.showPrev(step=2) return True elif event.keyval in downkeys: gmwidg.board.view.showNext(step=2) return True elif event.keyval in homekeys: gmwidg.board.view.showFirst() return True elif event.keyval in endkeys: gmwidg.board.view.showLast() return True if (not event.get_state() & Gdk.ModifierType.CONTROL_MASK) and \ (not event.get_state() & Gdk.ModifierType.MOD1_MASK) and \ (event.keyval != Gdk.KEY_Escape) and \ (event.keyval not in functionkeys): # Enter moves with keyboard board_control = gmwidg.board keyname = Gdk.keyval_name(event.keyval) board_control.key_pressed(keyname) print(board_control.keybuffer) return True return False
def on_window_key_press(window, event): log.debug('on_window_key_press: %s %s' % (window.get_title(), event)) # debug leaking memory if Gdk.keyval_name(event.keyval) == "F12": if event.get_state() & Gdk.ModifierType.SHIFT_MASK: print_muppy_sumary() else: print_obj_referrers() # Tabbing related shortcuts if not gamewidget.getheadbook(): pagecount = 0 else: pagecount = gamewidget.getheadbook().get_n_pages() if pagecount > 1: if event.get_state() & Gdk.ModifierType.CONTROL_MASK: page_num = gamewidget.getheadbook().get_current_page() # Move selected if event.get_state() & Gdk.ModifierType.SHIFT_MASK: child = gamewidget.getheadbook().get_nth_page(page_num) if event.keyval == Gdk.KEY_Page_Up: gamewidget.getheadbook().reorder_child( child, (page_num - 1) % pagecount) return True elif event.keyval == Gdk.KEY_Page_Down: gamewidget.getheadbook().reorder_child( child, (page_num + 1) % pagecount) return True # Change selected else: if event.keyval == Gdk.KEY_Page_Up: gamewidget.getheadbook().set_current_page( (page_num - 1) % pagecount) return True elif event.keyval == Gdk.KEY_Page_Down: gamewidget.getheadbook().set_current_page( (page_num + 1) % pagecount) return True gmwidg = gamewidget.cur_gmwidg() if gmwidg is not None: for panel in gmwidg.panels: focused = panel.get_focus_child() # Do nothing in chat panel if focused is not None and isinstance(focused, Gtk.Entry): return False # Navigate on boardview with arrow keys if event.keyval in leftkeys: if event.get_state() & Gdk.ModifierType.CONTROL_MASK: gmwidg.board.view.backToMainLine() return True else: gmwidg.board.view.showPrev() return True elif event.keyval in rightkeys: gmwidg.board.view.showNext() return True elif event.keyval in upkeys: gmwidg.board.view.showPrev(step=2) return True elif event.keyval in downkeys: gmwidg.board.view.showNext(step=2) return True elif event.keyval in homekeys: gmwidg.board.view.showFirst() return True elif event.keyval in endkeys: gmwidg.board.view.showLast() return True if (not event.get_state() & Gdk.ModifierType.CONTROL_MASK) and \ (not event.get_state() & Gdk.ModifierType.MOD1_MASK) and \ (event.keyval != Gdk.KEY_Escape) and \ (event.keyval not in functionkeys): # Enter moves with keyboard board_control = gmwidg.board keyname = Gdk.keyval_name(event.keyval) board_control.key_pressed(keyname) print(board_control.keybuffer) return True return False
def on_window_key_press(self, window, event): log.debug('on_window_key_press: %s %s' % (window.get_title(), event)) # debug leaking memory if Gdk.keyval_name(event.keyval) == "F12": from pychess.System.debug import print_obj_referrers, print_muppy_sumary if event.get_state() & Gdk.ModifierType.SHIFT_MASK: print_muppy_sumary() else: print_obj_referrers() # Tabbing related shortcuts persp = perspective_manager.get_perspective("games") if not persp.getheadbook(): pagecount = 0 else: pagecount = persp.getheadbook().get_n_pages() if pagecount > 1: if event.get_state() & Gdk.ModifierType.CONTROL_MASK: page_num = persp.getheadbook().get_current_page() # Move selected if event.get_state() & Gdk.ModifierType.SHIFT_MASK: child = persp.getheadbook().get_nth_page(page_num) if event.keyval == Gdk.KEY_Page_Up: persp.getheadbook().reorder_child(child, ( page_num - 1) % pagecount) return True elif event.keyval == Gdk.KEY_Page_Down: persp.getheadbook().reorder_child(child, ( page_num + 1) % pagecount) return True # Change selected else: if event.keyval == Gdk.KEY_Page_Up: persp.getheadbook().set_current_page( (page_num - 1) % pagecount) return True elif event.keyval == Gdk.KEY_Page_Down: persp.getheadbook().set_current_page( (page_num + 1) % pagecount) return True gmwidg = persp.cur_gmwidg() if gmwidg is not None: # Let default handler work if typing inside entry widgets current_focused_widget = gamewidget.getWidgets()["main_window"].get_focus() if current_focused_widget is not None and isinstance(current_focused_widget, Gtk.Entry): return False # Prevent moving in game while lesson not finished if gmwidg.gamemodel.lesson_game: return # Navigate on boardview with arrow keys if event.keyval in leftkeys: if event.get_state() & Gdk.ModifierType.CONTROL_MASK: gmwidg.board.view.backToMainLine() return True else: gmwidg.board.view.showPrev() return True elif event.keyval in rightkeys: gmwidg.board.view.showNext() return True elif event.keyval in upkeys: gmwidg.board.view.showPrev(step=2) return True elif event.keyval in downkeys: gmwidg.board.view.showNext(step=2) return True elif event.keyval in homekeys: gmwidg.board.view.showFirst() return True elif event.keyval in endkeys: gmwidg.board.view.showLast() return True if (not event.get_state() & Gdk.ModifierType.CONTROL_MASK) and \ (not event.get_state() & Gdk.ModifierType.MOD1_MASK) and \ (event.keyval != Gdk.KEY_Escape) and \ (event.keyval not in functionkeys): # Enter moves with keyboard board_control = gmwidg.board keyname = Gdk.keyval_name(event.keyval) board_control.key_pressed(keyname) print(board_control.keybuffer) return True return False
def on_window_key_press(window, event): log.debug('on_window_key_press: %s %s' % (window.get_title(), event)) # debug leaking memory if Gdk.keyval_name(event.keyval) == "F12": if event.get_state() & Gdk.ModifierType.SHIFT_MASK: print_muppy_sumary() else: print_obj_referrers() # Tabbing related shortcuts if not gamewidget.getheadbook(): pagecount = 0 else: pagecount = gamewidget.getheadbook().get_n_pages() if pagecount > 1: if event.get_state() & Gdk.ModifierType.CONTROL_MASK: page_num = gamewidget.getheadbook().get_current_page() # Move selected if event.get_state() & Gdk.ModifierType.SHIFT_MASK: child = gamewidget.getheadbook().get_nth_page(page_num) if event.keyval == Gdk.KEY_Page_Up: gamewidget.getheadbook().reorder_child(child, ( page_num - 1) % pagecount) return True elif event.keyval == Gdk.KEY_Page_Down: gamewidget.getheadbook().reorder_child(child, ( page_num + 1) % pagecount) return True # Change selected else: if event.keyval == Gdk.KEY_Page_Up: gamewidget.getheadbook().set_current_page( (page_num - 1) % pagecount) return True elif event.keyval == Gdk.KEY_Page_Down: gamewidget.getheadbook().set_current_page( (page_num + 1) % pagecount) return True gmwidg = gamewidget.cur_gmwidg() if gmwidg is not None: for panel in gmwidg.panels: focused = panel.get_focus_child() # Do nothing in chat panel if focused is not None and isinstance(focused, Gtk.Entry): return False # Navigate on boardview with arrow keys if event.keyval in leftkeys: if event.get_state() & Gdk.ModifierType.CONTROL_MASK: gmwidg.board.view.backToMainLine() return True else: gmwidg.board.view.showPrev() return True elif event.keyval in rightkeys: gmwidg.board.view.showNext() return True elif event.keyval in upkeys: gmwidg.board.view.showPrev(step=2) return True elif event.keyval in downkeys: gmwidg.board.view.showNext(step=2) return True elif event.keyval in homekeys: gmwidg.board.view.showFirst() return True elif event.keyval in endkeys: gmwidg.board.view.showLast() return True if (not event.get_state() & Gdk.ModifierType.CONTROL_MASK) and \ (not event.get_state() & Gdk.ModifierType.MOD1_MASK) and \ (event.keyval != Gdk.KEY_Escape) and \ (event.keyval not in functionkeys): # Enter moves with keyboard board_control = gmwidg.board keyname = Gdk.keyval_name(event.keyval) board_control.key_pressed(keyname) print(board_control.keybuffer) return True return False