Closes #249: add Rescan Library to settings menu

This commit is contained in:
Drew Weymouth
2023-09-25 16:38:02 -07:00
parent 3321540bd3
commit f84a03c703
4 changed files with 14 additions and 0 deletions
+2
View File
@@ -90,4 +90,6 @@ type MediaProvider interface {
Scrobble(trackID string, submission bool) error
DownloadTrack(trackID string) (io.Reader, error)
RescanLibrary() error
}
@@ -267,6 +267,11 @@ func (s *subsonicMediaProvider) DownloadTrack(trackID string) (io.Reader, error)
return s.client.Download(trackID)
}
func (s *subsonicMediaProvider) RescanLibrary() error {
_, err := s.client.StartScan()
return err
}
func toTrack(ch *subsonic.Child) *mediaprovider.Track {
if ch == nil {
return nil
+5
View File
@@ -120,6 +120,11 @@ func (b *BrowsingPane) AddSettingsMenuItem(label string, action func()) {
fyne.NewMenuItem(label, action))
}
func (b *BrowsingPane) AddSettingsMenuSeparator() {
b.settingsMenu.Items = append(b.settingsMenu.Items,
fyne.NewMenuItemSeparator())
}
func (b *BrowsingPane) AddNavigationButton(icon fyne.Resource, action func()) {
b.navBtnsContainer.Add(widget.NewButtonWithIcon("", icon, action))
}
+2
View File
@@ -115,6 +115,8 @@ func NewMainWindow(fyneApp fyne.App, appName, displayAppName, appVersion string,
})
m.BrowsingPane.AddSettingsMenuItem("Log Out", func() { app.ServerManager.Logout(true) })
m.BrowsingPane.AddSettingsMenuItem("Switch Servers", func() { app.ServerManager.Logout(false) })
m.BrowsingPane.AddSettingsMenuItem("Rescan Library", func() { app.ServerManager.Server.RescanLibrary() })
m.BrowsingPane.AddSettingsMenuSeparator()
m.BrowsingPane.AddSettingsMenuItem("Check for Updates", func() {
go func() {
if t := app.UpdateChecker.CheckLatestVersionTag(); t != "" && t != app.VersionTag() {