aboutsummaryrefslogtreecommitdiff
path: root/ui/messages/expandedtextmessage.go
diff options
context:
space:
mode:
authorTulir Asokan <tulir@maunium.net>2018-04-13 21:25:45 +0300
committerTulir Asokan <tulir@maunium.net>2018-04-13 21:25:45 +0300
commit69c163cfe9d353060896403a3e844848d4fd54eb (patch)
tree3b61d43f66a641c462c33620de90ff9d2b2c1047 /ui/messages/expandedtextmessage.go
parent7e5e802e90e38e7b1de025e792e228ac7b329a53 (diff)
Unknown changes that possibly fix and/or break things
Diffstat (limited to 'ui/messages/expandedtextmessage.go')
-rw-r--r--ui/messages/expandedtextmessage.go71
1 files changed, 28 insertions, 43 deletions
diff --git a/ui/messages/expandedtextmessage.go b/ui/messages/expandedtextmessage.go
index 1d6030a..3ee15ad 100644
--- a/ui/messages/expandedtextmessage.go
+++ b/ui/messages/expandedtextmessage.go
@@ -22,65 +22,50 @@ import (
"maunium.net/go/gomuks/interface"
"maunium.net/go/gomuks/ui/messages/tstring"
- "maunium.net/go/gomuks/ui/widget"
)
func init() {
- gob.Register(&UITextMessage{})
- gob.Register(&UIExpandedTextMessage{})
+ gob.Register(&ExpandedTextMessage{})
}
-type UIExpandedTextMessage struct {
- UITextMessage
- MsgTStringText tstring.TString
+type ExpandedTextMessage struct {
+ BaseTextMessage
+ MsgText tstring.TString
}
-// NewExpandedTextMessage creates a new UIExpandedTextMessage object with the provided values and the default state.
+// NewExpandedTextMessage creates a new ExpandedTextMessage object with the provided values and the default state.
func NewExpandedTextMessage(id, sender, msgtype string, text tstring.TString, timestamp time.Time) UIMessage {
- return &UIExpandedTextMessage{
- UITextMessage{
- MsgSender: sender,
- MsgTimestamp: timestamp,
- MsgSenderColor: widget.GetHashColor(sender),
- MsgType: msgtype,
- MsgText: text.String(),
- MsgID: id,
- prevBufferWidth: 0,
- MsgState: ifc.MessageStateDefault,
- MsgIsHighlight: false,
- MsgIsService: false,
- },
- text,
+ return &ExpandedTextMessage{
+ BaseTextMessage: newBaseTextMessage(id, sender, msgtype, timestamp),
+ MsgText: text,
}
}
-func (msg *UIExpandedTextMessage) GetTStringText() tstring.TString {
- return msg.MsgTStringText
+func (msg *ExpandedTextMessage) GenerateText() tstring.TString {
+ return msg.MsgText
}
// CopyFrom replaces the content of this message object with the content of the given object.
-func (msg *UIExpandedTextMessage) CopyFrom(from ifc.MessageMeta) {
- msg.MsgSender = from.Sender()
- msg.MsgSenderColor = from.SenderColor()
+func (msg *ExpandedTextMessage) CopyFrom(from ifc.MessageMeta) {
+ msg.BaseTextMessage.CopyFrom(from)
- fromMsg, ok := from.(UIMessage)
+ fromExpandedMsg, ok := from.(*ExpandedTextMessage)
if ok {
- msg.MsgSender = fromMsg.RealSender()
- msg.MsgID = fromMsg.ID()
- msg.MsgType = fromMsg.Type()
- msg.MsgTimestamp = fromMsg.Timestamp()
- msg.MsgState = fromMsg.State()
- msg.MsgIsService = fromMsg.IsService()
- msg.MsgIsHighlight = fromMsg.IsHighlight()
- msg.buffer = nil
+ msg.MsgText = fromExpandedMsg.MsgText
+ }
- fromExpandedMsg, ok := from.(*UIExpandedTextMessage)
- if ok {
- msg.MsgTStringText = fromExpandedMsg.MsgTStringText
- } else {
- msg.MsgTStringText = tstring.NewColorTString(fromMsg.Text(), from.TextColor())
- }
+ msg.RecalculateBuffer()
+}
- msg.RecalculateBuffer()
- }
+func (msg *ExpandedTextMessage) NotificationContent() string {
+ return msg.MsgText.String()
+}
+
+func (msg *ExpandedTextMessage) CalculateBuffer(width int) {
+ msg.BaseTextMessage.calculateBufferWithText(msg.MsgText, width)
+}
+
+// RecalculateBuffer calculates the buffer again with the previously provided width.
+func (msg *ExpandedTextMessage) RecalculateBuffer() {
+ msg.CalculateBuffer(msg.prevBufferWidth)
}