aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/account.go
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/account.go')
-rw-r--r--widgets/account.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/widgets/account.go b/widgets/account.go
index 0c2ce7d6..e9c86504 100644
--- a/widgets/account.go
+++ b/widgets/account.go
@@ -299,7 +299,8 @@ func (acct *AccountView) onMessage(msg types.WorkerMessage) {
}
case *types.ListDirectories:
acct.dirlist.Update(msg)
- if acct.dirlist.Selected() != "" {
+ if dir := acct.dirlist.Selected(); dir != "" {
+ acct.dirlist.Select(dir)
return
}
// Nothing selected, select based on config
@@ -321,7 +322,10 @@ func (acct *AccountView) onMessage(msg types.WorkerMessage) {
acct.newConn = true
}
case *types.Directory:
- store := acct.newStore(msg.Dir.Name)
+ store, ok := acct.dirlist.MsgStore(msg.Dir.Name)
+ if !ok {
+ store = acct.newStore(msg.Dir.Name)
+ }
acct.dirlist.SetMsgStore(msg.Dir, store)
case *types.DirectoryInfo:
acct.dirlist.Update(msg)