42 lines
884 B
Go
42 lines
884 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)
|
|
|
|
projectList := container.NewVBox()
|
|
|
|
for _, project := range projects {
|
|
row := NewProjectRow(project)
|
|
projectList.Add(row)
|
|
}
|
|
|
|
scrollContainer := container.NewVScroll(projectList)
|
|
mainContainer := container.NewBorder(nil, logText, nil, nil, scrollContainer)
|
|
|
|
myWindow.SetContent(mainContainer)
|
|
myWindow.ShowAndRun()
|
|
} |