diff --git a/internal/ui/components.go b/internal/ui/components.go index 6f44af8..7e4a4f5 100644 --- a/internal/ui/components.go +++ b/internal/ui/components.go @@ -297,8 +297,19 @@ func (d *Droppable) DraggedOut() {} // Dropped handles drop events func (d *Droppable) Dropped(ev *desktop.DragEvent) { - if d.onDropped != nil && ev != nil { + if d.onDropped == nil || ev == nil { + return + } + if len(ev.URIs) > 0 { d.onDropped(ev.URIs) + return + } + if ev.DraggedObj != nil { + if fileURI, ok := ev.DraggedObj.(*fyne.StaticResource); ok && fileURI != nil { + if u, err := fyne.ParseURI(fileURI.Name()); err == nil { + d.onDropped([]fyne.URI{u}) + } + } } }