aboutsummaryrefslogtreecommitdiff
path: root/ui/account.go.old
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-02-26 22:54:39 -0500
committerDrew DeVault <sir@cmpwn.com>2018-02-26 22:54:39 -0500
commit1418e1b9dc41d8f69bccb8de0fe0f1fb6835ce11 (patch)
tree4ae8b3373fdadb6dd3e7b8c8789cf938522b8f8a /ui/account.go.old
parent661e3ec2a4dd97d4a8a8eab4f281b088770a6af2 (diff)
Split UI library and widgets
Diffstat (limited to 'ui/account.go.old')
-rw-r--r--ui/account.go.old97
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)
- }
-}