Start moving to mauview
This commit is contained in:
@ -80,7 +80,7 @@ func (msg *ImageMessage) updateData() {
|
||||
debug.Print("Loading image:", msg.Homeserver, msg.FileID)
|
||||
data, _, _, err := msg.matrix.Download(fmt.Sprintf("mxc://%s/%s", msg.Homeserver, msg.FileID))
|
||||
if err != nil {
|
||||
debug.Print("Failed to download image %s/%s: %v", msg.Homeserver, msg.FileID, err)
|
||||
debug.Printf("Failed to download image %s/%s: %v", msg.Homeserver, msg.FileID, err)
|
||||
return
|
||||
}
|
||||
debug.Print("Image", msg.Homeserver, msg.FileID, "loaded.")
|
||||
|
@ -102,14 +102,24 @@ func ParseMessage(matrix ifc.MatrixContainer, room *rooms.Room, evt *mautrix.Eve
|
||||
}
|
||||
if len(evt.Content.GetReplyTo()) > 0 {
|
||||
evt.Content.RemoveReplyFallback()
|
||||
replyToEvt, _ := matrix.Client().GetEvent(room.ID, evt.Content.GetReplyTo())
|
||||
replyToEvt.Content.RemoveReplyFallback()
|
||||
if len(replyToEvt.Content.FormattedBody) == 0 {
|
||||
replyToEvt.Content.FormattedBody = html.EscapeString(replyToEvt.Content.Body)
|
||||
roomID := evt.Content.RelatesTo.InReplyTo.RoomID
|
||||
if len(roomID) == 0 {
|
||||
roomID = room.ID
|
||||
}
|
||||
replyToEvt, _ := matrix.Client().GetEvent(roomID, evt.Content.GetReplyTo())
|
||||
if replyToEvt != nil {
|
||||
replyToEvt.Content.RemoveReplyFallback()
|
||||
if len(replyToEvt.Content.FormattedBody) == 0 {
|
||||
replyToEvt.Content.FormattedBody = html.EscapeString(replyToEvt.Content.Body)
|
||||
}
|
||||
evt.Content.FormattedBody = fmt.Sprintf(
|
||||
"In reply to <a href='https://matrix.to/#/%[1]s'>%[1]s</a><blockquote>%[2]s</blockquote><br/>%[3]s",
|
||||
replyToEvt.Sender, replyToEvt.Content.FormattedBody, evt.Content.FormattedBody)
|
||||
} else {
|
||||
evt.Content.FormattedBody = fmt.Sprintf(
|
||||
"In reply to unknown event https://matrix.to/#/%[1]s/%[2]s<br/>%[3]s",
|
||||
roomID, evt.Content.GetReplyTo(), evt.Content.FormattedBody)
|
||||
}
|
||||
evt.Content.FormattedBody = fmt.Sprintf(
|
||||
"In reply to <a href='https://matrix.to/#/%[1]s'>%[1]s</a><blockquote>%[2]s</blockquote><br/>%[3]s",
|
||||
replyToEvt.Sender, replyToEvt.Content.FormattedBody, evt.Content.FormattedBody)
|
||||
}
|
||||
ts := unixToTime(evt.Timestamp)
|
||||
switch evt.Content.MsgType {
|
||||
|
@ -18,6 +18,7 @@ package tstring
|
||||
|
||||
import (
|
||||
"github.com/mattn/go-runewidth"
|
||||
"maunium.net/go/mauview"
|
||||
|
||||
"maunium.net/go/tcell"
|
||||
)
|
||||
@ -43,7 +44,7 @@ func (cell Cell) RuneWidth() int {
|
||||
return runewidth.RuneWidth(cell.Char)
|
||||
}
|
||||
|
||||
func (cell Cell) Draw(screen tcell.Screen, x, y int) (chWidth int) {
|
||||
func (cell Cell) Draw(screen mauview.Screen, x, y int) (chWidth int) {
|
||||
chWidth = cell.RuneWidth()
|
||||
for runeWidthOffset := 0; runeWidthOffset < chWidth; runeWidthOffset++ {
|
||||
screen.SetContent(x+runeWidthOffset, y, cell.Char, nil, cell.Style)
|
||||
|
@ -21,6 +21,7 @@ import (
|
||||
"unicode"
|
||||
|
||||
"github.com/mattn/go-runewidth"
|
||||
"maunium.net/go/mauview"
|
||||
|
||||
"maunium.net/go/tcell"
|
||||
)
|
||||
@ -181,7 +182,7 @@ func (str TString) AdjustStyleFull(fn func(tcell.Style) tcell.Style) {
|
||||
str.AdjustStyle(0, len(str), fn)
|
||||
}
|
||||
|
||||
func (str TString) Draw(screen tcell.Screen, x, y int) {
|
||||
func (str TString) Draw(screen mauview.Screen, x, y int) {
|
||||
offsetX := 0
|
||||
for _, cell := range str {
|
||||
offsetX += cell.Draw(screen, x+offsetX, y)
|
||||
|
Reference in New Issue
Block a user