aboutsummaryrefslogtreecommitdiff
path: root/interface
diff options
context:
space:
mode:
authorTulir Asokan <tulir@maunium.net>2019-04-09 18:45:41 +0300
committerTulir Asokan <tulir@maunium.net>2019-04-09 18:45:41 +0300
commitdbee49476d47bb391dc6af0b774f9fd101b0c917 (patch)
treeb694605cc84a2e7d430e1b809cec51dfc3141bea /interface
parent2b6c435e5020535a916e23b09d47608d788eaf05 (diff)
Start refactoring various things in message rendering and sending
Diffstat (limited to 'interface')
-rw-r--r--interface/ui.go52
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
}