def turn_page(self, state=None): """ Turn screen page :param state: button state """ filelist = Page(self.episodes, MENU_ROWS_EPISODES, MENU_COLUMNS_EPISODES) if state == None: filelist.current_page_index = self.current_page - 1 index = filelist.current_page_index * PAGE_SIZE_EPISODES else: if getattr(state, "status", None) == STATUS_LOADED: if hasattr(state, "original_url") and len(state.original_url.strip()) > 0: filelist.set_current_item_by_url(state.original_url) else: filelist.set_current_item_by_file_name(state.file_name) else: filelist.set_current_item_by_url(state.url) index = filelist.current_item_index self.current_page = filelist.current_page_index + 1 page = filelist.get_current_page() d = self.episodes_menu.make_dict(page) self.episodes_menu.set_items(d, filelist.current_page_index, self.select_episode, False) self.set_title(self.current_page) self.episodes_menu.unselect() self.episodes_menu.select_by_index(index) self.navigator.left_button.change_label(str(filelist.get_left_items_number())) self.navigator.right_button.change_label(str(filelist.get_right_items_number())) self.episodes_menu.clean_draw_update() if hasattr(self, "update_observer"): self.episodes_menu.add_menu_observers(self.update_observer, self.redraw_observer)
def turn_page(self, state=None): """ Turn screen page :param state: button state """ filelist = Page(self.episodes, MENU_ROWS_EPISODES, MENU_COLUMNS_EPISODES) if state == None: pass filelist.current_page_index = self.current_page - 1 index = -1 else: if getattr(state, "status", None) == STATUS_LOADED: if hasattr(state, "original_url") and len(state.original_url.strip()) > 0: filelist.set_current_item_by_url(state.original_url) else: filelist.set_current_item_by_file_name(state.file_name) else: filelist.set_current_item_by_url(state.url) index = filelist.current_item_index self.current_item = self.config[PODCASTS][PODCAST_EPISODE_NAME] self.current_page = filelist.current_page_index + 1 page = filelist.get_current_page() d = self.episodes_menu.make_dict(page) self.episodes_menu.set_items(d, filelist.current_page_index, self.select_episode, False) self.set_title(self.current_page) self.episodes_menu.unselect() self.episodes_menu.select_by_index(index) for b in self.episodes_menu.buttons.values(): b.parent_screen = self self.navigator.get_button_by_name(KEY_PAGE_DOWN).change_label(str(filelist.get_left_items_number())) self.navigator.get_button_by_name(KEY_PAGE_UP).change_label(str(filelist.get_right_items_number())) self.episodes_menu.clean_draw_update() if hasattr(self, "update_observer"): self.episodes_menu.add_menu_observers(self.update_observer, self.redraw_observer) self.link_borders() menu_selected = self.menu.get_selected_index() if menu_selected == None: if self.current_item == None or len(self.current_item) == 0: self.menu.select_by_index(0) item = self.menu.get_selected_item() if item != None: self.current_item = item.state.name for b in self.menu.buttons.values(): b.parent_screen = self if self.current_item == b.state.name: self.menu.select_by_index(b.state.index) self.navigator.unselect() return