60 lines
1.3 KiB
Go
60 lines
1.3 KiB
Go
// Copyright 2017-2025 WIT.COM Inc. All rights reserved.
|
|
// Use of this source code is governed by the GPL 3.0
|
|
|
|
package main
|
|
|
|
// An app to submit patches for the 30 GO GUI repos
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"sync"
|
|
"time"
|
|
|
|
"go.wit.com/gui"
|
|
"go.wit.com/lib/debugger"
|
|
"go.wit.com/lib/gadgets"
|
|
"go.wit.com/lib/protobuf/gitpb"
|
|
"go.wit.com/log"
|
|
)
|
|
|
|
type stdReposTableWin struct {
|
|
sync.Mutex
|
|
win *gadgets.GenericWindow // the machines gui window
|
|
boxTB *gui.Node // the machines gui parent box widget
|
|
TB *gitpb.ReposTable // the gui table buffer
|
|
pb *gitpb.Repos // the current repos protobuf
|
|
update bool // if the window should be updated
|
|
}
|
|
|
|
func (w *stdReposTableWin) Toggle() {
|
|
if w == nil {
|
|
return
|
|
}
|
|
if w.win == nil {
|
|
return
|
|
}
|
|
w.win.Toggle()
|
|
}
|
|
|
|
func makeReposWindowNew() *gadgets.GenericWindow {
|
|
win := gadgets.NewGenericWindow("git repos", "Filter")
|
|
win.Custom = func() {
|
|
// sets the hidden flag to false so Toggle() works
|
|
win.Hide()
|
|
}
|
|
|
|
hbox := win.Group.Box().Horizontal()
|
|
hbox.NewCheckbox("broken")
|
|
hbox.NewCheckbox("dirty")
|
|
hbox.NewCheckbox("mine")
|
|
hbox.NewButton("fix all", func() {
|
|
log.Info("try to fix everything here")
|
|
})
|
|
|
|
t := makeStandardReposGrid(me.forge.Repos)
|
|
t.SetParent(win.Bottom)
|
|
t.ShowTable()
|
|
return win
|
|
}
|