Revert "Remove dirs field and references to it"
This reverts commit 0e55637aac
.
This commit is contained in:
parent
0e55637aac
commit
491e360178
1 changed files with 10 additions and 11 deletions
|
@ -17,6 +17,7 @@ type DirectoryList struct {
|
||||||
acctConf *config.AccountConfig
|
acctConf *config.AccountConfig
|
||||||
uiConf *config.UIConfig
|
uiConf *config.UIConfig
|
||||||
store *lib.DirStore
|
store *lib.DirStore
|
||||||
|
dirs []string
|
||||||
logger *log.Logger
|
logger *log.Logger
|
||||||
selecting string
|
selecting string
|
||||||
selected string
|
selected string
|
||||||
|
@ -43,7 +44,7 @@ func NewDirectoryList(acctConf *config.AccountConfig, uiConf *config.UIConfig,
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dirlist *DirectoryList) List() []string {
|
func (dirlist *DirectoryList) List() []string {
|
||||||
return dirlist.store.List()
|
return dirlist.dirs
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dirlist *DirectoryList) UpdateList(done func(dirs []string)) {
|
func (dirlist *DirectoryList) UpdateList(done func(dirs []string)) {
|
||||||
|
@ -77,18 +78,16 @@ func (dirlist *DirectoryList) Select(name string) {
|
||||||
dirlist.selected = dirlist.selecting
|
dirlist.selected = dirlist.selecting
|
||||||
dirlist.filterDirsByFoldersConfig()
|
dirlist.filterDirsByFoldersConfig()
|
||||||
hasSelected := false
|
hasSelected := false
|
||||||
dirs := dirlist.store.List()
|
for _, d := range dirlist.dirs {
|
||||||
for _, d := range dirs {
|
|
||||||
if d == dirlist.selected {
|
if d == dirlist.selected {
|
||||||
hasSelected = true
|
hasSelected = true
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !hasSelected && dirlist.selected != "" {
|
if !hasSelected && dirlist.selected != "" {
|
||||||
dirs = append(dirs, dirlist.selected)
|
dirlist.dirs = append(dirlist.dirs, dirlist.selected)
|
||||||
}
|
}
|
||||||
sort.Strings(dirs)
|
sort.Strings(dirlist.dirs)
|
||||||
dirlist.store.Update(dirs)
|
|
||||||
}
|
}
|
||||||
dirlist.Invalidate()
|
dirlist.Invalidate()
|
||||||
})
|
})
|
||||||
|
@ -140,10 +139,10 @@ func (dirlist *DirectoryList) Draw(ctx *ui.Context) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dirlist *DirectoryList) nextPrev(delta int) {
|
func (dirlist *DirectoryList) nextPrev(delta int) {
|
||||||
for i, dir := range dirlist.store.List() {
|
for i, dir := range dirlist.dirs {
|
||||||
if dir == dirlist.selected {
|
if dir == dirlist.selected {
|
||||||
var j int
|
var j int
|
||||||
ndirs := len(dirlist.store.List())
|
ndirs := len(dirlist.dirs)
|
||||||
for j = i + delta; j != i; j += delta {
|
for j = i + delta; j != i; j += delta {
|
||||||
if j < 0 {
|
if j < 0 {
|
||||||
j = ndirs - 1
|
j = ndirs - 1
|
||||||
|
@ -151,7 +150,7 @@ func (dirlist *DirectoryList) nextPrev(delta int) {
|
||||||
if j >= ndirs {
|
if j >= ndirs {
|
||||||
j = 0
|
j = 0
|
||||||
}
|
}
|
||||||
name := dirlist.store.List()[j]
|
name := dirlist.dirs[j]
|
||||||
if len(dirlist.acctConf.Folders) > 1 && name != dirlist.selected {
|
if len(dirlist.acctConf.Folders) > 1 && name != dirlist.selected {
|
||||||
idx := sort.SearchStrings(dirlist.acctConf.Folders, name)
|
idx := sort.SearchStrings(dirlist.acctConf.Folders, name)
|
||||||
if idx == len(dirlist.acctConf.Folders) ||
|
if idx == len(dirlist.acctConf.Folders) ||
|
||||||
|
@ -162,7 +161,7 @@ func (dirlist *DirectoryList) nextPrev(delta int) {
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
dirlist.Select(dirlist.store.List()[j])
|
dirlist.Select(dirlist.dirs[j])
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -192,5 +191,5 @@ func (dirlist *DirectoryList) filterDirsByFoldersConfig() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dirlist.store.Update(filtered)
|
dirlist.dirs = filtered
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue