diff --git a/ui/browsing/artistpage.go b/ui/browsing/artistpage.go index 85ee2f6..51e1929 100644 --- a/ui/browsing/artistpage.go +++ b/ui/browsing/artistpage.go @@ -253,6 +253,11 @@ func NewArtistPageHeader(page *ArtistPage) *ArtistPageHeader { SizeName: theme.SizeNameHeadingText, } a.artistImage = widgets.NewImagePlaceholder(res.ResPeopleInvertPng, 225) + a.artistImage.OnTapped = func() { + if im := a.artistImage.Image(); im != nil { + a.artistPage.contr.ShowPopUpImage(im) + } + } a.favoriteBtn = widgets.NewFavoriteButton(func() { go a.toggleFavorited() }) a.playBtn = widget.NewButtonWithIcon("Play Discography", theme.MediaPlayIcon(), page.playAllTracks) a.playRadioBtn = widget.NewButtonWithIcon("Play Artist Radio", res.ResShuffleInvertSvg, page.playArtistRadio) diff --git a/ui/widgets/imageplaceholder.go b/ui/widgets/imageplaceholder.go index da92502..6fafe5b 100644 --- a/ui/widgets/imageplaceholder.go +++ b/ui/widgets/imageplaceholder.go @@ -14,7 +14,7 @@ import ( type ImagePlaceholder struct { widget.BaseWidget container *fyne.Container - haveImage bool + image image.Image minSize float32 OnTapped func() @@ -44,11 +44,12 @@ type CanvasImage interface { } func (i *ImagePlaceholder) HaveImage() bool { - return i.haveImage + return i.image != nil } func (i *ImagePlaceholder) SetImage(img image.Image, tappable bool) { var cIm CanvasImage + i.image = img if tappable { cImg := NewTappableImage(i.onTapped) cImg.Image.Image = img @@ -63,7 +64,10 @@ func (i *ImagePlaceholder) SetImage(img image.Image, tappable bool) { i.container.RemoveAll() i.container.Add(cIm) i.container.Refresh() - i.haveImage = true +} + +func (i *ImagePlaceholder) Image() image.Image { + return i.image } func (i *ImagePlaceholder) onTapped() {