diff options
Diffstat (limited to 'scan.go')
| -rw-r--r-- | scan.go | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -2,6 +2,7 @@ package repolist import ( "fmt" + "strconv" "strings" "go.wit.com/log" @@ -11,15 +12,37 @@ func (r *RepoList) SetAutoScan(b bool) { me.autoScan = b } +func (r *RepoList) RegisterHideFunction(f func (* Repo)) { + me.hideFunction = f +} + func (r *RepoList) ScanRepositories() (int, string) { var i int + var shown int t := TimeFunction(func() { for _, repo := range me.allrepos { i += 1 repo.NewScan() + if me.hideFunction == nil { + // application didn't register a hide function + } else { + me.hideFunction(repo) + } + } + var hidden int + for _, repo := range me.allrepos { + if repo.Hidden() { + hidden += 1 + } else { + shown += 1 + } } }) s := fmt.Sprint(t) + tmp := strconv.Itoa(shown) + " repos shown" + log.Info("Setting shownCount to", tmp) + me.shownCount.SetText(tmp) + log.Info("Scanned", i, "repositories. todo: count/show changes in", s) return i, s } |
