def handle_event(self, event):
""" Screensaver screen 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_UP] or event.keyboard_key == kbd_keys[KEY_DOWN]:
if self.top_menu_enabled:
index = self.saver_menu.get_selected_index()
self.top_menu_enabled = False
self.delay_menu.unselect()
s = len(self.delay_menu.delays)
if index > (s - 1):
index = s - 1
self.delay_menu.select_by_index(index)
else:
index = self.delay_menu.get_selected_index()
self.top_menu_enabled = True
self.saver_menu.unselect()
s = len(self.delay_menu.delays)
if index == (s - 1):
index = len(self.saver_menu.savers) - 1
self.saver_menu.select_by_index(index)
elif event.keyboard_key == kbd_keys[KEY_HOME]:
self.home_button.handle_event(event)
elif event.keyboard_key == kbd_keys[KEY_PLAY_PAUSE]:
self.player_button.handle_event(event)
else:
if self.top_menu_enabled:
self.saver_menu.handle_event(event)
else:
self.delay_menu.handle_event(event)
else:
Container.handle_event(self, event)
评论列表
文章目录