ChangeFolder: do not depend on the msgstore

We need to clear the filtering etc upon folder switch.
Not having a valid msgstore is however no reason not to switch directories.
This commit is contained in:
Reto Brunner 2019-07-31 09:50:08 +02:00 committed by Drew DeVault
parent 9570f4b4d0
commit 3424c36d52

View file

@ -34,22 +34,22 @@ func (_ ChangeFolder) Execute(aerc *widgets.Aerc, args []string) error {
if acct == nil {
return errors.New("No account selected")
}
store := acct.Store()
if store == nil {
return errors.New("Cannot perform action. Messages still loading")
}
previous := acct.Directories().Selected()
if args[1] == "-" {
if dir, ok := history[acct.Name()]; ok {
store.ApplyClear()
acct.Directories().Select(dir)
} else {
return errors.New("No previous folder to return to")
}
} else {
store.ApplyClear()
acct.Directories().Select(args[1])
}
history[acct.Name()] = previous
// reset store filtering if we switched folders
store := acct.Store()
if store != nil {
store.ApplyClear()
}
return nil
}