Add resource loading to ITD FS tab

This commit is contained in:
2022-11-15 19:20:34 -08:00
parent c97fcaeefb
commit 908bd7d5f3
6 changed files with 153 additions and 50 deletions

View File

@@ -11,17 +11,21 @@ import (
)
type progress struct {
lbl *widget.Label
pb *widget.ProgressBar
lbl *widget.Label
progLbl *widget.Label
pb *widget.ProgressBar
*widget.PopUp
}
func newProgress(w fyne.Window) progress {
out := progress{}
out.lbl = widget.NewLabel("")
out.lbl.Hide()
// Create label to show how many bytes transfered and center it
out.lbl = widget.NewLabel("0 / 0 B")
out.lbl.Alignment = fyne.TextAlignCenter
out.progLbl = widget.NewLabel("0 / 0 B")
out.progLbl.Alignment = fyne.TextAlignCenter
// Create new progress bar
out.pb = widget.NewProgressBar()
@@ -31,20 +35,30 @@ func newProgress(w fyne.Window) progress {
sizeRect.SetMinSize(fyne.NewSize(300, 50))
// Create vbox for label and progress bar
l := container.NewVBox(out.lbl, out.pb)
l := container.NewVBox(out.lbl, out.progLbl, out.pb)
// Create popup
out.PopUp = widget.NewModalPopUp(container.NewMax(l, sizeRect), w.Canvas())
return out
}
func (p progress) SetText(s string) {
p.lbl.SetText(s)
if s == "" {
p.lbl.Hide()
} else {
p.lbl.Show()
}
}
func (p progress) SetTotal(v float64) {
p.pb.Max = v
p.pb.Refresh()
p.lbl.SetText(fmt.Sprintf("%.0f / %.0f B", p.pb.Value, v))
p.progLbl.SetText(fmt.Sprintf("%.0f / %.0f B", p.pb.Value, v))
}
func (p progress) SetValue(v float64) {
p.pb.SetValue(v)
p.lbl.SetText(fmt.Sprintf("%.0f / %.0f B", v, p.pb.Max))
p.progLbl.SetText(fmt.Sprintf("%.0f / %.0f B", v, p.pb.Max))
}