def create_home_player_buttons(self, container, layout, listeners): """ Create home and player buttons :param container: destination of the buttons :param layout: bounding box :param listeners: buttons listeners :return: tuple with home and player buttons """ nav_layout = GridLayout(layout) nav_layout.set_pixel_constraints(1, 2, 1, 0) nav_layout.current_constraints = 0 d = self.config[COLORS][COLOR_DARK_LIGHT] constr = nav_layout.get_next_constraints() home_button = self.create_button(KEY_HOME, KEY_HOME, constr, listeners[KEY_HOME], d, image_size_percent=60) container.add_component(home_button) constr = nav_layout.get_next_constraints() player_button = self.create_button(KEY_PLAYER, KEY_PLAY_PAUSE, constr, listeners[KEY_PLAYER], d, image_size_percent=60) container.add_component(player_button) return (home_button, player_button)
def __init__(self, title, util, listeners, voice_assistant): """ Initializer :param title: screen title :param util: utility object :param listener: screen menu event listener :param voice_assistant: voice assistant """ Screen.__init__(self, util, None, PERCENT_TOP_HEIGHT, voice_assistant) self.screen_title.set_text(title) self.factory = Factory(util) self.abc_menu = LatinAbcMenu(util, listeners[KEY_CALLBACK], (0, 0, 0, 0), self.layout.CENTER) self.abc_menu.add_listener(listeners[KEY_CALLBACK]) self.add_menu(self.abc_menu) layout = GridLayout(self.layout.BOTTOM) layout.set_pixel_constraints(1, 4, 1, 0) layout.current_constraints = 0 self.navigator = LatinKeyboardNavigator(util, layout, listeners) self.add_navigator(self.navigator) self.link_borders() self.link_borders_custom()
def __init__(self, title, util, listeners, voice_assistant): """ Initializer :param title: screen title :param util: utility object :param listener: screen menu event listener :param voice_assistant: voice assistant """ Screen.__init__(self, util, None, PERCENT_TOP_HEIGHT, voice_assistant) self.screen_title.set_text(title) self.factory = Factory(util) self.abc_menu = LatinAbcMenu(util, listeners[KEY_CALLBACK], (0, 0, 0, 0), self.layout.CENTER) self.abc_menu.add_listener(listeners[KEY_CALLBACK]) self.add_menu(self.abc_menu) layout = GridLayout(self.layout.BOTTOM) layout.set_pixel_constraints(1, 4, 1, 0) layout.current_constraints = 0 d = util.config[BACKGROUND][FOOTER_BGR_COLOR] self.navigator = Container(util) self.buttons = [] self.add_button(KEY_HOME, KEY_HOME, layout, listeners[KEY_HOME], d) self.add_button(KEY_BACK, KEY_BACK, layout, listeners[KEY_BACK], d) self.add_button(COLLECTION, KEY_PARENT, layout, listeners[COLLECTION], d) self.add_button(KEY_PLAYER, KEY_PLAY_PAUSE, layout, listeners[KEY_PLAYER], d) self.add_menu(self.navigator)
def __init__(self, util, listeners, bgr=None, bounding_box=None): """ Initializer :param util: utility object :param listeners: menu listeners :param bgr: menu background :param bounding_box: bounding box """ Container.__init__(self, util) self.factory = Factory(util) self.name = "collection.navigator" self.content = self.bounding_box = bounding_box self.content_x = bounding_box.x self.content_y = bounding_box.y self.menu_buttons = [] layout = GridLayout(bounding_box) layout.set_pixel_constraints(1, 3, 1, 0) layout.current_constraints = 0 constr = layout.get_next_constraints() self.home_button = self.factory.create_button(KEY_HOME, KEY_HOME, constr, listeners[KEY_HOME], bgr, IMAGE_SIZE) self.add_component(self.home_button) self.menu_buttons.append(self.home_button) constr = layout.get_next_constraints() self.back_button = self.factory.create_button(KEY_BACK, KEY_BACK, constr, listeners[KEY_BACK], bgr, IMAGE_SIZE) self.add_component(self.back_button) self.menu_buttons.append(self.back_button) constr = layout.get_next_constraints() self.player_button = self.factory.create_button(KEY_PLAYER, KEY_PLAY_PAUSE, constr, listeners[KEY_PLAYER], bgr, IMAGE_SIZE) self.add_component(self.player_button) self.menu_buttons.append(self.player_button)
def __init__(self, util, bounding_box, listeners, bgr, pages): """ Initializer :param util: utility object :param bounding_box: bounding box :param listeners: buttons listeners :param bgr: menu background :param pages: number of episodes menu pages """ Container.__init__(self, util) self.factory = Factory(util) self.name = "podcasts.navigator" self.content = bounding_box self.content_x = bounding_box.x self.content_y = bounding_box.y self.menu_buttons = [] arrow_layout = BorderLayout(bounding_box) arrow_layout.set_percent_constraints(0, 0, PERCENT_ARROW_WIDTH, PERCENT_ARROW_WIDTH) if pages > 1: constr = arrow_layout.LEFT self.left_button = self.factory.create_page_down_button(constr, "0", 40, 100) self.left_button.add_release_listener(listeners[GO_LEFT_PAGE]) self.add_component(self.left_button) self.menu_buttons.append(self.left_button) constr = arrow_layout.RIGHT self.right_button = self.factory.create_page_up_button(constr, "0", 40, 100) self.right_button.add_release_listener(listeners[GO_RIGHT_PAGE]) self.add_component(self.right_button) self.menu_buttons.append(self.right_button) layout = GridLayout(arrow_layout.CENTER) else: layout = GridLayout(bounding_box) layout.set_pixel_constraints(1, 4, 1, 0) layout.current_constraints = 0 image_size = 64 constr = layout.get_next_constraints() self.home_button = self.factory.create_button(KEY_HOME, KEY_HOME, constr, listeners[KEY_HOME], bgr, image_size_percent=image_size) self.add_component(self.home_button) self.menu_buttons.append(self.home_button) constr = layout.get_next_constraints() self.back_button = self.factory.create_button(KEY_PODCASTS_MENU, KEY_PARENT, constr, listeners[PODCASTS], bgr, image_size_percent=image_size) self.add_component(self.back_button) self.menu_buttons.append(self.back_button) constr = layout.get_next_constraints() self.back_button = self.factory.create_button(KEY_BACK, KEY_BACK, constr, listeners[GO_BACK], bgr, image_size_percent=image_size) self.add_component(self.back_button) self.menu_buttons.append(self.back_button) constr = layout.get_next_constraints() self.player_button = self.factory.create_button(KEY_PLAYER, KEY_PLAY_PAUSE, constr, listeners[KEY_PLAYER], bgr, image_size_percent=image_size) self.add_component(self.player_button) self.menu_buttons.append(self.player_button)
def __init__(self, util, bounding_box, listeners): """ Initializer :param util: utility object :param bounding_box: bounding box :param listeners: buttons listeners """ Container.__init__(self, util) self.factory = Factory(util) self.name = "collection.navigator" self.content = bounding_box self.content_x = bounding_box.x self.content_y = bounding_box.y self.listeners = listeners self.menu_buttons = [] self.config = util.config self.use_web = self.config[USAGE][USE_WEB] self.arrow_layout = BorderLayout(bounding_box) self.arrow_layout.set_percent_constraints(0, 0, PERCENT_ARROW_WIDTH, PERCENT_ARROW_WIDTH) self.update_observer = None self.redraw_observer = None self.menu_buttons = [] constr = self.arrow_layout.LEFT self.left_button = self.factory.create_page_down_button( constr, "0", 40, 100) self.left_button.add_release_listener(self.listeners[GO_LEFT_PAGE]) self.add_component(self.left_button) self.menu_buttons.append(self.left_button) constr = self.arrow_layout.RIGHT self.right_button = self.factory.create_page_up_button( constr, "0", 40, 100) self.right_button.add_release_listener(self.listeners[GO_RIGHT_PAGE]) self.add_component(self.right_button) self.menu_buttons.append(self.right_button) layout = GridLayout(self.arrow_layout.CENTER) layout.set_pixel_constraints(1, 5, 1, 0) layout.current_constraints = 0 bgr = util.config[BACKGROUND][FOOTER_BGR_COLOR] self.add_button(KEY_HOME, KEY_HOME, layout, self.listeners[KEY_HOME], bgr) self.add_button(COLLECTION, KEY_PARENT, layout, self.listeners[COLLECTION], bgr) self.add_button(KEY_LIST, KEY_MENU, layout, self.listeners[COLLECTION_TOPIC], bgr) self.add_button(KEY_DETAIL, KEY_SETUP, layout, self.listeners[TOPIC_DETAIL], bgr) self.add_button(KEY_PLAYER, KEY_PLAY_PAUSE, layout, self.listeners[KEY_PLAYER], bgr) if self.use_web and self.update_observer != None: self.add_observers(self.update_observer, self.redraw_observer)
def set_buttons(self, topic): """ Set navigator buttons depending on topic :param topic: collection topic """ if self.collection_topic == topic: return if self.menu_buttons and topic in TEXT_TOPICS and self.collection_topic in TEXT_TOPICS: self.collection_topic = topic return self.collection_topic = topic self.components = [] self.menu_buttons = [] constr = self.arrow_layout.LEFT self.left_button = self.factory.create_page_down_button( constr, "0", 40, 100) self.left_button.add_release_listener(self.listeners[GO_LEFT_PAGE]) self.add_component(self.left_button) self.menu_buttons.append(self.left_button) constr = self.arrow_layout.RIGHT self.right_button = self.factory.create_page_up_button( constr, "0", 40, 100) self.right_button.add_release_listener(self.listeners[GO_RIGHT_PAGE]) self.add_component(self.right_button) self.menu_buttons.append(self.right_button) if topic in TEXT_TOPICS: n = 7 elif topic == TYPE: n = 5 else: n = 6 layout = GridLayout(self.arrow_layout.CENTER) layout.set_pixel_constraints(1, n, 1, 0) layout.current_constraints = 0 self.add_button(KEY_HOME, KEY_HOME, layout, self.listeners[KEY_HOME]) self.add_button(KEY_BACK, KEY_BACK, layout, self.listeners[KEY_BACK]) self.add_button(COLLECTION, KEY_PARENT, layout, self.listeners[COLLECTION]) self.add_button(KEY_LIST, KEY_MENU, layout, self.listeners[KEY_LIST]) if n == 7: self.add_button(IMAGE_ABC, KEY_SETUP, layout, self.pre_abc) if n != 5: self.add_button(IMAGE_BOOK_GENRE, KEY_ROOT, layout, self.pre_keyboard) self.add_button(KEY_PLAYER, KEY_PLAY_PAUSE, layout, self.listeners[KEY_PLAYER]) if self.use_web and self.update_observer != None: self.add_observers(self.update_observer, self.redraw_observer)
def set_buttons(self, collection_mode): """ Set navigator buttons :param collection_mode: mode """ if self.menu_buttons and collection_mode in TEXT_MODES and self.collection_mode in TEXT_MODES: self.collection_mode = collection_mode return self.collection_mode = collection_mode self.components = [] self.menu_buttons = [] constr = self.arrow_layout.LEFT self.left_button = self.factory.create_page_down_button( constr, "0", 40, 100) self.left_button.add_release_listener(self.listeners[GO_LEFT_PAGE]) self.add_component(self.left_button) self.menu_buttons.append(self.left_button) constr = self.arrow_layout.RIGHT self.right_button = self.factory.create_page_up_button( constr, "0", 40, 100) self.right_button.add_release_listener(self.listeners[GO_RIGHT_PAGE]) self.add_component(self.right_button) self.menu_buttons.append(self.right_button) if collection_mode in TEXT_MODES: n = 6 elif collection_mode == TYPE: n = 4 else: n = 5 layout = GridLayout(self.arrow_layout.CENTER) layout.set_pixel_constraints(1, n, 1, 0) layout.current_constraints = 0 self.add_button(KEY_HOME, KEY_HOME, layout, self.listeners[KEY_HOME]) self.add_button(KEY_BACK, KEY_BACK, layout, self.listeners[KEY_BACK]) self.add_button(COLLECTION, KEY_BACK, layout, self.listeners[COLLECTION]) if n == 6: self.add_button(IMAGE_ABC, KEY_HOME, layout, self.pre_abc) if n != 4: self.add_button(IMAGE_BOOK_GENRE, KEY_HOME, layout, self.pre_keyboard) self.add_button(KEY_PLAYER, KEY_PLAY_PAUSE, layout, self.listeners[KEY_PLAYER]) if self.use_web and self.update_observer != None: self.add_observers(self.update_observer, self.redraw_observer)
def add_sliders(self, handle_slider_event): layout = GridLayout(self.eq_layout.CENTER) layout.set_pixel_constraints(1, self.bands, 0, 0) layout.current_constraints = 0 sliders = [] for n in range(self.bands): constr = layout.get_next_constraints() s = self.factory.create_equalizer_slider(n, constr, "band", handle_slider_event, self.labels[n], self.bgr_color) s.slider.active = False s.content = None s.slider.content = None self.add_component(s) sliders.append(s) return sliders
def __init__(self, util, listeners, bgr=None, bounding_box=None): """ Initializer :param util: utility object :param listeners: menu listeners :param bgr: menu background :param bounding_box: bounding box """ Container.__init__(self, util) self.factory = Factory(util) self.name = "saver.navigator" self.content = self.bounding_box = bounding_box self.content_x = bounding_box.x self.content_y = bounding_box.y self.menu_buttons = [] layout = GridLayout(bounding_box) layout.set_pixel_constraints(1, 3, 1, 0) layout.current_constraints = 0 size = 64 # button image size in percent constr = layout.get_next_constraints() self.home_button = self.factory.create_button(KEY_HOME, KEY_HOME, constr, listeners[KEY_HOME], bgr, size) self.add_component(self.home_button) self.menu_buttons.append(self.home_button) constr = layout.get_next_constraints() self.start_saver_button = self.factory.create_button( KEY_START_SAVER, KEY_MENU, constr, listeners[KEY_START_SAVER], bgr, 75) self.add_component(self.start_saver_button) self.menu_buttons.append(self.start_saver_button) constr = layout.get_next_constraints() self.player_button = self.factory.create_button( KEY_PLAYER, KEY_PLAY_PAUSE, constr, listeners[KEY_PLAYER], bgr, size) self.add_component(self.player_button) self.menu_buttons.append(self.player_button)
def __init__(self, util, bounding_box, listeners): """ Initializer :param util: utility object :param bounding_box: bounding box :param listeners: buttons listeners """ Container.__init__(self, util) self.factory = Factory(util) self.name = "wifi.navigator" self.content = bounding_box self.content_x = bounding_box.x self.content_y = bounding_box.y self.menu_buttons = [] bgr = util.config[COLORS][COLOR_DARK_LIGHT] layout = GridLayout(bounding_box) layout.set_pixel_constraints(1, 5, 1, 0) layout.current_constraints = 0 image_size = 64 constr = layout.get_next_constraints() self.home_button = self.factory.create_button( KEY_HOME, KEY_HOME, constr, listeners[KEY_HOME], bgr, image_size_percent=image_size) self.add_component(self.home_button) self.menu_buttons.append(self.home_button) constr = layout.get_next_constraints() self.refresh_button = self.factory.create_button( KEY_REFRESH, KEY_SETUP, constr, listeners[KEY_REFRESH], bgr, image_size_percent=image_size) self.add_component(self.refresh_button) self.menu_buttons.append(self.refresh_button) constr = layout.get_next_constraints() self.wifi_button = self.factory.create_button( WIFI, KEY_ROOT, constr, listeners[WIFI], bgr, image_size_percent=image_size) self.add_component(self.wifi_button) self.menu_buttons.append(self.wifi_button) constr = layout.get_next_constraints() self.disconnect = self.factory.create_button( KEY_DISCONNECT, KEY_PARENT, constr, listeners[KEY_DISCONNECT], bgr, image_size_percent=image_size) self.add_component(self.disconnect) self.menu_buttons.append(self.disconnect) constr = layout.get_next_constraints() self.player_button = self.factory.create_button( KEY_PLAYER, KEY_PLAY_PAUSE, constr, listeners[KEY_PLAYER], bgr, image_size_percent=image_size) self.add_component(self.player_button) self.menu_buttons.append(self.player_button)
def __init__(self, util, bounding_box, listeners, bgr, pages): """ Initializer :param util: utility object :param bounding_box: bounding box :param listeners: buttons listeners :param bgr: menu background """ Container.__init__(self, util) self.factory = Factory(util) self.name = "navigator" self.content = bounding_box self.content_x = bounding_box.x self.content_y = bounding_box.y self.menu_buttons = [] arrow_layout = BorderLayout(bounding_box) arrow_layout.set_percent_constraints(0, 0, PERCENT_ARROW_WIDTH, PERCENT_ARROW_WIDTH) if pages > 1: constr = arrow_layout.LEFT self.left_button = self.factory.create_page_down_button( constr, "0", 40, 100) self.left_button.add_release_listener(listeners[GO_LEFT_PAGE]) self.add_component(self.left_button) self.menu_buttons.append(self.left_button) constr = arrow_layout.RIGHT self.right_button = self.factory.create_page_up_button( constr, "0", 40, 100) self.right_button.add_release_listener(listeners[GO_RIGHT_PAGE]) self.add_component(self.right_button) self.menu_buttons.append(self.right_button) if pages > 1: layout = GridLayout(arrow_layout.CENTER) else: layout = GridLayout(bounding_box) layout.set_pixel_constraints(1, 3, 1, 0) layout.current_constraints = 0 image_size = 64 b = util.config[BACKGROUND][FOOTER_BGR_COLOR] constr = layout.get_next_constraints() self.home_button = self.factory.create_button( KEY_HOME, KEY_HOME, constr, listeners[KEY_HOME], b, image_size_percent=image_size) self.add_component(self.home_button) self.menu_buttons.append(self.home_button) constr = layout.get_next_constraints() self.favorites_button = self.factory.create_button( KEY_FAVORITES, KEY_SETUP, constr, listeners[KEY_FAVORITES], b, image_size_percent=image_size) self.add_component(self.favorites_button) self.menu_buttons.append(self.favorites_button) constr = layout.get_next_constraints() self.player_button = self.factory.create_button( KEY_PLAYER, KEY_PLAY_PAUSE, constr, listeners[KEY_PLAYER], b, image_size_percent=image_size) self.add_component(self.player_button) self.menu_buttons.append(self.player_button)
def __init__(self, util, bounding_box, name, items, arrow_items=None): """ Initializer :param util: utility object :param bounding_box: bounding box :param name: navigator name :param items: dictionary with button details :param arrow_items: dictionary with arrow buttons details """ Container.__init__(self, util) self.factory = Factory(util) self.name = name self.content = bounding_box self.content_x = bounding_box.x self.content_y = bounding_box.y self.buttons = [] if arrow_items: arrow_layout = BorderLayout(bounding_box) left_arrow = arrow_items[0] listeners = left_arrow[LISTENER] arrow_layout.set_percent_constraints(0, 0, PERCENT_ARROW_WIDTH, PERCENT_ARROW_WIDTH) constr = arrow_layout.LEFT button = self.factory.create_page_down_button(constr, "0", 40, 100) button.add_release_listener(listeners[0]) self.add_component(button) self.buttons.append(button) layout = GridLayout(arrow_layout.CENTER) else: layout = GridLayout(bounding_box) layout.set_pixel_constraints(1, len(items), 1, 0) layout.current_constraints = 0 image_size = 64 b = util.config[BACKGROUND][FOOTER_BGR_COLOR] for item in items: constr = layout.get_next_constraints() image_name = item[IMAGE_NAME] listeners = item[LISTENER] keybiard_key = item[KEYBOARD_KEY] source = item[SOURCE] if len(listeners) == 1: button = self.factory.create_button( image_name, keybiard_key, constr, listeners[0], b, image_size_percent=image_size, source=source) else: button = self.factory.create_button( image_name, keybiard_key, constr, None, b, image_size_percent=image_size, source=source) for listener in listeners: button.add_release_listener(listener) self.add_component(button) self.buttons.append(button) if arrow_items: right_arrow = arrow_items[1] listeners = right_arrow[LISTENER] constr = arrow_layout.RIGHT button = self.factory.create_page_up_button(constr, "0", 40, 100) button.add_release_listener(listeners[0]) self.add_component(button) self.buttons.append(button)
def __init__(self, util, connected_cd_drives, bounding_box, listeners): """ Initializer :param util: utility object :param bounding_box: bounding box :param listeners: buttons listeners """ Container.__init__(self, util) self.factory = Factory(util) self.name = "navigator" self.content = bounding_box self.content_x = bounding_box.x self.content_y = bounding_box.y self.menu_buttons = [] config = util.config arrow_layout = BorderLayout(bounding_box) arrow_layout.set_percent_constraints(0, 0, PERCENT_ARROW_WIDTH, PERCENT_ARROW_WIDTH) constr = arrow_layout.LEFT self.left_button = self.factory.create_page_down_button( constr, "0", 40, 100) self.left_button.add_release_listener(listeners[GO_LEFT_PAGE]) self.add_component(self.left_button) self.menu_buttons.append(self.left_button) constr = arrow_layout.RIGHT self.right_button = self.factory.create_page_up_button( constr, "0", 40, 100) self.right_button.add_release_listener(listeners[GO_RIGHT_PAGE]) self.add_component(self.right_button) self.menu_buttons.append(self.right_button) layout = GridLayout(arrow_layout.CENTER) p = config[AUDIO][PLAYER_NAME] show_drives = connected_cd_drives > 1 and (p == VLC_NAME or p == MPD_NAME) if show_drives: layout.set_pixel_constraints(1, 5, 1, 0) else: layout.set_pixel_constraints(1, 4, 1, 0) layout.current_constraints = 0 image_size = 56 bgr = config[BACKGROUND][FOOTER_BGR_COLOR] constr = layout.get_next_constraints() self.home_button = self.factory.create_button( KEY_HOME, KEY_HOME, constr, listeners[KEY_HOME], bgr, image_size_percent=image_size) self.add_component(self.home_button) self.menu_buttons.append(self.home_button) if show_drives: constr = layout.get_next_constraints() self.cd_drives_button = self.factory.create_button( KEY_CD_PLAYERS, KEY_ROOT, constr, listeners[KEY_CD_PLAYERS], bgr, image_size_percent=image_size) self.add_component(self.cd_drives_button) self.menu_buttons.append(self.cd_drives_button) constr = layout.get_next_constraints() self.refresh_button = self.factory.create_button( KEY_REFRESH, KEY_SETUP, constr, listeners[KEY_REFRESH], bgr, image_size_percent=image_size) self.add_component(self.refresh_button) self.menu_buttons.append(self.refresh_button) constr = layout.get_next_constraints() self.eject_button = self.factory.create_button( KEY_EJECT, KEY_PARENT, constr, listeners[KEY_EJECT], bgr, image_size_percent=image_size) self.add_component(self.eject_button) self.menu_buttons.append(self.eject_button) constr = layout.get_next_constraints() self.back_button = self.factory.create_button( KEY_BACK, KEY_BACK, constr, None, bgr, image_size_percent=image_size) self.back_button.add_release_listener(listeners[GO_BACK]) self.back_button.add_release_listener(listeners[KEY_PLAYER]) self.add_component(self.back_button) self.menu_buttons.append(self.back_button)
def __init__(self, util, listeners, bgr=None, bounding_box=None): """ Initializer :param util: utility object :param listeners: menu listeners :param bgr: menu background :param bounding_box: bounding box """ Container.__init__(self, util) self.factory = Factory(util) self.name = "home.navigator" self.content = self.bounding_box = bounding_box self.content_x = bounding_box.x self.content_y = bounding_box.y self.menu_buttons = [] layout = GridLayout(bounding_box) screensaver_available = util.is_screensaver_available() if screensaver_available: n = 5 else: n = 4 if util.config[HOME_MENU][EQUALIZER]: n += 1 layout.set_pixel_constraints(1, n, 1, 0) layout.current_constraints = 0 size = 64 # button image size in percent constr = layout.get_next_constraints() self.back_button = self.factory.create_button(KEY_BACK, KEY_BACK, constr, listeners[KEY_BACK], bgr, size) self.add_component(self.back_button) self.menu_buttons.append(self.back_button) if screensaver_available: constr = layout.get_next_constraints() self.saver_button = self.factory.create_button(SCREENSAVER, KEY_SETUP, constr, listeners[SCREENSAVER], bgr, size) self.add_component(self.saver_button) self.menu_buttons.append(self.saver_button) constr = layout.get_next_constraints() self.language_button = self.factory.create_button(LANGUAGE, KEY_MENU, constr, listeners[LANGUAGE], bgr, size) self.add_component(self.language_button) self.menu_buttons.append(self.language_button) if util.config[HOME_MENU][EQUALIZER]: constr = layout.get_next_constraints() self.equalizer_button = self.factory.create_button(EQUALIZER, KEY_ROOT, constr, listeners[EQUALIZER], bgr, size) self.add_component(self.equalizer_button) self.menu_buttons.append(self.equalizer_button) constr = layout.get_next_constraints() self.player_button = self.factory.create_button(KEY_PLAYER, KEY_PLAY_PAUSE, constr, listeners[KEY_PLAYER], bgr, size) self.add_component(self.player_button) self.menu_buttons.append(self.player_button) constr = layout.get_next_constraints() self.about_button = self.factory.create_button(KEY_ABOUT, KEY_HOME, constr, listeners[KEY_ABOUT], bgr, size) self.add_component(self.about_button) self.menu_buttons.append(self.about_button)
def __init__(self, util, bounding_box, listeners, pages): """ Initializer :param util: utility object :param bounding_box: bounding box :param listeners: buttons listeners :param pages: number of menu pages """ Container.__init__(self, util) self.factory = Factory(util) self.name = "bt.navigator" self.content = bounding_box self.content_x = bounding_box.x self.content_y = bounding_box.y self.menu_buttons = [] bgr = util.config[COLORS][COLOR_DARK_LIGHT] arrow_layout = BorderLayout(bounding_box) arrow_layout.set_percent_constraints(0, 0, PERCENT_ARROW_WIDTH, PERCENT_ARROW_WIDTH) if pages > 1: constr = arrow_layout.LEFT self.left_button = self.factory.create_page_down_button( constr, "0", 40, 100) self.left_button.add_release_listener(listeners[GO_LEFT_PAGE]) self.add_component(self.left_button) self.menu_buttons.append(self.left_button) constr = arrow_layout.RIGHT self.right_button = self.factory.create_page_up_button( constr, "0", 40, 100) self.right_button.add_release_listener(listeners[GO_RIGHT_PAGE]) self.add_component(self.right_button) self.menu_buttons.append(self.right_button) layout = GridLayout(arrow_layout.CENTER) else: layout = GridLayout(bounding_box) layout.set_pixel_constraints(1, 4, 1, 0) layout.current_constraints = 0 image_size = 64 constr = layout.get_next_constraints() self.home_button = self.factory.create_button( KEY_HOME, KEY_HOME, constr, listeners[KEY_HOME], bgr, image_size_percent=image_size) self.add_component(self.home_button) self.menu_buttons.append(self.home_button) constr = layout.get_next_constraints() self.sort_strength = self.factory.create_button( KEY_REFRESH, KEY_SETUP, constr, listeners[KEY_REFRESH], bgr, image_size_percent=image_size) self.add_component(self.sort_strength) self.menu_buttons.append(self.sort_strength) constr = layout.get_next_constraints() self.network_button = self.factory.create_button( KEY_NETWORK, KEY_BACK, constr, listeners[KEY_NETWORK], bgr, image_size_percent=image_size) self.add_component(self.network_button) self.menu_buttons.append(self.network_button) constr = layout.get_next_constraints() self.player_button = self.factory.create_button( KEY_PLAYER, KEY_PLAY_PAUSE, constr, listeners[KEY_PLAYER], bgr, image_size_percent=image_size) self.add_component(self.player_button) self.menu_buttons.append(self.player_button)
def __init__(self, util, home_listener, player_listener, presets_listener, bgr=None, bounding_box=None): """ Initializer :param util: utility object :param listeners: menu listeners :param bgr: menu background :param bounding_box: bounding box """ Container.__init__(self, util) self.factory = Factory(util) self.name = "equalizer.navigator" self.content = self.bounding_box = bounding_box self.content_x = bounding_box.x self.content_y = bounding_box.y self.menu_buttons = [] layout = GridLayout(bounding_box) layout.set_pixel_constraints(1, 8, 1, 0) layout.current_constraints = 0 size = 64 # button image size in percent constr = layout.get_next_constraints() self.home_button = self.factory.create_button(KEY_HOME, KEY_HOME, constr, home_listener, bgr, size) self.add_component(self.home_button) self.menu_buttons.append(self.home_button) constr = layout.get_next_constraints() self.classical_button = self.factory.create_button( CLASSICAL, KEY_1, constr, presets_listener, bgr, size) self.add_component(self.classical_button) self.menu_buttons.append(self.classical_button) constr = layout.get_next_constraints() self.jazz_button = self.factory.create_button(JAZZ, KEY_2, constr, presets_listener, bgr, size) self.add_component(self.jazz_button) self.menu_buttons.append(self.jazz_button) constr = layout.get_next_constraints() self.pop_button = self.factory.create_button(POP, KEY_3, constr, presets_listener, bgr, size) self.add_component(self.pop_button) self.menu_buttons.append(self.pop_button) constr = layout.get_next_constraints() self.rock_button = self.factory.create_button(ROCK, KEY_4, constr, presets_listener, bgr, size) self.add_component(self.rock_button) self.menu_buttons.append(self.rock_button) constr = layout.get_next_constraints() self.contemporary_button = self.factory.create_button( CONTEMPORARY, KEY_5, constr, presets_listener, bgr, size) self.add_component(self.contemporary_button) self.menu_buttons.append(self.contemporary_button) constr = layout.get_next_constraints() self.neutral_button = self.factory.create_button( FLAT, KEY_6, constr, presets_listener, bgr, size) self.add_component(self.neutral_button) self.menu_buttons.append(self.neutral_button) constr = layout.get_next_constraints() self.player_button = self.factory.create_button( KEY_PLAYER, KEY_PLAY_PAUSE, constr, player_listener, bgr, size) self.add_component(self.player_button) self.menu_buttons.append(self.player_button)
def __init__(self, util, listeners, bgr=None, bounding_box=None): """ Initializer :param util: utility object :param listeners: menu listeners :param bgr: menu background :param bounding_box: bounding box """ Container.__init__(self, util) self.factory = Factory(util) self.name = "home.navigator" self.content = self.bounding_box = bounding_box self.content_x = bounding_box.x self.content_y = bounding_box.y self.menu_buttons = [] layout = GridLayout(bounding_box) n = 0 screensaver_available = util.is_screensaver_available() if util.config[HOME_NAVIGATOR][HOME_BACK]: n += 1 if screensaver_available and util.config[HOME_NAVIGATOR][HOME_SCREENSAVER]: n += 1 if util.config[HOME_NAVIGATOR][HOME_LANGUAGE]: n += 1 if util.config[HOME_NAVIGATOR][EQUALIZER]: n += 1 if util.config[HOME_NAVIGATOR][TIMER]: n += 1 if util.config[HOME_NAVIGATOR][NETWORK]: n += 1 if util.config[HOME_NAVIGATOR][PLAYER]: n += 1 if util.config[HOME_NAVIGATOR][ABOUT]: n += 1 if n == 0: return layout.set_pixel_constraints(1, n, 1, 0) layout.current_constraints = 0 size = 64 # button image size in percent b = util.config[BACKGROUND][FOOTER_BGR_COLOR] if util.config[HOME_NAVIGATOR][HOME_BACK]: constr = layout.get_next_constraints() self.back_button = self.factory.create_button(KEY_BACK, KEY_BACK, constr, listeners[KEY_BACK], b, size) self.add_component(self.back_button) self.menu_buttons.append(self.back_button) if screensaver_available and util.config[HOME_NAVIGATOR][HOME_SCREENSAVER]: constr = layout.get_next_constraints() self.saver_button = self.factory.create_button(SCREENSAVER, KEY_SETUP, constr, listeners[SCREENSAVER], b, size) self.add_component(self.saver_button) self.menu_buttons.append(self.saver_button) if util.config[HOME_NAVIGATOR][HOME_LANGUAGE]: constr = layout.get_next_constraints() self.language_button = self.factory.create_button(LANGUAGE, KEY_MENU, constr, listeners[LANGUAGE], b, size) self.add_component(self.language_button) self.menu_buttons.append(self.language_button) if util.config[HOME_NAVIGATOR][EQUALIZER]: constr = layout.get_next_constraints() self.equalizer_button = self.factory.create_button(EQUALIZER, KEY_ROOT, constr, listeners[EQUALIZER], b, size) self.add_component(self.equalizer_button) self.menu_buttons.append(self.equalizer_button) if util.config[HOME_NAVIGATOR][TIMER]: constr = layout.get_next_constraints() self.timer_button = self.factory.create_button(TIMER, KEY_AUDIO, constr, listeners[TIMER], b, size) self.add_component(self.timer_button) self.menu_buttons.append(self.timer_button) if util.config[HOME_NAVIGATOR][NETWORK]: constr = layout.get_next_constraints() self.network_button = self.factory.create_button(NETWORK, KEY_SUBTITLE, constr, listeners[NETWORK], b, size) self.add_component(self.network_button) self.menu_buttons.append(self.network_button) if util.config[HOME_NAVIGATOR][PLAYER]: constr = layout.get_next_constraints() self.player_button = self.factory.create_button(KEY_PLAYER, KEY_PLAY_PAUSE, constr, listeners[KEY_PLAYER], b, size) self.add_component(self.player_button) self.menu_buttons.append(self.player_button) if util.config[HOME_NAVIGATOR][ABOUT]: constr = layout.get_next_constraints() self.about_button = self.factory.create_button(KEY_ABOUT, KEY_HOME, constr, listeners[KEY_ABOUT], b, size) self.add_component(self.about_button) self.menu_buttons.append(self.about_button)
def __init__(self, util, bounding_box, listeners, bgr, language_url=None): """ Initializer :param util: utility object :param bounding_box: bounding box :param listeners: buttons listeners :param bgr: menu background :param language_url: language constant """ Container.__init__(self, util) self.factory = Factory(util) self.name = "navigator" arrow_layout = BorderLayout(bounding_box) arrow_layout.set_percent_constraints(0, 0, PERCENT_ARROW_WIDTH, PERCENT_ARROW_WIDTH) self.menu_buttons = [] constr = arrow_layout.LEFT self.left_button = self.factory.create_page_down_button( constr, "0", 34, 100) self.left_button.add_release_listener(listeners[GO_LEFT_PAGE]) self.add_component(self.left_button) self.menu_buttons.append(self.left_button) constr = arrow_layout.RIGHT self.right_button = self.factory.create_page_up_button( constr, "0", 34, 100) self.right_button.add_release_listener(listeners[GO_RIGHT_PAGE]) self.add_component(self.right_button) self.menu_buttons.append(self.right_button) layout = GridLayout(arrow_layout.CENTER) if language_url == "": # English-USA buttons = 5 elif language_url == None: #Russian buttons = 6 else: buttons = 4 layout.set_pixel_constraints(1, buttons, 1, 0) layout.current_constraints = 0 image_size = 56 constr = layout.get_next_constraints() self.home_button = self.factory.create_button( KEY_HOME, KEY_HOME, constr, listeners[KEY_HOME], bgr, image_size_percent=image_size) self.add_component(self.home_button) self.menu_buttons.append(self.home_button) if language_url == None: constr = layout.get_next_constraints() self.abc_button = self.factory.create_button( IMAGE_ABC, KEY_SETUP, constr, listeners[GO_USER_HOME], bgr, image_size_percent=image_size) self.add_component(self.abc_button) self.menu_buttons.append(self.abc_button) constr = layout.get_next_constraints() self.new_books_button = self.factory.create_button( IMAGE_NEW_BOOKS, KEY_MENU, constr, listeners[GO_ROOT], bgr, image_size_percent=image_size) self.add_component(self.new_books_button) self.menu_buttons.append(self.new_books_button) if language_url == None or language_url == "": # English-USA or Russian constr = layout.get_next_constraints() self.genre_button = self.factory.create_button( IMAGE_BOOK_GENRE, KEY_ROOT, constr, listeners[GO_TO_PARENT], bgr, image_size_percent=image_size) self.add_component(self.genre_button) self.menu_buttons.append(self.genre_button) constr = layout.get_next_constraints() self.player_button = self.factory.create_button( IMAGE_PLAYER, KEY_PLAY_PAUSE, constr, listeners[GO_PLAYER], bgr, source=BOOK_NAVIGATOR, image_size_percent=image_size) self.add_component(self.player_button) self.menu_buttons.append(self.player_button) constr = layout.get_next_constraints() self.back_button = self.factory.create_button( KEY_BACK, KEY_BACK, constr, None, bgr, source=BOOK_NAVIGATOR_BACK, image_size_percent=image_size) self.back_button.add_release_listener(listeners[GO_BACK]) try: self.back_button.add_release_listener(listeners[KEY_PLAY_FILE]) except: pass self.add_component(self.back_button) self.menu_buttons.append(self.back_button)
def __init__(self, util, bounding_box, listeners): """ Initializer :param util: utility object :param bounding_box: bounding box :param listeners: buttons listeners """ Container.__init__(self, util) self.factory = Factory(util) self.name = "keyboard.navigator" self.content = bounding_box self.content_x = bounding_box.x self.content_y = bounding_box.y self.menu_buttons = [] layout = GridLayout(bounding_box) layout.set_pixel_constraints(1, 5, 1, 0) layout.current_constraints = 0 image_size = 64 bgr = util.config[COLORS][COLOR_DARK_LIGHT] constr = layout.get_next_constraints() self.home_button = self.factory.create_button( KEY_HOME, KEY_HOME, constr, listeners[KEY_HOME], bgr, image_size_percent=image_size) self.add_component(self.home_button) self.menu_buttons.append(self.home_button) constr = layout.get_next_constraints() self.back = self.factory.create_button(KEY_BACK, KEY_BACK, constr, listeners[KEY_BACK], bgr, image_size_percent=image_size) self.add_component(self.back) self.menu_buttons.append(self.back) constr = layout.get_next_constraints() self.delete = self.factory.create_button(KEY_DELETE, KEY_PARENT, constr, listeners[KEY_DELETE], bgr, image_size_percent=image_size) self.add_component(self.delete) self.menu_buttons.append(self.delete) constr = layout.get_next_constraints() self.delete = self.factory.create_button(KEY_VIEW, KEY_SETUP, constr, listeners[KEY_VIEW], bgr, image_size_percent=image_size) self.add_component(self.delete) self.menu_buttons.append(self.delete) constr = layout.get_next_constraints() self.player_button = self.factory.create_button( KEY_PLAYER, KEY_PLAY_PAUSE, constr, listeners[KEY_PLAYER], bgr, image_size_percent=image_size) self.add_component(self.player_button) self.menu_buttons.append(self.player_button)
def __init__(self, util, bounding_box, listeners, bgr): """ Initializer :param util: utility object :param bounding_box: bounding box :param listeners: buttons listeners :param bgr: menu background """ Container.__init__(self, util, content="nav") self.factory = Factory(util) self.name = "navigator" self.content = bounding_box self.content_x = bounding_box.x self.content_y = bounding_box.y self.menu_buttons = [] arrow_layout = BorderLayout(bounding_box) arrow_layout.set_percent_constraints(0, 0, PERCENT_ARROW_WIDTH, PERCENT_ARROW_WIDTH) constr = arrow_layout.LEFT self.left_button = self.factory.create_page_down_button(constr, "0", 40, 100) self.left_button.add_release_listener(listeners[GO_LEFT_PAGE]) self.add_component(self.left_button) self.menu_buttons.append(self.left_button) constr = arrow_layout.RIGHT self.right_button = self.factory.create_page_up_button(constr, "0", 40, 100) self.right_button.add_release_listener(listeners[GO_RIGHT_PAGE]) self.add_component(self.right_button) self.menu_buttons.append(self.right_button) layout = GridLayout(arrow_layout.CENTER) layout.set_pixel_constraints(1, 5, 1, 0) layout.current_constraints = 0 image_size = 64 constr = layout.get_next_constraints() self.home_button = self.factory.create_button(KEY_HOME, KEY_HOME, constr, listeners[KEY_HOME], bgr, image_size_percent=image_size) self.add_component(self.home_button) self.menu_buttons.append(self.home_button) constr = layout.get_next_constraints() self.user_home_button = self.factory.create_button(KEY_USER_HOME, KEY_MENU, constr, listeners[GO_USER_HOME], bgr, image_size_percent=image_size) self.add_component(self.user_home_button) self.menu_buttons.append(self.user_home_button) constr = layout.get_next_constraints() self.root_button = self.factory.create_button(KEY_ROOT, KEY_ROOT, constr, listeners[GO_ROOT], bgr, image_size_percent=image_size) self.add_component(self.root_button) self.menu_buttons.append(self.root_button) constr = layout.get_next_constraints() self.parent_button = self.factory.create_button(KEY_PARENT, KEY_PARENT, constr, listeners[GO_TO_PARENT], bgr, image_size_percent=image_size) self.add_component(self.parent_button) self.menu_buttons.append(self.parent_button) constr = layout.get_next_constraints() self.back_button = self.factory.create_button(KEY_BACK, KEY_BACK, constr, None, bgr, image_size_percent=image_size) self.back_button.add_release_listener(listeners[GO_BACK]) self.back_button.add_release_listener(listeners[KEY_PLAY_FILE]) self.add_component(self.back_button) self.menu_buttons.append(self.back_button)