statusline: indicate when sorting is in progress
Indicate when sorting is in progress in the statusline. Signed-off-by: Koni Marti <koni.marti@gmail.com> Acked-by: Robin Jarry <robin@jarry.cc>
This commit is contained in:
parent
20218de913
commit
fc604b6679
3 changed files with 16 additions and 2 deletions
|
@ -6,6 +6,7 @@ import (
|
||||||
|
|
||||||
"git.sr.ht/~rjarry/aerc/commands"
|
"git.sr.ht/~rjarry/aerc/commands"
|
||||||
"git.sr.ht/~rjarry/aerc/lib/sort"
|
"git.sr.ht/~rjarry/aerc/lib/sort"
|
||||||
|
"git.sr.ht/~rjarry/aerc/lib/statusline"
|
||||||
"git.sr.ht/~rjarry/aerc/widgets"
|
"git.sr.ht/~rjarry/aerc/widgets"
|
||||||
"git.sr.ht/~rjarry/aerc/worker/types"
|
"git.sr.ht/~rjarry/aerc/worker/types"
|
||||||
)
|
)
|
||||||
|
@ -82,9 +83,9 @@ func (Sort) Execute(aerc *widgets.Aerc, args []string) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
aerc.SetStatus("Sorting")
|
acct.SetStatus(statusline.Sorting(true))
|
||||||
store.Sort(sortCriteria, func() {
|
store.Sort(sortCriteria, func() {
|
||||||
aerc.SetStatus("Sorting complete")
|
acct.SetStatus(statusline.Sorting(false))
|
||||||
})
|
})
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ type folderState struct {
|
||||||
Search string
|
Search string
|
||||||
Filter string
|
Filter string
|
||||||
FilterActivity string
|
FilterActivity string
|
||||||
|
Sorting string
|
||||||
|
|
||||||
Threading string
|
Threading string
|
||||||
}
|
}
|
||||||
|
@ -21,6 +22,9 @@ func (fs *folderState) State() []string {
|
||||||
if fs.Search != "" {
|
if fs.Search != "" {
|
||||||
line = append(line, fs.Search)
|
line = append(line, fs.Search)
|
||||||
}
|
}
|
||||||
|
if fs.Sorting != "" {
|
||||||
|
line = append(line, fs.Sorting)
|
||||||
|
}
|
||||||
if fs.Threading != "" {
|
if fs.Threading != "" {
|
||||||
line = append(line, fs.Threading)
|
line = append(line, fs.Threading)
|
||||||
}
|
}
|
||||||
|
|
|
@ -109,6 +109,15 @@ func Search(desc string) SetStateFunc {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Sorting(on bool) SetStateFunc {
|
||||||
|
return func(s *State, folder string) {
|
||||||
|
s.folderState(folder).Sorting = ""
|
||||||
|
if on {
|
||||||
|
s.folderState(folder).Sorting = "sorting"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func Threading(on bool) SetStateFunc {
|
func Threading(on bool) SetStateFunc {
|
||||||
return func(s *State, folder string) {
|
return func(s *State, folder string) {
|
||||||
s.folderState(folder).Threading = ""
|
s.folderState(folder).Threading = ""
|
||||||
|
|
Loading…
Reference in a new issue