diff options
author | Tulir Asokan <tulir@maunium.net> | 2018-03-22 21:44:46 +0200 |
---|---|---|
committer | Tulir Asokan <tulir@maunium.net> | 2018-03-22 21:45:02 +0200 |
commit | 152b89ed5e6a4a3edbfc40222b4388049a213b82 (patch) | |
tree | e8507622e14f873128dd457b0f95f13cc460b459 /ui/widget/room-view.go | |
parent | 702a75a8c0355737e3e62735b59fe30bee7e42f4 (diff) |
Add support for m.emote. Fixes #6
Diffstat (limited to 'ui/widget/room-view.go')
-rw-r--r-- | ui/widget/room-view.go | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/ui/widget/room-view.go b/ui/widget/room-view.go index 141e993..7e01fd4 100644 --- a/ui/widget/room-view.go +++ b/ui/widget/room-view.go @@ -19,6 +19,7 @@ package widget import ( "fmt" "path/filepath" + "strconv" "strings" "time" @@ -239,12 +240,25 @@ func (view *RoomView) UpdateUserList() { } } -func (view *RoomView) NewMessage(id, sender, text string, timestamp time.Time) *types.Message { +func (view *RoomView) NewMessage(id, sender, msgtype, text string, timestamp time.Time) *types.Message { member := view.Room.GetMember(sender) if member != nil { sender = member.DisplayName } - return view.content.NewMessage(id, sender, text, timestamp) + return view.content.NewMessage(id, sender, msgtype, text, timestamp) +} + +func (view *RoomView) NewTempMessage(msgtype, text string) *types.Message { + now := time.Now() + id := strconv.FormatInt(now.UnixNano(), 10) + sender := view.Room.GetSessionOwner().DisplayName + message := view.NewMessage(id, sender, msgtype, text, now) + message.SetIsSending(true) + message.TimestampColor = tcell.ColorGray + message.TextColor = tcell.ColorGray + message.SenderColor = tcell.ColorGray + view.AddMessage(message, AppendMessage) + return message } func (view *RoomView) AddMessage(message *types.Message, direction MessageDirection) { |