aboutsummaryrefslogtreecommitdiff
path: root/widgets/account.go
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2019-01-13 15:32:52 -0500
committerDrew DeVault <sir@cmpwn.com>2019-01-13 15:32:52 -0500
commitcf664620005cf65d060e689fbb27b939dd3192a7 (patch)
treea74ea7f69e6004cd407e272ab80768b5ee314735 /widgets/account.go
parent257affcd4841b8f595a4a13cdb0fd2a1a2dd0faa (diff)
Simplify approach to directory list
This doesn't really need to be abstract tbh
Diffstat (limited to 'widgets/account.go')
-rw-r--r--widgets/account.go22
1 files changed, 17 insertions, 5 deletions
diff --git a/widgets/account.go b/widgets/account.go
index d368d42..d99a21f 100644
--- a/widgets/account.go
+++ b/widgets/account.go
@@ -122,13 +122,25 @@ func (acct *AccountView) Event(event tcell.Event) bool {
func (acct *AccountView) connected(msg types.WorkerMessage) {
switch msg := msg.(type) {
case *types.Done:
- acct.statusline.Set("Connected.")
- acct.logger.Println("Connected.")
- acct.dirlist.UpdateList()
+ acct.statusline.Set("Listing mailboxes...")
+ acct.logger.Println("Listing mailboxes...")
+ acct.dirlist.UpdateList(func(dirs []string) {
+ var dir string
+ for _, _dir := range dirs {
+ if _dir == "INBOX" {
+ dir = _dir
+ break
+ }
+ }
+ if dir == "" {
+ dir = dirs[0]
+ }
+ acct.dirlist.Select(dir)
+ acct.logger.Println("Connected.")
+ acct.statusline.Set("Connected.")
+ })
case *types.CertificateApprovalRequest:
// TODO: Ask the user
- acct.logger.Println("Approved unknown certificate.")
- acct.statusline.Push("Approved unknown certificate.", 5*time.Second)
acct.worker.PostAction(&types.ApproveCertificate{
Message: types.RespondTo(msg),
Approved: true,