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() {
|
bp.NowPlaying.OnAddToPlaylist = func() {
|
||||||
contr.DoAddTracksToPlaylistWorkflow([]string{bp.playbackManager.NowPlaying().ID})
|
contr.DoAddTracksToPlaylistWorkflow([]string{bp.playbackManager.NowPlaying().ID})
|
||||||
}
|
}
|
||||||
bp.NowPlaying.OnAlbumNameTapped(func() {
|
bp.NowPlaying.OnAlbumNameTapped = func() {
|
||||||
contr.NavigateTo(controller.AlbumRoute(bp.playbackManager.NowPlaying().AlbumID))
|
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))
|
contr.NavigateTo(controller.ArtistRoute(artistID))
|
||||||
})
|
}
|
||||||
bp.NowPlaying.OnTrackNameTapped(func() {
|
bp.NowPlaying.OnTrackNameTapped = func() {
|
||||||
contr.NavigateTo(controller.NowPlayingRoute(bp.playbackManager.NowPlaying().ID))
|
contr.NavigateTo(controller.NowPlayingRoute(bp.playbackManager.NowPlaying().ID))
|
||||||
})
|
}
|
||||||
bp.Controls = widgets.NewPlayerControls()
|
bp.Controls = widgets.NewPlayerControls()
|
||||||
bp.Controls.OnPlayPause(func() {
|
bp.Controls.OnPlayPause(func() {
|
||||||
p.PlayPause()
|
p.PlayPause()
|
||||||
|
|||||||
@@ -23,6 +23,9 @@ type NowPlayingCard struct {
|
|||||||
cover *TappableImage
|
cover *TappableImage
|
||||||
menu *widget.PopUpMenu
|
menu *widget.PopUpMenu
|
||||||
|
|
||||||
|
OnTrackNameTapped func()
|
||||||
|
OnArtistNameTapped func(artistID string)
|
||||||
|
OnAlbumNameTapped func()
|
||||||
OnShowCoverImage func()
|
OnShowCoverImage func()
|
||||||
OnSetRating func(rating int)
|
OnSetRating func(rating int)
|
||||||
OnSetFavorite func(favorite bool)
|
OnSetFavorite func(favorite bool)
|
||||||
@@ -46,6 +49,9 @@ func NewNowPlayingCard() *NowPlayingCard {
|
|||||||
n.cover.SetMinSize(fyne.NewSize(85, 85))
|
n.cover.SetMinSize(fyne.NewSize(85, 85))
|
||||||
n.cover.FillMode = canvas.ImageFillContain
|
n.cover.FillMode = canvas.ImageFillContain
|
||||||
n.cover.Hidden = true
|
n.cover.Hidden = true
|
||||||
|
n.albumName.OnTapped = n.onAlbumNameTapped
|
||||||
|
n.artistName.OnTapped = n.onArtistNameTapped
|
||||||
|
n.trackName.OnTapped = n.onTrackNameTapped
|
||||||
|
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
@@ -55,6 +61,24 @@ func (n *NowPlayingCard) MinSize() fyne.Size {
|
|||||||
return fyne.NewSize(n.BaseWidget.MinSize().Width, 85)
|
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) {
|
func (n *NowPlayingCard) onShowCoverImage(*fyne.PointEvent) {
|
||||||
if n.OnShowCoverImage != nil {
|
if n.OnShowCoverImage != nil {
|
||||||
n.OnShowCoverImage()
|
n.OnShowCoverImage()
|
||||||
@@ -99,18 +123,6 @@ func (n *NowPlayingCard) Update(track string, artists, artistIDs []string, album
|
|||||||
n.Refresh()
|
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) {
|
func (n *NowPlayingCard) showMenu(e *fyne.PointEvent) {
|
||||||
if n.menu == nil {
|
if n.menu == nil {
|
||||||
ratingMenu := util.NewRatingSubmenu(n.onSetRating)
|
ratingMenu := util.NewRatingSubmenu(n.onSetRating)
|
||||||
|
|||||||
Reference in New Issue
Block a user