aboutsummaryrefslogtreecommitdiff
path: root/ui/widget/room-view.go
diff options
context:
space:
mode:
authorTulir Asokan <tulir@maunium.net>2018-03-20 12:16:32 +0200
committerTulir Asokan <tulir@maunium.net>2018-03-20 12:16:32 +0200
commit3897f23bc4dd24cf54ba39fad544d10feb273120 (patch)
treedbf3e8393661ccf1200b5127ace087077ddba413 /ui/widget/room-view.go
parentde2a8aee060fa870f17cdd08b9ce5e0cd0287718 (diff)
Add support for loading more history
Diffstat (limited to 'ui/widget/room-view.go')
-rw-r--r--ui/widget/room-view.go24
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()
}