WIP: add track info dialog
This commit is contained in:
@@ -146,6 +146,7 @@ func (m *Controller) connectTracklistActionsWithReplayGainMode(tracklist *widget
|
||||
tracklist.OnShare = func(trackID string) {
|
||||
go m.ShowShareDialog(trackID)
|
||||
}
|
||||
tracklist.OnShowTrackInfo = m.ShowTrackInfoDialog
|
||||
tracklist.OnPlaySongRadio = func(track *mediaprovider.Track) {
|
||||
go func() {
|
||||
tracks, err := m.GetSongRadioTracks(track)
|
||||
@@ -858,6 +859,23 @@ func (c *Controller) ShowAlbumInfoDialog(albumID, albumName string, albumCover i
|
||||
}()
|
||||
}
|
||||
|
||||
func (c *Controller) ShowTrackInfoDialog(track *mediaprovider.Track) {
|
||||
info := dialogs.NewTrackInfoDialog(track)
|
||||
pop := widget.NewModalPopUp(info, c.MainWindow.Canvas())
|
||||
info.OnDismiss = func() {
|
||||
pop.Hide()
|
||||
c.doModalClosed()
|
||||
}
|
||||
c.ClosePopUpOnEscape(pop)
|
||||
winSize := c.MainWindow.Canvas().Size()
|
||||
popMin := pop.MinSize()
|
||||
width := fyne.Max(700, fyne.Max(popMin.Width, winSize.Width*0.6))
|
||||
height := fyne.Max(500, fyne.Max(popMin.Height, winSize.Height*0.7))
|
||||
pop.Resize(fyne.NewSize(width, height))
|
||||
c.haveModal = true
|
||||
pop.Show()
|
||||
}
|
||||
|
||||
func (c *Controller) GetSongRadioTracks(sourceTrack *mediaprovider.Track) ([]*mediaprovider.Track, error) {
|
||||
radioTracks, err := c.App.ServerManager.Server.GetSongRadio(sourceTrack.ID, 100)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user