mirror of
https://github.com/taigrr/crocgui
synced 2025-01-18 04:03:16 -08:00
show license info in another window
This commit is contained in:
parent
ebe2f1d6d3
commit
359de29a9c
37
about.go
37
about.go
@ -1,7 +1,10 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bufio"
|
||||||
|
"bytes"
|
||||||
_ "embed"
|
_ "embed"
|
||||||
|
"fmt"
|
||||||
"net/url"
|
"net/url"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
@ -30,14 +33,32 @@ func aboutTabItem() *container.TabItem {
|
|||||||
longdesc = strings.ReplaceAll(longdesc, "</b>", "")
|
longdesc = strings.ReplaceAll(longdesc, "</b>", "")
|
||||||
aboutInfo := widget.NewLabel(longdesc)
|
aboutInfo := widget.NewLabel(longdesc)
|
||||||
aboutInfo.Wrapping = fyne.TextWrapWord
|
aboutInfo.Wrapping = fyne.TextWrapWord
|
||||||
licenseInfo := widget.NewLabel(crocguiLicense + thirdPartyLicenses)
|
|
||||||
licenseInfo.Hide()
|
acLicense := widget.NewAccordion()
|
||||||
licenseToggle := widget.NewButton("Toggle License Info", func() {
|
|
||||||
if licenseInfo.Visible() {
|
licenseReader := bytes.NewBufferString(crocguiLicense + thirdPartyLicenses)
|
||||||
licenseInfo.Hide()
|
currentLicense := ""
|
||||||
} else {
|
currentLibrary := "croc"
|
||||||
licenseInfo.Show()
|
scanner := bufio.NewScanner(licenseReader)
|
||||||
|
for scanner.Scan() {
|
||||||
|
line := scanner.Text()
|
||||||
|
if strings.HasPrefix(line, "-----") {
|
||||||
|
acLicense.Append(widget.NewAccordionItem(currentLibrary, widget.NewLabel(currentLicense)))
|
||||||
|
currentLicense = ""
|
||||||
|
scanner.Scan()
|
||||||
|
scanner.Scan()
|
||||||
|
currentLibrary = scanner.Text()
|
||||||
|
scanner.Scan()
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
|
currentLicense += fmt.Sprintln(line)
|
||||||
|
}
|
||||||
|
|
||||||
|
licenseToggle := widget.NewButton("License Info", func() {
|
||||||
|
w := fyne.CurrentApp().NewWindow("licenses")
|
||||||
|
w.SetContent(container.NewScroll(acLicense))
|
||||||
|
w.Resize(fyne.NewSize(450, 800))
|
||||||
|
w.Show()
|
||||||
})
|
})
|
||||||
return container.NewTabItemWithIcon("About", theme.InfoIcon(), container.NewBorder(nil,
|
return container.NewTabItemWithIcon("About", theme.InfoIcon(), container.NewBorder(nil,
|
||||||
widget.NewForm(
|
widget.NewForm(
|
||||||
@ -46,6 +67,6 @@ func aboutTabItem() *container.TabItem {
|
|||||||
),
|
),
|
||||||
nil,
|
nil,
|
||||||
nil,
|
nil,
|
||||||
container.NewVScroll(container.NewVBox(aboutInfo, licenseToggle, licenseInfo)),
|
container.NewVScroll(container.NewVBox(aboutInfo, licenseToggle)),
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user