]> git.0d.be Git - barnard.git/blobdiff - ui.go
add cmdline argument to start in a specific channel
[barnard.git] / ui.go
diff --git a/ui.go b/ui.go
index c38b8b7915f7c71e05a62845c652ca24028ebb14..98b7b7b4333c9f5eab040b6c158221ae54be611d 100644 (file)
--- a/ui.go
+++ b/ui.go
@@ -1,13 +1,13 @@
-package barnard
+package main
 
 import (
        "fmt"
        "strings"
        "time"
 
-       "github.com/layeh/barnard/uiterm"
-       "github.com/layeh/gumble/gumble"
        "github.com/kennygrant/sanitize"
+       "layeh.com/barnard/uiterm"
+       "layeh.com/gumble/gumble"
 )
 
 const (
@@ -33,14 +33,13 @@ func (b *Barnard) UpdateInputStatus(status string) {
 func (b *Barnard) AddOutputLine(line string) {
        now := time.Now()
        b.UiOutput.AddLine(fmt.Sprintf("[%02d:%02d:%02d] %s", now.Hour(), now.Minute(), now.Second(), line))
-       b.Ui.Refresh()
 }
 
 func (b *Barnard) AddOutputMessage(sender *gumble.User, message string) {
        if sender == nil {
                b.AddOutputLine(message)
        } else {
-               b.AddOutputLine(fmt.Sprintf("%s: %s", sender.Name(), strings.TrimSpace(esc(message))))
+               b.AddOutputLine(fmt.Sprintf("%s: %s", sender.Name, strings.TrimSpace(esc(message))))
        }
 }
 
@@ -66,34 +65,29 @@ func (b *Barnard) OnQuitPress(ui *uiterm.Ui, key uiterm.Key) {
 
 func (b *Barnard) OnClearPress(ui *uiterm.Ui, key uiterm.Key) {
        b.UiOutput.Clear()
-       b.Ui.Refresh()
 }
 
 func (b *Barnard) OnScrollOutputUp(ui *uiterm.Ui, key uiterm.Key) {
        b.UiOutput.ScrollUp()
-       b.Ui.Refresh()
 }
 
 func (b *Barnard) OnScrollOutputDown(ui *uiterm.Ui, key uiterm.Key) {
        b.UiOutput.ScrollDown()
-       b.Ui.Refresh()
 }
 
 func (b *Barnard) OnScrollOutputTop(ui *uiterm.Ui, key uiterm.Key) {
        b.UiOutput.ScrollTop()
-       b.Ui.Refresh()
 }
 
 func (b *Barnard) OnScrollOutputBottom(ui *uiterm.Ui, key uiterm.Key) {
        b.UiOutput.ScrollBottom()
-       b.Ui.Refresh()
 }
 
 func (b *Barnard) OnFocusPress(ui *uiterm.Ui, key uiterm.Key) {
        active := b.Ui.Active()
-       if active == &b.UiInput {
+       if active == uiViewInput {
                b.Ui.SetActive(uiViewTree)
-       } else if active == &b.UiTree {
+       } else if active == uiViewTree {
                b.Ui.SetActive(uiViewInput)
        }
 }
@@ -102,20 +96,20 @@ func (b *Barnard) OnTextInput(ui *uiterm.Ui, textbox *uiterm.Textbox, text strin
        if text == "" {
                return
        }
-       if b.Client != nil && b.Client.Self() != nil {
-               b.Client.Self().Channel().Send(text, false)
-               b.AddOutputMessage(b.Client.Self(), text)
+       if b.Client != nil && b.Client.Self != nil {
+               b.Client.Self.Channel.Send(text, false)
+               b.AddOutputMessage(b.Client.Self, text)
        }
 }
 
 func (b *Barnard) OnUiInitialize(ui *uiterm.Ui) {
-       ui.SetView(uiViewLogo, 0, 0, 0, 0, &uiterm.Label{
+       ui.Add(uiViewLogo, &uiterm.Label{
                Text: " barnard ",
                Fg:   uiterm.ColorWhite | uiterm.AttrBold,
                Bg:   uiterm.ColorMagenta,
        })
 
-       ui.SetView(uiViewTop, 0, 0, 0, 0, &uiterm.Label{
+       ui.Add(uiViewTop, &uiterm.Label{
                Fg: uiterm.ColorWhite,
                Bg: uiterm.ColorBlue,
        })
@@ -125,26 +119,26 @@ func (b *Barnard) OnUiInitialize(ui *uiterm.Ui) {
                Fg:   uiterm.ColorBlack,
                Bg:   uiterm.ColorWhite,
        }
-       ui.SetView(uiViewStatus, 0, 0, 0, 0, &b.UiStatus)
+       ui.Add(uiViewStatus, &b.UiStatus)
 
        b.UiInput = uiterm.Textbox{
                Fg:    uiterm.ColorWhite,
                Bg:    uiterm.ColorBlack,
                Input: b.OnTextInput,
        }
-       ui.SetView(uiViewInput, 0, 0, 0, 0, &b.UiInput)
+       ui.Add(uiViewInput, &b.UiInput)
 
        b.UiInputStatus = uiterm.Label{
                Fg: uiterm.ColorBlack,
                Bg: uiterm.ColorWhite,
        }
-       ui.SetView(uiViewInputStatus, 0, 0, 0, 0, &b.UiInputStatus)
+       ui.Add(uiViewInputStatus, &b.UiInputStatus)
 
        b.UiOutput = uiterm.Textview{
                Fg: uiterm.ColorWhite,
                Bg: uiterm.ColorBlack,
        }
-       ui.SetView(uiViewOutput, 0, 0, 0, 0, &b.UiOutput)
+       ui.Add(uiViewOutput, &b.UiOutput)
 
        b.UiTree = uiterm.Tree{
                Generator: b.TreeItem,
@@ -152,7 +146,7 @@ func (b *Barnard) OnUiInitialize(ui *uiterm.Ui) {
                Fg:        uiterm.ColorWhite,
                Bg:        uiterm.ColorBlack,
        }
-       ui.SetView(uiViewTree, 0, 0, 0, 0, &b.UiTree)
+       ui.Add(uiViewTree, &b.UiTree)
 
        b.Ui.AddKeyListener(b.OnFocusPress, uiterm.KeyTab)
        b.Ui.AddKeyListener(b.OnVoiceToggle, uiterm.KeyF1)
@@ -162,14 +156,16 @@ func (b *Barnard) OnUiInitialize(ui *uiterm.Ui) {
        b.Ui.AddKeyListener(b.OnScrollOutputDown, uiterm.KeyPgdn)
        b.Ui.AddKeyListener(b.OnScrollOutputTop, uiterm.KeyHome)
        b.Ui.AddKeyListener(b.OnScrollOutputBottom, uiterm.KeyEnd)
+
+       b.start()
 }
 
 func (b *Barnard) OnUiResize(ui *uiterm.Ui, width, height int) {
-       ui.SetView(uiViewLogo, 0, 0, 9, 1, nil)
-       ui.SetView(uiViewTop, 9, 0, width-6, 1, nil)
-       ui.SetView(uiViewStatus, width-6, 0, width, 1, nil)
-       ui.SetView(uiViewInput, 0, height-1, width, height, nil)
-       ui.SetView(uiViewInputStatus, 0, height-2, width, height-1, nil)
-       ui.SetView(uiViewOutput, 0, 1, width-20, height-2, nil)
-       ui.SetView(uiViewTree, width-20, 1, width, height-2, nil)
+       ui.SetBounds(uiViewLogo, 0, 0, 9, 1)
+       ui.SetBounds(uiViewTop, 9, 0, width-6, 1)
+       ui.SetBounds(uiViewStatus, width-6, 0, width, 1)
+       ui.SetBounds(uiViewInput, 0, height-1, width, height)
+       ui.SetBounds(uiViewInputStatus, 0, height-2, width, height-1)
+       ui.SetBounds(uiViewOutput, 0, 1, width-20, height-2)
+       ui.SetBounds(uiViewTree, width-20, 1, width, height-2)
 }