diff options
author | Tulir Asokan <tulir@maunium.net> | 2019-06-17 13:46:02 +0300 |
---|---|---|
committer | Tulir Asokan <tulir@maunium.net> | 2019-06-17 13:46:02 +0300 |
commit | b76c301145c543ebcdc5534d4f292b056aa51219 (patch) | |
tree | 569b66f60ee40f85c8ebc090c9162348a3b15567 /ui/room-view.go | |
parent | fe439f076ad3d76c459c9a76c4bbdcda5182ed85 (diff) |
Add initial support for rendering replies
Diffstat (limited to 'ui/room-view.go')
-rw-r--r-- | ui/room-view.go | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/ui/room-view.go b/ui/room-view.go index 344b873..31da3c6 100644 --- a/ui/room-view.go +++ b/ui/room-view.go @@ -412,7 +412,7 @@ func (view *RoomView) SendMessage(msgtype mautrix.MessageType, text string) { } evt := view.parent.matrix.PrepareMarkdownMessage(view.Room.ID, msgtype, text) msg := view.parseEvent(evt) - view.AddMessage(msg) + view.content.AddMessage(msg, AppendMessage) eventID, err := view.parent.matrix.SendEvent(evt) if err != nil { msg.State = event.StateSendFail @@ -462,20 +462,32 @@ func (view *RoomView) AddServiceMessage(text string) { view.content.AddMessage(messages.NewServiceMessage(text), AppendMessage) } -func (view *RoomView) AddMessage(message ifc.Message) { - view.content.AddMessage(message, AppendMessage) -} - func (view *RoomView) parseEvent(evt *event.Event) *messages.UIMessage { return messages.ParseEvent(view.parent.matrix, view.parent, view.Room, evt) } -func (view *RoomView) ParseEvent(evt *event.Event) ifc.Message { - msg := view.parseEvent(evt) - if msg == nil { - return nil +func (view *RoomView) AddHistoryEvent(evt *event.Event) { + if msg := view.parseEvent(evt); msg != nil { + view.content.AddMessage(msg, PrependMessage) + } +} + +func (view *RoomView) AddEvent(evt *event.Event) ifc.Message { + if msg := view.parseEvent(evt); msg != nil { + view.content.AddMessage(msg, AppendMessage) + return msg + } + return nil +} + +func (view *RoomView) AddRedaction(redactedEvt *event.Event) { + view.AddEvent(redactedEvt) +} + +func (view *RoomView) AddEdit(evt *event.Event) { + if msg := view.parseEvent(evt); msg != nil { + view.content.AddMessage(msg, IgnoreMessage) } - return msg } func (view *RoomView) GetEvent(eventID string) ifc.Message { |