diff options
author | Tulir Asokan <tulir@maunium.net> | 2019-04-09 18:45:41 +0300 |
---|---|---|
committer | Tulir Asokan <tulir@maunium.net> | 2019-04-09 18:45:41 +0300 |
commit | dbee49476d47bb391dc6af0b774f9fd101b0c917 (patch) | |
tree | b694605cc84a2e7d430e1b809cec51dfc3141bea /interface | |
parent | 2b6c435e5020535a916e23b09d47608d788eaf05 (diff) |
Start refactoring various things in message rendering and sending
Diffstat (limited to 'interface')
-rw-r--r-- | interface/ui.go | 52 |
1 files changed, 8 insertions, 44 deletions
diff --git a/interface/ui.go b/interface/ui.go index df9d959..c64c748 100644 --- a/interface/ui.go +++ b/interface/ui.go @@ -19,11 +19,9 @@ package ifc import ( "time" - "maunium.net/go/mautrix" - "maunium.net/go/tcell" - "maunium.net/go/gomuks/matrix/pushrules" "maunium.net/go/gomuks/matrix/rooms" + "maunium.net/go/mautrix" ) type UIProvider func(gmx Gomuks) GomuksUI @@ -50,7 +48,6 @@ type MainView interface { UpdateTags(room *rooms.Room) SetTyping(roomID string, users []string) - ParseEvent(roomView RoomView, evt *mautrix.Event) Message NotifyMessage(room *rooms.Room, message Message, should pushrules.PushActionArrayShould) InitialSyncDone() @@ -71,50 +68,17 @@ type RoomView interface { SetTyping(users []string) UpdateUserList() - NewTempMessage(msgtype mautrix.MessageType, text string) Message - AddMessage(message Message, direction MessageDirection) + ParseEvent(evt *mautrix.Event) Message + AppendMessage(message Message) + MarkMessageFailed(message Message) AddServiceMessage(message string) } -type MessageMeta interface { - Sender() string - SenderColor() tcell.Color - TextColor() tcell.Color - TimestampColor() tcell.Color - Timestamp() time.Time - FormatTime() string - FormatDate() string -} - -// MessageState is an enum to specify if a Message is being sent, failed to send or was successfully sent. -type MessageState int - -// Allowed MessageStates. -const ( - MessageStateSending MessageState = iota - MessageStateDefault - MessageStateFailed -) - type Message interface { - MessageMeta - - SetIsHighlight(isHighlight bool) - IsHighlight() bool - - SetIsService(isService bool) - IsService() bool - - SetID(id string) ID() string - - SetType(msgtype mautrix.MessageType) - Type() mautrix.MessageType - - NotificationContent() string - - SetState(state MessageState) - State() MessageState - + TxnID() string SenderID() string + Timestamp() time.Time + NotificationSenderName() string + NotificationContent() string } |