more refactoring to make nowplayingcard more consistent with rest of widget APIs
This commit is contained in:
+6
-6
@@ -73,15 +73,15 @@ func NewBottomPanel(p *player.Player, pm *backend.PlaybackManager, contr *contro
|
||||
bp.NowPlaying.OnAddToPlaylist = func() {
|
||||
contr.DoAddTracksToPlaylistWorkflow([]string{bp.playbackManager.NowPlaying().ID})
|
||||
}
|
||||
bp.NowPlaying.OnAlbumNameTapped(func() {
|
||||
bp.NowPlaying.OnAlbumNameTapped = func() {
|
||||
contr.NavigateTo(controller.AlbumRoute(bp.playbackManager.NowPlaying().AlbumID))
|
||||
})
|
||||
bp.NowPlaying.OnArtistNameTapped(func(artistID string) {
|
||||
}
|
||||
bp.NowPlaying.OnArtistNameTapped = func(artistID string) {
|
||||
contr.NavigateTo(controller.ArtistRoute(artistID))
|
||||
})
|
||||
bp.NowPlaying.OnTrackNameTapped(func() {
|
||||
}
|
||||
bp.NowPlaying.OnTrackNameTapped = func() {
|
||||
contr.NavigateTo(controller.NowPlayingRoute(bp.playbackManager.NowPlaying().ID))
|
||||
})
|
||||
}
|
||||
bp.Controls = widgets.NewPlayerControls()
|
||||
bp.Controls.OnPlayPause(func() {
|
||||
p.PlayPause()
|
||||
|
||||
@@ -23,10 +23,13 @@ type NowPlayingCard struct {
|
||||
cover *TappableImage
|
||||
menu *widget.PopUpMenu
|
||||
|
||||
OnShowCoverImage func()
|
||||
OnSetRating func(rating int)
|
||||
OnSetFavorite func(favorite bool)
|
||||
OnAddToPlaylist func()
|
||||
OnTrackNameTapped func()
|
||||
OnArtistNameTapped func(artistID string)
|
||||
OnAlbumNameTapped func()
|
||||
OnShowCoverImage func()
|
||||
OnSetRating func(rating int)
|
||||
OnSetFavorite func(favorite bool)
|
||||
OnAddToPlaylist func()
|
||||
}
|
||||
|
||||
func NewNowPlayingCard() *NowPlayingCard {
|
||||
@@ -46,6 +49,9 @@ func NewNowPlayingCard() *NowPlayingCard {
|
||||
n.cover.SetMinSize(fyne.NewSize(85, 85))
|
||||
n.cover.FillMode = canvas.ImageFillContain
|
||||
n.cover.Hidden = true
|
||||
n.albumName.OnTapped = n.onAlbumNameTapped
|
||||
n.artistName.OnTapped = n.onArtistNameTapped
|
||||
n.trackName.OnTapped = n.onTrackNameTapped
|
||||
|
||||
return n
|
||||
}
|
||||
@@ -55,6 +61,24 @@ func (n *NowPlayingCard) MinSize() fyne.Size {
|
||||
return fyne.NewSize(n.BaseWidget.MinSize().Width, 85)
|
||||
}
|
||||
|
||||
func (n *NowPlayingCard) onAlbumNameTapped() {
|
||||
if n.OnAlbumNameTapped != nil {
|
||||
n.OnAlbumNameTapped()
|
||||
}
|
||||
}
|
||||
|
||||
func (n *NowPlayingCard) onArtistNameTapped(artistID string) {
|
||||
if n.OnArtistNameTapped != nil {
|
||||
n.OnArtistNameTapped(artistID)
|
||||
}
|
||||
}
|
||||
|
||||
func (n *NowPlayingCard) onTrackNameTapped() {
|
||||
if n.OnTrackNameTapped != nil {
|
||||
n.OnTrackNameTapped()
|
||||
}
|
||||
}
|
||||
|
||||
func (n *NowPlayingCard) onShowCoverImage(*fyne.PointEvent) {
|
||||
if n.OnShowCoverImage != nil {
|
||||
n.OnShowCoverImage()
|
||||
@@ -99,18 +123,6 @@ func (n *NowPlayingCard) Update(track string, artists, artistIDs []string, album
|
||||
n.Refresh()
|
||||
}
|
||||
|
||||
func (n *NowPlayingCard) OnArtistNameTapped(f func(string)) {
|
||||
n.artistName.OnTapped = f
|
||||
}
|
||||
|
||||
func (n *NowPlayingCard) OnAlbumNameTapped(f func()) {
|
||||
n.albumName.OnTapped = f
|
||||
}
|
||||
|
||||
func (n *NowPlayingCard) OnTrackNameTapped(f func()) {
|
||||
n.trackName.OnTapped = f
|
||||
}
|
||||
|
||||
func (n *NowPlayingCard) showMenu(e *fyne.PointEvent) {
|
||||
if n.menu == nil {
|
||||
ratingMenu := util.NewRatingSubmenu(n.onSetRating)
|
||||
|
||||
Reference in New Issue
Block a user