Beispiel #1
0
 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
Beispiel #2
0
 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
Beispiel #3
0
 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
Beispiel #4
0
    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)