def __register_playlist_columns_menuitems(): """ Registers standard menu items for playlist columns """ def is_column_selected(name, parent, context): """ Returns whether a menu item should be checked """ return name in settings.get_option('gui/columns', DEFAULT_COLUMNS) def is_resizable(name, parent, context): """ Returns whether manual or automatic sizing is requested """ resizable = settings.get_option('gui/resizable_cols', False) if name == 'resizable': return resizable elif name == 'autosize': return not resizable def on_column_item_activate(menu_item, name, parent, context): """ Updates columns setting """ columns = settings.get_option('gui/columns', DEFAULT_COLUMNS) if name in columns: columns.remove(name) else: columns.append(name) settings.set_option('gui/columns', columns) def on_sizing_item_activate(menu_item, name, parent, context): """ Updates column sizing setting """ # Ignore the activation if the menu item is not actually active if not menu_item.get_active(): return if name == 'resizable': settings.set_option('gui/resizable_cols', True) elif name == 'autosize': settings.set_option('gui/resizable_cols', False) columns = [ 'tracknumber', 'title', 'artist', 'album', '__length', 'genre', '__rating', 'date', ] for provider in providers.get('playlist-columns'): if provider.name not in columns: columns += [provider.name] menu_items = [] after = [] for name in columns: column = providers.get_provider('playlist-columns', name) menu_item = ColumnMenuItem(column, after) menu_items += [menu_item] after = [menu_item.name] separator_item = menu.simple_separator('columns_separator', after) menu_items += [separator_item] after = [separator_item.name] sizing_item = menu.radio_menu_item( 'resizable', after, _('_Resizable'), 'column-sizing', is_resizable, on_sizing_item_activate, ) menu_items += [sizing_item] after = [sizing_item.name] sizing_item = menu.radio_menu_item( 'autosize', after, _('_Autosize'), 'column-sizing', is_resizable, on_sizing_item_activate, ) menu_items += [sizing_item] for menu_item in menu_items: providers.register('playlist-columns-menu', menu_item)
def __register_playlist_columns_menuitems(): """ Registers standard menu items for playlist columns """ def is_column_selected(name, parent, context): """ Returns whether a menu item should be checked """ return name in settings.get_option('gui/columns', DEFAULT_COLUMNS) def is_resizable(name, parent, context): """ Returns whether manual or automatic sizing is requested """ resizable = settings.get_option('gui/resizable_cols', False) if name == 'resizable': return resizable elif name == 'autosize': return not resizable def on_column_item_activate(menu_item, name, parent, context): """ Updates columns setting """ columns = settings.get_option('gui/columns', DEFAULT_COLUMNS) if name in columns: columns.remove(name) else: columns.append(name) settings.set_option('gui/columns', columns) def on_sizing_item_activate(menu_item, name, parent, context): """ Updates column sizing setting """ if name == 'resizable': settings.set_option('gui/resizable_cols', True) elif name == 'autosize': settings.set_option('gui/resizable_cols', False) columns = [ 'tracknumber', 'title', 'artist', 'album', '__length', 'genre', '__rating', 'date' ] for provider in providers.get('playlist-columns'): if provider.name not in columns: columns += [provider.name] menu_items = [] after = [] for name in columns: column = providers.get_provider('playlist-columns', name) menu_item = ColumnMenuItem(column, after) menu_items += [menu_item] after = [menu_item.name] separator_item = menu.simple_separator('columns_separator', after) menu_items += [separator_item] after = [separator_item.name] sizing_item = menu.radio_menu_item('resizable', after, _('_Resizable'), 'column-sizing', is_resizable, on_sizing_item_activate) menu_items += [sizing_item] after = [sizing_item.name] sizing_item = menu.radio_menu_item('autosize', after, _('_Autosize'), 'column-sizing', is_resizable, on_sizing_item_activate) menu_items += [sizing_item] for menu_item in menu_items: providers.register('playlist-columns-menu', menu_item)
def __register_playlist_columns_menuitems(): """ Registers standard menu items for playlist columns """ def is_column_selected(name, parent, context): """ Returns whether a menu item should be checked """ return name in settings.get_option("gui/columns", DEFAULT_COLUMNS) def is_resizable(name, parent, context): """ Returns whether manual or automatic sizing is requested """ resizable = settings.get_option("gui/resizable_cols", False) if name == "resizable": return resizable elif name == "autosize": return not resizable def on_column_item_activate(menu_item, name, parent, context): """ Updates columns setting """ columns = settings.get_option("gui/columns", DEFAULT_COLUMNS) if name in columns: columns.remove(name) else: columns.append(name) settings.set_option("gui/columns", columns) def on_sizing_item_activate(menu_item, name, parent, context): """ Updates column sizing setting """ if name == "resizable": settings.set_option("gui/resizable_cols", True) elif name == "autosize": settings.set_option("gui/resizable_cols", False) columns = ["tracknumber", "title", "artist", "album", "__length", "genre", "__rating", "date"] for provider in providers.get("playlist-columns"): if provider.name not in columns: columns += [provider.name] menu_items = [] after = [] for name in columns: column = providers.get_provider("playlist-columns", name) menu_item = ColumnMenuItem(column, after) menu_items += [menu_item] after = [menu_item.name] separator_item = menu.simple_separator("columns_separator", after) menu_items += [separator_item] after = [separator_item.name] sizing_item = menu.radio_menu_item( "resizable", after, _("_Resizable"), "column-sizing", is_resizable, on_sizing_item_activate ) menu_items += [sizing_item] after = [sizing_item.name] sizing_item = menu.radio_menu_item( "autosize", after, _("_Autosize"), "column-sizing", is_resizable, on_sizing_item_activate ) menu_items += [sizing_item] for menu_item in menu_items: providers.register("playlist-columns-menu", menu_item)