diff options
author | Tulir Asokan <tulir@maunium.net> | 2018-03-20 12:16:32 +0200 |
---|---|---|
committer | Tulir Asokan <tulir@maunium.net> | 2018-03-20 12:16:32 +0200 |
commit | 3897f23bc4dd24cf54ba39fad544d10feb273120 (patch) | |
tree | dbf3e8393661ccf1200b5127ace087077ddba413 /ui/widget/room-view.go | |
parent | de2a8aee060fa870f17cdd08b9ce5e0cd0287718 (diff) |
Add support for loading more history
Diffstat (limited to 'ui/widget/room-view.go')
-rw-r--r-- | ui/widget/room-view.go | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/ui/widget/room-view.go b/ui/widget/room-view.go index eeab7b2..1fb19c7 100644 --- a/ui/widget/room-view.go +++ b/ui/widget/room-view.go @@ -19,6 +19,7 @@ package widget import ( "fmt" "strings" + "sync" "time" "github.com/gdamore/tcell" @@ -27,10 +28,6 @@ import ( "maunium.net/go/tview" ) -type Renderable interface { - Render() -} - type RoomView struct { *tview.Box @@ -40,18 +37,18 @@ type RoomView struct { userList *tview.TextView Room *rooms.Room - parent Renderable + FetchHistoryLock *sync.Mutex } -func NewRoomView(parent Renderable, room *rooms.Room) *RoomView { +func NewRoomView(room *rooms.Room) *RoomView { view := &RoomView{ - Box: tview.NewBox(), - topic: tview.NewTextView(), - content: NewMessageView(), - status: tview.NewTextView(), - userList: tview.NewTextView(), - Room: room, - parent: parent, + Box: tview.NewBox(), + topic: tview.NewTextView(), + content: NewMessageView(), + status: tview.NewTextView(), + userList: tview.NewTextView(), + FetchHistoryLock: &sync.Mutex{}, + Room: room, } view.topic. SetText(strings.Replace(room.GetTopic(), "\n", " ", -1)). @@ -148,5 +145,4 @@ func (view *RoomView) NewMessage(id, sender, text string, timestamp time.Time) * func (view *RoomView) AddMessage(message *types.Message, direction int) { view.content.AddMessage(message, direction) - view.parent.Render() } |