From 3897f23bc4dd24cf54ba39fad544d10feb273120 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Tue, 20 Mar 2018 12:16:32 +0200 Subject: Add support for loading more history --- ui/widget/room-view.go | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) (limited to 'ui/widget/room-view.go') 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() } -- cgit v1.2.3