aboutsummaryrefslogtreecommitdiff
path: root/ui/messages/parser.go
diff options
context:
space:
mode:
authorTulir Asokan <tulir@maunium.net>2018-04-11 19:20:40 +0300
committerTulir Asokan <tulir@maunium.net>2018-04-11 19:20:40 +0300
commit92a2428865dfde80af6f9ffba0f59567b63230b6 (patch)
tree1a63c5daea071abc12669e9b10cf6db7255b3fba /ui/messages/parser.go
parentff7ee333a1028850337aa332532cbc23c7bdde14 (diff)
Allow clicking images and load images from cache
Diffstat (limited to 'ui/messages/parser.go')
-rw-r--r--ui/messages/parser.go10
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
}