def handle_event(self, event):
""" File menu event handler
:param event: event to handle
"""
if not self.visible: return
if event.type == USER_EVENT_TYPE and event.sub_type == SUB_TYPE_KEYBOARD and event.action == pygame.KEYUP:
if event.keyboard_key == kbd_keys[KEY_LEFT]:
if (self.filelist.current_item_index_in_page == 0 and self.filelist.current_item_index != 0) or self.filelist.current_item_index == 0:
if self.filelist.length <= self.filelist.items_per_page:
self.select_item_on_page(self.filelist.length - 1)
else:
self.turn_page_left()
else:
self.select_item_on_page(self.filelist.current_item_index - 1)
elif event.keyboard_key == kbd_keys[KEY_RIGHT]:
if self.filelist.current_item_index == self.filelist.length - 1 or self.filelist.current_item_index_in_page == self.filelist.items_per_page - 1:
if self.filelist.length <= self.filelist.items_per_page:
self.select_item_on_page(0)
else:
self.turn_page_right()
else:
self.select_item_on_page(self.filelist.current_item_index + 1)
elif event.keyboard_key == kbd_keys[KEY_UP] or event.keyboard_key == kbd_keys[KEY_DOWN]:
Menu.handle_event(self, event)
self.filelist.set_current_item(self.selected_index)
self.notify_menu_navigation_listeners(self.empty_state)
elif event.keyboard_key == kbd_keys[KEY_SELECT]:
Menu.handle_event(self, event)
else:
Menu.handle_event(self, event)
评论列表
文章目录