This commit is contained in:
@@ -43,6 +43,14 @@ func Make(a fyne.App, d *data.Service) fyne.Window {
|
|||||||
toolbar := widget.NewToolbar(
|
toolbar := widget.NewToolbar(
|
||||||
widget.NewToolbarAction(theme.FolderNewIcon(), func() {
|
widget.NewToolbarAction(theme.FolderNewIcon(), func() {
|
||||||
folderSelection := dialog.NewFolderOpen(func(lu fyne.ListableURI, err error) {
|
folderSelection := dialog.NewFolderOpen(func(lu fyne.ListableURI, err error) {
|
||||||
|
if err != nil {
|
||||||
|
d := dialog.NewError(fmt.Errorf("failed to open window: %w", err), w)
|
||||||
|
d.Show()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if lu == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
confirmDialog := dialog.NewConfirm("Add", "Do you want to add and scan '"+lu.Path()+"'?", func(accepted bool) {
|
confirmDialog := dialog.NewConfirm("Add", "Do you want to add and scan '"+lu.Path()+"'?", func(accepted bool) {
|
||||||
if !accepted {
|
if !accepted {
|
||||||
return
|
return
|
||||||
@@ -55,22 +63,32 @@ func Make(a fyne.App, d *data.Service) fyne.Window {
|
|||||||
go func() {
|
go func() {
|
||||||
gameID, err := d.Add(name, lu.Path(), "")
|
gameID, err := d.Add(name, lu.Path(), "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
fyne.Do(func() {
|
||||||
d := dialog.NewError(fmt.Errorf("failed to create metadata the directory: %w", err), w)
|
d := dialog.NewError(fmt.Errorf("failed to create metadata the directory: %w", err), w)
|
||||||
d.Show()
|
d.Show()
|
||||||
|
loadingDialog.Hide()
|
||||||
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = d.Scan(gameID)
|
_, err = d.Scan(gameID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
fyne.Do(func() {
|
||||||
d := dialog.NewError(fmt.Errorf("failed to scan the directory: %w", err), w)
|
d := dialog.NewError(fmt.Errorf("failed to scan the directory: %w", err), w)
|
||||||
d.Show()
|
d.Show()
|
||||||
|
loadingDialog.Hide()
|
||||||
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
games, err = d.AllGames()
|
games, err = d.AllGames()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
fyne.Do(func() {
|
||||||
d := dialog.NewError(fmt.Errorf("failed to load datastore: %w", err), w)
|
d := dialog.NewError(fmt.Errorf("failed to load datastore: %w", err), w)
|
||||||
d.Show()
|
d.Show()
|
||||||
|
loadingDialog.Hide()
|
||||||
|
})
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
fyne.Do(func() {
|
fyne.Do(func() {
|
||||||
|
|||||||
Reference in New Issue
Block a user