def _on_list_button_clicked(self, widget, unused=None): """ Show current playback context popover @param widget as Gtk.Widget """ if self.__list_popover is not None: return self.__next_was_inhibited = self.__next_popover.inhibited self.__next_popover.hide() self.__next_popover.inhibit(True) if Lp().player.current_track.id == Type.EXTERNALS: from lollypop.pop_externals import ExternalsPopover self.__list_popover = ExternalsPopover() self.__list_popover.set_relative_to(self.__list_button) self.__list_popover.populate() self.__list_popover.show() elif Lp().player.get_queue(): from lollypop.pop_queue import QueuePopover self.__list_popover = QueuePopover() self.__list_popover.set_relative_to(self.__list_button) self.__list_popover.show() elif Lp().player.get_user_playlist_ids(): from lollypop.pop_playlists import PlaylistsPopover self.__list_popover = PlaylistsPopover() self.__list_popover.set_relative_to(self.__list_button) self.__list_popover.show() else: from lollypop.pop_albums import AlbumsPopover self.__list_popover = AlbumsPopover() self.__list_popover.set_relative_to(self.__list_button) self.__list_popover.show() self.__list_popover.connect('closed', self.__on_list_popover_closed) return True
def _on_list_button_clicked(self, widget, unused=None): """ Show current playback context popover @param widget as Gtk.Widget """ if self._list_popover is not None: return self._next_popover.hide() if Lp().player.current_track.id == Type.EXTERNALS: self._list_popover = ExternalsPopover() self._list_popover.set_relative_to(self._list_button) self._list_popover.populate() self._list_popover.show() elif Lp().player.get_queue(): self._list_popover = QueuePopover() self._list_popover.set_relative_to(self._list_button) self._list_popover.show() elif Lp().player.get_user_playlist_ids(): self._list_popover = PlaylistsPopover() self._list_popover.set_relative_to(self._list_button) self._list_popover.show() else: self._list_popover = AlbumsPopover() self._list_popover.set_relative_to(self._list_button) self._list_popover.show() self._list_popover.connect('closed', self._on_list_popover_closed) return True
def _on_list_button_toggled(self, button): """ Show current playback context popover @param button as Gtk.MenuButton """ if not button.get_active(): return self.__next_popover.hide() self.__next_popover.inhibit(True) if App().player.queue: from lollypop.pop_queue import QueuePopover popover = QueuePopover() elif App().player.playlist_ids: from lollypop.pop_playlists import PlaylistsPopover popover = PlaylistsPopover() else: from lollypop.pop_albums import AlbumsPopover popover = AlbumsPopover() popover.set_relative_to(button) popover.popup() popover.connect("closed", self.__on_popover_closed, button) return True
def __init__(self): """ Init toolbar """ Gtk.Bin.__init__(self) builder = Gtk.Builder() builder.add_from_resource('/org/gnome/Lollypop/ToolbarInfos.ui') builder.connect_signals(self) infobox = builder.get_object('infos') infobox.set_property('has-tooltip', True) self.add(infobox) self._title_label = builder.get_object('title') self._artist_label = builder.get_object('artist') self._cover = builder.get_object('cover') self._pop_albums = AlbumsPopover() self._pop_albums.set_relative_to(infobox) self._pop_tunein = TuneinPopover(RadiosManager()) self._pop_tunein.set_relative_to(infobox) Lp.art.connect('cover-changed', self._update_cover) Lp.art.connect('logo-changed', self._update_logo)