def mouse_event(self, size, event, button, col, row, focus): if event == "mouse press" and (button == 3 or button == 11): actions = { # left button 3: self.walker.toggle_select, # double click (right) 11: self.walker.goto, } # select item under the mouse offset, inset = self.get_focus_offset_inset(size) self.move_focus(size, row - offset) actions[button]() else: ScrollableList.mouse_event(self, size, event, button, col, row, focus)
def mouse_event(self, size, event, button, col, row, focus): if event == 'mouse press' and button == 3 or button == 11: actions = { # left button 3: lambda node: node.toggle_exp(), # double click (right) 11: lambda node: node.add_to_playlist(), } # select item under the mouse offset, inset = self.get_focus_offset_inset(size) self.move_focus(size, row - offset) node = self.walker.focus_node() if node: actions[button](node) else: ScrollableList.mouse_event(self, size, event, button, col, row, focus)