本文整理汇总了Python中lollypop.selectionlist.SelectionList.select_first方法的典型用法代码示例。如果您正苦于以下问题:Python SelectionList.select_first方法的具体用法?Python SelectionList.select_first怎么用?Python SelectionList.select_first使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类lollypop.selectionlist.SelectionList
的用法示例。
在下文中一共展示了SelectionList.select_first方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Window
# 需要导入模块: from lollypop.selectionlist import SelectionList [as 别名]
# 或者: from lollypop.selectionlist.SelectionList import select_first [as 别名]
#.........这里部分代码省略.........
"""
def _init_main_list(self, widget):
if self._list_one.widget.is_visible():
self._update_genres()
else:
self._init_genres()
"""
Init list with genres or artist
If update, only update list content
@param obj as unused, bool
"""
def _setup_list_one(self, obj = None, update = None):
if self._list_one_signal:
self._list_one.disconnect(self._list_one_signal)
active = self._toolbar.get_view_genres_btn().get_active()
if active:
items = Objects["genres"].get_ids()
else:
self._list_two.widget.hide()
items = Objects["artists"].get_ids(ALL)
if len(Objects["albums"].get_compilations(ALL)) > 0:
items.insert(0, (COMPILATIONS, _("Compilations")))
items.insert(0, (ALL, _("All artists")))
items.insert(0, (POPULARS, _("Popular albums")))
if update:
self._list_one.update(items, not active)
else:
self._list_one.populate(items, not active)
# If was empty
if not self._list_one_signal:
self._list_one.select_first()
if self._loading:
self._stack.get_visible_child().hide()
self._list_one.select_first()
self._update_view_albums(POPULARS)
self._loading = False
self._list_one.widget.show()
if active:
self._list_one_signal = self._list_one.connect('item-selected', self._setup_list_two)
else:
self._list_one_signal = self._list_one.connect('item-selected', self._update_view_artists, None)
"""
Init list two with artist based on genre
@param obj as unused, genre id as int
"""
def _setup_list_two(self, obj, genre_id):
if self._list_two_signal:
self._list_two.disconnect(self._list_two_signal)
if genre_id == POPULARS:
self._list_two.widget.hide()
self._list_two_signal = None
else:
values = Objects["artists"].get_ids(genre_id)
if len(Objects["albums"].get_compilations(genre_id)) > 0:
values.insert(0, (COMPILATIONS, _("Compilations")))
self._list_two.populate(values, True)
self._list_two.widget.show()
self._list_two_signal = self._list_two.connect('item-selected', self._update_view_artists, genre_id)
示例2: Window
# 需要导入模块: from lollypop.selectionlist import SelectionList [as 别名]
# 或者: from lollypop.selectionlist.SelectionList import select_first [as 别名]
#.........这里部分代码省略.........
self._view = LoadingView()
separator = Gtk.Separator()
separator.show()
self._box.add(self._list_genres.widget)
self._box.add(separator)
self._box.add(self._list_artists.widget)
self._box.add(self._view)
self.add(self._box)
self._box.show()
self.show()
"""
Run collection update on mapped window
Pass _update_genre() as collection scanned callback
"""
def _on_mapped_window(self, obj, data):
if self._db.is_empty():
self._scanner.update(self._update_genres)
else:
genres = self._db.get_all_genres()
self._update_genres(genres)
"""
Update genres list with genres
"""
def _update_genres(self, genres):
genres.insert(0, (-1, _("All genres")))
genres.insert(0, (-2, _("Populars albums")))
self._list_genres.populate(genres)
self._list_genres.connect('item-selected', self._update_artists)
self._list_genres.widget.show()
self._list_genres.select_first()
"""
Update artist list for genre_id
"""
def _update_artists(self, obj, genre_id):
if self._artist_signal_id:
self._list_artists.disconnect(self._artist_signal_id)
if genre_id == -1:
self._list_artists.populate(self._db.get_all_artists(), True)
self._update_view_albums(self, -1)
self._list_artists.widget.show()
elif genre_id == -2:
self._update_view_populars_albums()
self._list_artists.widget.hide()
else:
self._list_artists.populate(self._db.get_artists_by_genre_id(genre_id), True)
self._update_view_albums(self, genre_id)
self._list_artists.widget.show()
self._artist_signal_id = self._list_artists.connect('item-selected', self._update_view_artist)
self._genre_id = genre_id
"""
Update artist view for artist_id
"""
def _update_view_artist(self, obj, artist_id):
self._box.remove(self._view)
self._view.destroy()
self._view = ArtistView(self._db, self._player, self._genre_id, artist_id)
self._box.add(self._view)
self._view.populate()
"""