diff options
author | Tulir Asokan <tulir@maunium.net> | 2018-04-11 19:20:40 +0300 |
---|---|---|
committer | Tulir Asokan <tulir@maunium.net> | 2018-04-11 19:20:40 +0300 |
commit | 92a2428865dfde80af6f9ffba0f59567b63230b6 (patch) | |
tree | 1a63c5daea071abc12669e9b10cf6db7255b3fba /ui/messages/parser.go | |
parent | ff7ee333a1028850337aa332532cbc23c7bdde14 (diff) |
Allow clicking images and load images from cache
Diffstat (limited to 'ui/messages/parser.go')
-rw-r--r-- | ui/messages/parser.go | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/ui/messages/parser.go b/ui/messages/parser.go index 22ba4e7..af76bf3 100644 --- a/ui/messages/parser.go +++ b/ui/messages/parser.go @@ -29,14 +29,14 @@ import ( "maunium.net/go/tcell" ) -func ParseEvent(mx ifc.MatrixContainer, room *rooms.Room, evt *gomatrix.Event) UIMessage { +func ParseEvent(gmx ifc.Gomuks, room *rooms.Room, evt *gomatrix.Event) UIMessage { member := room.GetMember(evt.Sender) if member != nil { evt.Sender = member.DisplayName } switch evt.Type { case "m.room.message": - return ParseMessage(mx, evt) + return ParseMessage(gmx, evt) case "m.room.member": return ParseMembershipEvent(evt) } @@ -51,7 +51,7 @@ func unixToTime(unix int64) time.Time { return timestamp } -func ParseMessage(mx ifc.MatrixContainer, evt *gomatrix.Event) UIMessage { +func ParseMessage(gmx ifc.Gomuks, evt *gomatrix.Event) UIMessage { msgtype, _ := evt.Content["msgtype"].(string) ts := unixToTime(evt.Timestamp) switch msgtype { @@ -60,11 +60,11 @@ func ParseMessage(mx ifc.MatrixContainer, evt *gomatrix.Event) UIMessage { return NewTextMessage(evt.ID, evt.Sender, msgtype, text, ts) case "m.image": url, _ := evt.Content["url"].(string) - data, path, err := mx.Download(url) + data, hs, id, err := gmx.Matrix().Download(url) if err != nil { debug.Printf("Failed to download %s: %v", url, err) } - return NewImageMessage(evt.ID, evt.Sender, msgtype, path, data, ts) + return NewImageMessage(gmx, evt.ID, evt.Sender, msgtype, hs, id, data, ts) } return nil } |