move show/hide function to seperate file
This commit is contained in:
parent
2d2fc80754
commit
e825cffc8a
|
@ -1,46 +1,14 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"go.wit.com/gui"
|
||||
"go.wit.com/lib/debugger"
|
||||
"go.wit.com/lib/gui/logsettings"
|
||||
"go.wit.com/lib/gui/repolist"
|
||||
"go.wit.com/log"
|
||||
)
|
||||
|
||||
func showHideRepos(repo *repolist.RepoRow) {
|
||||
if repo.GoPath() == "go.wit.com/dev/alexflint/arg" {
|
||||
log.Info("found autoHideReleased() =", me.autoHideReleased.Checked())
|
||||
log.Info("found alexflint/arg IsReleased() =", repo.Status.IsReleased())
|
||||
}
|
||||
// always show dirty repos
|
||||
if repo.IsDirty() {
|
||||
repo.Show()
|
||||
return
|
||||
}
|
||||
// always show repos that have not been merged ?
|
||||
if repo.GoState() == "merge to devel" {
|
||||
repo.Show()
|
||||
return
|
||||
}
|
||||
|
||||
// hide read-only repos. These are repos that do not
|
||||
// match things in the users config file (.config/autotypist)
|
||||
if me.autoHideReadOnly.Checked() {
|
||||
if repo.Status.ReadOnly() {
|
||||
repo.Hide()
|
||||
return
|
||||
}
|
||||
}
|
||||
if me.autoHideReleased.Checked() {
|
||||
if repo.Status.IsReleased() {
|
||||
repo.Hide()
|
||||
return
|
||||
}
|
||||
}
|
||||
repo.Show()
|
||||
}
|
||||
|
||||
func globalDisplayOptions(box *gui.Node) {
|
||||
vbox := box.NewVerticalBox("DISPLAYVBOX")
|
||||
|
||||
|
@ -73,8 +41,15 @@ func globalDisplayOptions(box *gui.Node) {
|
|||
|
||||
me.scanEveryMinute = hidegrid.NewCheckbox("Scan every minute").SetChecked(false)
|
||||
me.scanEveryMinute.Custom = func() {
|
||||
me.repos.View.SetAutoScan(me.scanEveryMinute.Checked())
|
||||
if me.scanEveryMinute.Checked() {
|
||||
os.Setenv("REPO_AUTO_SCAN", "true")
|
||||
log.Info("env REPO_AUTO_SCAN=", os.Getenv("REPO_AUTO_SCAN"))
|
||||
} else {
|
||||
os.Unsetenv("REPO_AUTO_SCAN")
|
||||
log.Info("env REPO_AUTO_SCAN=", os.Getenv("REPO_AUTO_SCAN"))
|
||||
}
|
||||
}
|
||||
|
||||
hidegrid.NewButton("scan now", func() {
|
||||
log.Info("re-scanning repos now")
|
||||
i, s := me.repos.View.ScanRepositories()
|
||||
|
|
|
@ -0,0 +1,89 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"go.wit.com/lib/gui/repolist"
|
||||
"go.wit.com/log"
|
||||
)
|
||||
|
||||
// like tcl/tk, use ENV variables to set display preferences
|
||||
func hideFunction(r *repolist.RepoRow) {
|
||||
if r.GoPath() == "go.wit.com/dev/alexflint/arg" {
|
||||
log.Info("found autoHideReleased() =", me.autoHideReleased.Checked())
|
||||
log.Info("found alexflint/arg IsReleased() =", r.Status.IsReleased())
|
||||
}
|
||||
|
||||
// always show dirty repos
|
||||
if r.Status.IsDirty() {
|
||||
r.Show()
|
||||
return
|
||||
}
|
||||
|
||||
// hide read-only repos
|
||||
if os.Getenv("AUTOTYPIST_READONLY") == "hide" {
|
||||
if r.Status.ReadOnly() {
|
||||
// log.Info(r.Name(), "hiding read-only repo")
|
||||
r.Hide()
|
||||
return
|
||||
} else {
|
||||
// log.Info(r.Name(), "not hiding read-only repo")
|
||||
}
|
||||
}
|
||||
|
||||
// show repos with mismatched mode
|
||||
// this means, if you are in "devel" mode, show all the repos that
|
||||
// might be stuck on the wrong branch, like 'master' or '<username>'
|
||||
if os.Getenv("AUTOTYPIST_MODE") != "" {
|
||||
if !r.Status.IsCorrectMode(os.Getenv("AUTOTYPIST_MODE")) {
|
||||
r.Show()
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// hide perfectly clean repos
|
||||
if os.Getenv("AUTOTYPIST_CLEAN") == "hide" {
|
||||
if r.IsPerfect() {
|
||||
r.Hide()
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// show everything else. often this will be "unconforming" repos
|
||||
// if you what those repos ignored, add these to the config file
|
||||
// as read-only=true
|
||||
r.Show()
|
||||
}
|
||||
|
||||
func showHideRepos(repo *repolist.RepoRow) {
|
||||
if repo.GoPath() == "go.wit.com/dev/alexflint/arg" {
|
||||
log.Info("found autoHideReleased() =", me.autoHideReleased.Checked())
|
||||
log.Info("found alexflint/arg IsReleased() =", repo.Status.IsReleased())
|
||||
}
|
||||
// always show dirty repos
|
||||
if repo.IsDirty() {
|
||||
repo.Show()
|
||||
return
|
||||
}
|
||||
// always show repos that have not been merged ?
|
||||
if repo.GoState() == "merge to devel" {
|
||||
repo.Show()
|
||||
return
|
||||
}
|
||||
|
||||
// hide read-only repos. These are repos that do not
|
||||
// match things in the users config file (.config/autotypist)
|
||||
if me.autoHideReadOnly.Checked() {
|
||||
if repo.Status.ReadOnly() {
|
||||
repo.Hide()
|
||||
return
|
||||
}
|
||||
}
|
||||
if me.autoHideReleased.Checked() {
|
||||
if repo.Status.IsReleased() {
|
||||
repo.Hide()
|
||||
return
|
||||
}
|
||||
}
|
||||
repo.Show()
|
||||
}
|
2
main.go
2
main.go
|
@ -94,7 +94,7 @@ func main() {
|
|||
setTargetVersion()
|
||||
|
||||
// register a Show/Hide function for the repo list table
|
||||
me.repos.View.RegisterHideFunction(showHideRepos)
|
||||
me.repos.View.RegisterHideFunction(hideFunction)
|
||||
|
||||
// scan in the State of all the repos
|
||||
// TODO: should not really be necessary directly after init()
|
||||
|
|
Loading…
Reference in New Issue