summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--widgets/account.go4
-rw-r--r--widgets/dirlist.go19
-rw-r--r--widgets/dirtree.go4
3 files changed, 10 insertions, 17 deletions
diff --git a/widgets/account.go b/widgets/account.go
index 9340370..7c18004 100644
--- a/widgets/account.go
+++ b/widgets/account.go
@@ -246,7 +246,6 @@ func (acct *AccountView) onMessage(msg types.WorkerMessage) {
case *types.Connect, *types.Reconnect:
acct.SetStatus(statusline.ConnectionActivity("Listing mailboxes..."))
acct.logger.Println("Listing mailboxes...")
- acct.dirlist.SetConnected(true)
acct.dirlist.UpdateList(func(dirs []string) {
var dir string
for _, _dir := range dirs {
@@ -267,8 +266,7 @@ func (acct *AccountView) onMessage(msg types.WorkerMessage) {
acct.newConn = true
})
case *types.Disconnect:
- acct.dirlist.SetConnected(false)
- acct.dirlist.UpdateList(nil)
+ acct.dirlist.ClearList()
acct.msglist.SetStore(nil)
acct.logger.Println("Disconnected.")
acct.SetStatus(statusline.SetConnected(false))
diff --git a/widgets/dirlist.go b/widgets/dirlist.go
index 8448e4a..2c761a5 100644
--- a/widgets/dirlist.go
+++ b/widgets/dirlist.go
@@ -31,7 +31,7 @@ type DirectoryLister interface {
UpdateList(func([]string))
List() []string
- SetConnected(bool)
+ ClearList()
NextPrev(int)
@@ -93,24 +93,15 @@ func (dirlist *DirectoryList) UiConfig() config.UIConfig {
})
}
-func (dirlist *DirectoryList) SetConnected(c bool) {
- dirlist.connected = c
-}
-
func (dirlist *DirectoryList) List() []string {
return dirlist.store.List()
}
+func (dirlist *DirectoryList) ClearList() {
+ dirlist.dirs = []string{}
+}
+
func (dirlist *DirectoryList) UpdateList(done func(dirs []string)) {
- // Clear out dirlist if not connected
- if !dirlist.connected {
- // Only dirlist.dirs is used for the UI. No need to update dirstore
- dirlist.dirs = []string{}
- dirlist.Invalidate()
- // Call callback with empty array for dirtree
- done(dirlist.dirs)
- return
- }
// TODO: move this logic into dirstore
var dirs []string
dirlist.worker.PostAction(
diff --git a/widgets/dirtree.go b/widgets/dirtree.go
index 24094e5..1130329 100644
--- a/widgets/dirtree.go
+++ b/widgets/dirtree.go
@@ -32,6 +32,10 @@ func NewDirectoryTree(dirlist *DirectoryList, pathSeparator string) DirectoryLis
return dt
}
+func (dt *DirectoryTree) ClearList() {
+ dt.list = make([]*types.Thread, 0)
+}
+
func (dt *DirectoryTree) UpdateList(done func([]string)) {
dt.DirectoryList.UpdateList(func(dirs []string) {
if done != nil {