Files
unreal-launcher/main.go
2025-03-31 13:35:32 +02:00

49 lines
984 B
Go

package main
import (
"fmt"
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/widget"
)
const projectsFilePath = "projects.json"
var logMaxLines = 7
func main() {
myApp := app.New()
myWindow := myApp.NewWindow("Unreal Project Launcher")
myWindow.Resize(fyne.NewSize(730, 460))
projects, err := LoadProjects(projectsFilePath)
if err != nil {
fmt.Println("Error while loading projects")
}
logText := widget.NewMultiLineEntry()
logText.SetMinRowsVisible(logMaxLines);
InitLogger(logText, logMaxLines)
var projectList *fyne.Container
reloadUI := func() {
projectList.RemoveAll()
for _, project := range projects {
row := NewProjectRow(project)
projectList.Add(row)
}
}
projectList = container.NewVBox()
reloadUI()
scrollContainer := container.NewVScroll(projectList)
mainContainer := container.NewBorder(nil, logText, nil, nil, scrollContainer)
myWindow.SetContent(mainContainer)
myWindow.ShowAndRun()
}