about summary refs log tree commit diff stats
path: root/ui/account.go
diff options
context:
space:
mode:
Diffstat (limited to 'ui/account.go')
-rw-r--r--ui/account.go31
1 files changed, 27 insertions, 4 deletions
diff --git a/ui/account.go b/ui/account.go
index 9c16cc5..50f41e4 100644
--- a/ui/account.go
+++ b/ui/account.go
@@ -1,25 +1,35 @@
 package ui
 
 import (
+	"fmt"
+
 	tb "github.com/nsf/termbox-go"
 
 	"git.sr.ht/~sircmpwn/aerc2/config"
 	"git.sr.ht/~sircmpwn/aerc2/worker"
+	"git.sr.ht/~sircmpwn/aerc2/worker/types"
 )
 
 type AccountTab struct {
 	Config *config.AccountConfig
-	Worker *worker.Worker
+	Worker worker.Worker
 	Parent *UIState
 
 	counter int
+	log     []string
 }
 
-func NewAccountTab(conf *config.AccountConfig, work *worker.Worker) *AccountTab {
+func NewAccountTab(conf *config.AccountConfig) (*AccountTab, error) {
+	work, err := worker.NewWorker(conf.Source)
+	if err != nil {
+		return nil, err
+	}
+	go work.Run()
+	work.PostAction(types.Configure{Config: conf})
 	return &AccountTab{
 		Config: conf,
 		Worker: work,
-	}
+	}, nil
 }
 
 func (acc *AccountTab) Name() string {
@@ -32,13 +42,26 @@ func (acc *AccountTab) SetParent(parent *UIState) {
 
 func (acc *AccountTab) Render(at Geometry) {
 	cell := tb.Cell{
+		Ch: ' ',
 		Fg: tb.ColorDefault,
 		Bg: tb.ColorDefault,
 	}
-	TPrintf(&at, cell, "%s %d", acc.Name(), acc.counter)
+	TFill(at, cell)
+	TPrintf(&at, cell, "%s %d\n", acc.Name(), acc.counter)
+	for _, str := range acc.log {
+		TPrintf(&at, cell, "%s\n", str)
+	}
 	acc.counter++
 	if acc.counter%10000 == 0 {
 		acc.counter = 0
 	}
 	acc.Parent.InvalidateFrom(acc)
 }
+
+func (acc *AccountTab) GetChannel() chan types.WorkerMessage {
+	return acc.Worker.GetMessages()
+}
+
+func (acc *AccountTab) HandleMessage(msg types.WorkerMessage) {
+	acc.log = append(acc.log, fmt.Sprintf("<- %T", msg))
+}
@cmpwn.com> 2018-06-01 16:04:43 -0700 switch to tcell from termbox' href='/akspecs/aerc/commit/lib/ui/stack.go?h=0.5.0&id=80e891a8024ac10a60daa790131e04f0326b0c73'>80e891a ^
4675648 ^



































1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72