diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-02-26 22:54:39 -0500 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2018-02-26 22:54:39 -0500 |
commit | 1418e1b9dc41d8f69bccb8de0fe0f1fb6835ce11 (patch) | |
tree | 4ae8b3373fdadb6dd3e7b8c8789cf938522b8f8a /ui/account.go.old | |
parent | 661e3ec2a4dd97d4a8a8eab4f281b088770a6af2 (diff) |
Split UI library and widgets
Diffstat (limited to 'ui/account.go.old')
-rw-r--r-- | ui/account.go.old | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/ui/account.go.old b/ui/account.go.old deleted file mode 100644 index 393a47a..0000000 --- a/ui/account.go.old +++ /dev/null @@ -1,97 +0,0 @@ -package ui - -import ( - "log" - - 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 *types.Worker - Parent *UIState - logger *log.Logger - counter int -} - -func NewAccountTab(conf *config.AccountConfig, - logger *log.Logger) (*AccountTab, error) { - - work, err := worker.NewWorker(conf.Source, logger) - if err != nil { - return nil, err - } - go work.Backend.Run() - acc := &AccountTab{ - Config: conf, - Worker: work, - logger: logger, - } - acc.Worker.PostAction(&types.Configure{Config: conf}, nil) - acc.Worker.PostAction(&types.Connect{}, func(msg types.WorkerMessage) { - switch msg := msg.(type) { - case *types.Done: - acc.logger.Println("Connected.") - acc.Worker.PostAction(&types.ListDirectories{}, nil) - case *types.CertificateApprovalRequest: - // TODO: Ask the user - acc.logger.Println("Approving certificate") - acc.Worker.PostAction(&types.ApproveCertificate{ - Message: types.RespondTo(msg), - Approved: true, - }, nil) - default: - acc.logger.Println("Connection failed.") - } - }) - return acc, nil -} - -func (acc *AccountTab) Name() string { - return acc.Config.Name -} - -func (acc *AccountTab) SetParent(parent *UIState) { - acc.Parent = parent -} - -func (acc *AccountTab) Render(at Geometry) { - cell := tb.Cell{ - Ch: ' ', - Fg: tb.ColorDefault, - Bg: tb.ColorDefault, - } - TFill(at, cell) - TPrintf(&at, cell, "%s %d\n", acc.Name(), acc.counter) - acc.counter++ - if acc.counter%10000 == 0 { - acc.counter = 0 - } - acc.Parent.InvalidateFrom(acc) -} - -func (acc *AccountTab) GetChannel() chan types.WorkerMessage { - return acc.Worker.Messages -} - -func (acc *AccountTab) HandleMessage(msg types.WorkerMessage) { - msg = acc.Worker.ProcessMessage(msg) - switch msg := msg.(type) { - case *types.Done: - case *types.CertificateApprovalRequest: - case *types.Unsupported: - // no-op - case *types.Error: - acc.logger.Printf("Error: %v\n", msg.Error) - case *types.Directory: - acc.logger.Printf("Directory: %s\n", msg.Name) - default: - acc.Worker.PostAction(&types.Unsupported{ - Message: types.RespondTo(msg), - }, nil) - } -} |