75 lines
1.7 KiB
Go
75 lines
1.7 KiB
Go
package ui
|
|
|
|
import (
|
|
"image/color"
|
|
"time"
|
|
|
|
"fyne.io/fyne/v2"
|
|
"fyne.io/fyne/v2/canvas"
|
|
"fyne.io/fyne/v2/dialog"
|
|
"fyne.io/fyne/v2/driver/desktop"
|
|
fyne_storage "fyne.io/fyne/v2/storage"
|
|
"fyne.io/fyne/v2/widget"
|
|
)
|
|
|
|
// 显示Tip
|
|
func ShowTip(content string) {
|
|
drv := fyne.CurrentApp().Driver()
|
|
if drv, ok := drv.(desktop.Driver); ok {
|
|
w := drv.CreateSplashWindow()
|
|
w.SetContent(widget.NewLabelWithStyle(content, fyne.TextAlignCenter, fyne.TextStyle{}))
|
|
w.Show()
|
|
|
|
go func() {
|
|
time.Sleep(time.Millisecond * 1500)
|
|
w.Close()
|
|
}()
|
|
}
|
|
}
|
|
|
|
func ShowCanvasTip(content string) {
|
|
drv := fyne.CurrentApp().Driver()
|
|
if drv, ok := drv.(desktop.Driver); ok {
|
|
w := drv.CreateSplashWindow()
|
|
w.SetContent(canvas.NewText(content, color.RGBA{255, 0, 0, 255}))
|
|
w.Show()
|
|
|
|
go func() {
|
|
time.Sleep(time.Millisecond * 1500)
|
|
w.Close()
|
|
}()
|
|
}
|
|
}
|
|
|
|
// 打开目录
|
|
func OpenFolder(entry *widget.Entry, w fyne.Window) {
|
|
dConf := dialog.NewFolderOpen(func(lu fyne.ListableURI, err error) {
|
|
if lu == nil {
|
|
return
|
|
}
|
|
entry.Text = lu.Path()
|
|
entry.Refresh()
|
|
}, w)
|
|
luri, _ := fyne_storage.ListerForURI(fyne_storage.NewFileURI("."))
|
|
dConf.SetLocation(luri)
|
|
dConf.SetConfirmText("打开")
|
|
dConf.SetDismissText("取消")
|
|
dConf.Resize(fyne.NewSize(750, 500))
|
|
dConf.Show()
|
|
}
|
|
|
|
func OpenFile(entry *widget.Entry, w fyne.Window) {
|
|
dConf := dialog.NewFileOpen(func(lu fyne.URIReadCloser, err error) {
|
|
if lu == nil {
|
|
return
|
|
}
|
|
entry.SetText(lu.URI().Path())
|
|
entry.Refresh()
|
|
}, w)
|
|
dConf.SetConfirmText("打开")
|
|
dConf.SetDismissText("取消")
|
|
dConf.SetFilter(fyne_storage.NewExtensionFileFilter([]string{".json"}))
|
|
dConf.Resize(fyne.NewSize(750, 500))
|
|
dConf.Show()
|
|
}
|