def _on_menu_button_clicked(self, button):
     """
         Show album menu
         @param button as Gtk.Button
     """
     from lollypop.widgets_menu import MenuBuilder
     from lollypop.menu_artist import ArtistMenu
     from lollypop.menu_similars import SimilarsMenu
     from lollypop.menu_artwork import ArtistArtworkMenu
     menu = ArtistMenu(self.__artist_ids[0],
                       self.__storage_type,
                       self.view_type,
                       App().window.folded)
     menu_widget = MenuBuilder(menu, False)
     menu_widget.show()
     menu_ext = SimilarsMenu(self.__artist_ids[0])
     menu_ext.show()
     menu_widget.add_widget(menu_ext)
     if App().window.folded:
         menu_ext2 = ArtistArtworkMenu(self.__artist_ids[0],
                                       self.view_type,
                                       True)
         menu_ext2.connect("hidden", self.__close_artwork_menu)
         menu_ext2.show()
         menu_widget.add_widget(menu_ext2)
     popup_widget(menu_widget, button, None, None, button)
Example #2
0
 def __popup_menu(self, y=None, relative=None):
     """
         Show menu at y or row
         @param y as int
         @param relative as Gtk.Widget
     """
     if self.__base_mask & SelectionListMask.SIDEBAR:
         menu = None
         row_id = None
         if relative is None:
             relative = self._box.get_row_at_y(y)
             if relative is not None:
                 row_id = relative.id
         if row_id is None:
             from lollypop.menu_selectionlist import SelectionListMenu
             menu = SelectionListMenu(self,
                                      self.mask,
                                      App().window.folded)
         elif not App().settings.get_value("save-state"):
             from lollypop.menu_selectionlist import SelectionListRowMenu
             menu = SelectionListRowMenu(row_id,
                                         App().window.folded)
         if menu is not None:
             from lollypop.widgets_menu import MenuBuilder
             menu_widget = MenuBuilder(menu)
             menu_widget.show()
             popup_widget(menu_widget, relative, None, None, None)
 def __on_menu_button_clicked(self, button):
     """
         Save to playlist
         @param button as Gtk.Button
     """
     from lollypop.widgets_menu import MenuBuilder
     from lollypop.menu_current_albums import CurrentAlbumsMenu
     menu = CurrentAlbumsMenu(App().window.folded)
     menu_widget = MenuBuilder(menu)
     menu_widget.show()
     popup_widget(menu_widget, button, None, None, button)
 def _on_menu_button_clicked(self, button):
     """
         Show playlist menu
         @param button as Gtk.Button
     """
     from lollypop.widgets_menu import MenuBuilder
     from lollypop.menu_search import SearchMenu
     menu = SearchMenu(App().window.folded)
     menu_widget = MenuBuilder(menu)
     menu_widget.show()
     popup_widget(menu_widget, button, None, None, button)
Example #5
0
 def __on_menu_button_clicked(self, button):
     """
         Show suggestions menu
         @param button as Gtk.Button
     """
     from lollypop.menu_suggestions import SuggestionsMenu
     from lollypop.widgets_menu import MenuBuilder
     menu = SuggestionsMenu(App().window.folded)
     menu_widget = MenuBuilder(menu)
     menu_widget.show()
     popup_widget(menu_widget, button, None, None, button)
Example #6
0
 def __on_menu_button_clicked(self, button):
     """
         Show playlist menu
         @param button as Gtk.Button
     """
     from lollypop.menu_selectionlist import SelectionListMenu
     from lollypop.widgets_menu import MenuBuilder
     menu = SelectionListMenu(self.__view, SelectionListMask.PLAYLISTS,
                              App().window.folded)
     menu_widget = MenuBuilder(menu)
     menu_widget.show()
     popup_widget(menu_widget, button, None, None, button)
Example #7
0
 def __popup_menu(self, x, y):
     """
         Popup menu for album
         @param x as int
         @param y as int
     """
     row = self._box.get_row_at_y(y)
     if row is None:
         return
     from lollypop.menu_objects import AlbumMenu
     from lollypop.widgets_menu import MenuBuilder
     menu = AlbumMenu(row.album, ViewType.ALBUM, self.view_type)
     menu_widget = MenuBuilder(menu)
     menu_widget.show()
     popup_widget(menu_widget, self._box, x, y, row)
Example #8
0
 def _on_menu_button_clicked(self, button):
     """
         Show album menu
         @param button as Gtk.Button
     """
     from lollypop.widgets_menu import MenuBuilder
     from lollypop.menu_objects import AlbumMenu
     from lollypop.menu_artwork import AlbumArtworkMenu
     menu = AlbumMenu(self.__album, self.__storage_type, self.view_type)
     menu_widget = MenuBuilder(menu)
     menu_widget.show()
     if App().window.folded:
         menu_ext = AlbumArtworkMenu(self.__album, self.view_type, True)
         menu_ext.connect("hidden", self.__close_artwork_menu)
         menu_ext.show()
         menu_widget.add_widget(menu_ext, -2)
     popup_widget(menu_widget, button, None, None, button)
Example #9
0
 def __on_banner_show_menu(self, banner, button):
     """
         Show contextual menu
         @param banner as AlbumsBannerWidget
         @param button as Gtk.Button
     """
     from lollypop.menu_objects import AlbumsMenu
     from lollypop.widgets_menu import MenuBuilder
     albums = []
     for child in self._box.get_children():
         if child.data.storage_type & StorageType.COLLECTION:
             albums.append(child.data)
     title = get_title_for_genres_artists(self._genre_ids, self._artist_ids)
     menu = AlbumsMenu(title, albums, self.view_type)
     menu_widget = MenuBuilder(menu)
     menu_widget.show()
     popup_widget(menu_widget, button, None, None, button)
 def __popup_menu(self, child):
     """
         Popup menu for playlist
         @param child as PlaylistRoundedWidget
     """
     from lollypop.widgets_menu import MenuBuilder
     from lollypop.menu_playlist import PlaylistMenu, PlaylistMenuExt
     menu = PlaylistMenu(child.data, self.view_type, App().window.folded)
     menu_widget = MenuBuilder(menu)
     if child.data >= 0:
         menu_widget = MenuBuilder(menu)
         menu_ext = PlaylistMenuExt(child.data)
         menu_ext.show()
         menu_widget.add_widget(menu_ext)
     else:
         menu_widget = MenuBuilder(menu)
     menu_widget.show()
     popup_widget(menu_widget, child, None, None, None)
Example #11
0
 def __popup_menu(self):
     """
         Show contextual menu
     """
     if App().window.folded or not self.__artwork.get_visible():
         return
     track = App().player.current_track
     if track.id >= 0:
         from lollypop.menu_objects import TrackMenu, TrackMenuExt
         from lollypop.widgets_menu import MenuBuilder
         menu = TrackMenu(track, ViewType.TOOLBAR)
         menu_widget = MenuBuilder(menu)
         menu_widget.show()
         if not track.storage_type & StorageType.EPHEMERAL:
             menu_ext = TrackMenuExt(track)
             menu_ext.show()
             menu_widget.add_widget(menu_ext)
         self.set_state_flags(Gtk.StateFlags.FOCUSED, False)
         popup_widget(menu_widget, self.__eventbox, None, None, None)
 def _on_menu_button_clicked(self, button):
     """
         Show playlist menu
         @param button as Gtk.Button
     """
     from lollypop.widgets_menu import MenuBuilder
     from lollypop.menu_playlist import PlaylistMenu, PlaylistMenuExt
     menu = PlaylistMenu(self.__playlist_id, self.view_type,
                         App().window.folded)
     menu_widget = MenuBuilder(menu)
     if self.__playlist_id >= 0:
         menu_widget = MenuBuilder(menu)
         menu_ext = PlaylistMenuExt(self.__playlist_id)
         menu_ext.show()
         menu_widget.add_widget(menu_ext)
     else:
         menu_widget = MenuBuilder(menu)
     menu_widget.show()
     popup_widget(menu_widget, button, None, None, button)
Example #13
0
 def _on_settings_button_toggled(self, button):
     """
        Popup application menu
        @param button as Gtk.ToggleButton
     """
     from lollypop.menu_application import ApplicationMenu
     if button.get_active():
         if self.__playback_menu is not None:
             emit_signal(self.__playback_menu, "hidden", True)
         self.__app_menu = ApplicationMenu()
         self.__app_menu.show()
         popover = popup_widget(self.__app_menu, button, None, None, None)
         if popover is None:
             self.__app_menu.connect("hidden",
                                     self.__on_menu_hidden,
                                     button)
         else:
             popover.connect("hidden", self.__on_menu_hidden, button)
     elif self.__app_menu is not None and App().window.folded:
         emit_signal(self.__app_menu, "hidden", True)
Example #14
0
 def _on_badge_button_release(self, eventbox, event):
     """
         Show artist artwork manager
         @param eventbox as Gtk.EventBox
         @param event as Gdk.Event
     """
     from lollypop.widgets_menu import MenuBuilder
     from lollypop.menu_artwork import ArtistArtworkMenu
     menu = Gio.Menu()
     if App().window.folded:
         from lollypop.menu_header import ArtistMenuHeader
         menu.append_item(ArtistMenuHeader(self.__artist_ids[0]))
     menu_widget = MenuBuilder(menu, False)
     menu_widget.show()
     menu_ext = ArtistArtworkMenu(self.__artist_ids[0], self.view_type,
                                  False)
     menu_ext.connect("hidden", self.__close_artwork_menu)
     menu_ext.show()
     menu_widget.add_widget(menu_ext)
     self.__artwork_popup = popup_widget(menu_widget, eventbox, None, None,
                                         None)
Example #15
0
 def _on_primary_press_gesture(self, x, y, event):
     """
         Show artwork popover
         @param x as int
         @param y as int
         @param event as Gdk.Event
     """
     if self._view_type & ViewType.ALBUM:
         from lollypop.widgets_menu import MenuBuilder
         from lollypop.menu_artwork import AlbumArtworkMenu
         menu = Gio.Menu()
         if App().window.folded:
             from lollypop.menu_header import AlbumMenuHeader
             menu.append_item(AlbumMenuHeader(self._album))
         menu_widget = MenuBuilder(menu, False)
         menu_widget.show()
         menu_ext = AlbumArtworkMenu(self._album, self._view_type, False)
         menu_ext.connect("hidden", self.__close_artwork_menu)
         menu_ext.show()
         menu_widget.add_widget(menu_ext, False)
         self._artwork_popup = popup_widget(menu_widget, self, None, None,
                                            None)
Example #16
0
 def _on_shuffle_button_toggled(self, button):
     """
        Popup shuffle menu
        @param button as Gtk.ToggleButton
     """
     if button.get_active():
         if self.__app_menu is not None:
             emit_signal(self.__app_menu, "hidden", True)
         self.__party_submenu.remove_all()
         self.__init_party_submenu()
         from lollypop.widgets_menu import MenuBuilder
         self.__playback_menu = MenuBuilder(self.__shuffle_menu)
         self.__playback_menu.show()
         popover = popup_widget(self.__playback_menu, button,
                                None, None, None)
         if popover is None:
             self.__playback_menu.connect("hidden",
                                          self.__on_menu_hidden,
                                          button)
         else:
             popover.connect("hidden", self.__on_menu_hidden, button)
     elif self.__playback_menu is not None and App().window.folded:
         emit_signal(self.__playback_menu, "hidden", True)
    def popup_menu(self, parent, x=None, y=None):
        """
            Popup menu for track
            @param parent as Gtk.Widget
            @param x as int
            @param y as int
        """
        def on_hidden(widget, hide):
            self.set_indicator()

        from lollypop.menu_objects import TrackMenu, TrackMenuExt
        from lollypop.widgets_menu import MenuBuilder
        menu = TrackMenu(self._track, self.__view_type)
        menu_widget = MenuBuilder(menu)
        menu_widget.show()
        if not self._track.storage_type & StorageType.EPHEMERAL:
            menu_ext = TrackMenuExt(self._track)
            menu_ext.show()
            menu_widget.add_widget(menu_ext)
        popover = popup_widget(menu_widget, parent, x, y, self)
        if popover is None:
            menu_widget.connect("hidden", on_hidden)
        else:
            popover.connect("hidden", on_hidden)