messages

package
v0.0.0-...-6513b37 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 12, 2021 License: GPL-3.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

View Source
const BreadcrumbSlash = " 〉"

const BreadcrumbSlash = `<span rise="-1024" size="x-large">❭</span>`

Variables

This section is empty.

Functions

This section is empty.

Types

type Controller

type Controller interface {
	// GoBack tells the main leaflet to go back to the services list.
	GoBack()
	// OnMessageBusy is called when the message buffer is busy. This happens
	// when it's loading messages.
	OnMessageBusy()
	// OnMessageDone is called after OnMessageBusy, when the message buffer is
	// done with loading.
	OnMessageDone()
}
type Header struct {
	handy.HeaderBar

	ShowBackBtn *gtk.Revealer
	BackButton  *gtk.Button
	Breadcrumb  *gtk.Label
	MessageCtrl *MessageControl
	ShowMembers *gtk.ToggleButton
	// contains filtered or unexported fields
}

func NewHeader

func NewHeader() *Header

func (*Header) OnBackPressed

func (h *Header) OnBackPressed(fn func())

func (*Header) OnShowMembersToggle

func (h *Header) OnShowMembersToggle(fn func(show bool))

func (*Header) Reset

func (h *Header) Reset()

func (*Header) SetBreadcrumber

func (h *Header) SetBreadcrumber(b traverse.Breadcrumber)

func (*Header) SetCanShowMembers

func (h *Header) SetCanShowMembers(canShow bool)

func (*Header) SetMiniBreadcrumb

func (h *Header) SetMiniBreadcrumb(mini bool)

SetMiniBreadcrumb sets whether or not the breadcrumb should display the full label.

func (*Header) SetShowBackButton

func (h *Header) SetShowBackButton(show bool)

type MessageControl

type MessageControl struct {
	gtk.Revealer
	Box *gtk.Box

	Reply  *bindableButton
	Edit   *bindableButton
	Delete *bindableButton // Actions "Delete"
	// contains filtered or unexported fields
}

MessageControl controls buttons that control a selected message.

func NewMessageControl

func NewMessageControl() *MessageControl

func (*MessageControl) Disable

func (mc *MessageControl) Disable()

Disable disables the MessageControl and hides it.

func (*MessageControl) Enable

func (mc *MessageControl) Enable(msg container.MessageRow, names MessageItemNames)

Enable enables the MessageControl with the given message.

func (*MessageControl) SetHidden

func (mc *MessageControl) SetHidden(hidden bool)

SetHidden sets whether or not the control should be hidden.

type MessageItemNames

type MessageItemNames struct {
	Reply, Edit, Delete string
}

MessageItemNames contains names that MessageControl will use for its menu action callbacks.

type MessagesContainer

type MessagesContainer interface {
	gtk.IWidget
	cchat.MessagesContainer
	container.Container
}

type ServerMessage

type ServerMessage interface {
	cchat.Server
	cchat.Messenger
}

ServerMessage combines Server and ServerMessage from cchat.

type View

type View struct {
	*gtk.Box

	Header *Header

	FaceView *sadface.FaceView
	Leaflet  *handy.Leaflet

	LeftBox   *gtk.Box
	Scroller  *autoscroll.ScrolledWindow
	InputView *input.InputView

	MsgBox    *gtk.Box
	Typing    *typing.Container
	Container MessagesContainer

	MemberList *memberlist.Container // right box
	// contains filtered or unexported fields
}

func NewView

func NewView(c Controller) *View

func (*View) Author

func (v *View) Author(authorID cchat.ID) rich.LabelStateStorer

Author returns the author from the message list with the given author ID.

func (*View) AuthorEvent

func (v *View) AuthorEvent(authorID cchat.ID)

AuthorEvent should be called on message create/update/delete.

func (*View) Backlogger

func (s *View) Backlogger() cchat.Backlogger

Backlogger returns the backlogger instance if it's allowed to fetch more backlogs.

func (*View) BindMenu

func (v *View) BindMenu(msg container.MessageRow)

BindMenu attaches the menu constructor into the message with the needed states and callbacks.

func (*View) Bottomed

func (v *View) Bottomed() bool

func (*View) FetchBacklog

func (v *View) FetchBacklog()

func (*View) JoinServer

func (v *View) JoinServer(ses *session.Row, srv *server.ServerRow, bc traverse.Breadcrumber)

JoinServer is not thread-safe, but it calls backend functions asynchronously.

func (*View) LatestMessageFrom

func (v *View) LatestMessageFrom(userID cchat.ID) container.MessageRow

LatestMessageFrom returns the last message ID with that author.

func (*View) MemberListUpdated

func (v *View) MemberListUpdated(c *memberlist.Container)

MemberListUpdated is called everytime the member list is updated.

func (*View) MessageAuthor

func (v *View) MessageAuthor(msgID cchat.ID) *message.Author

MessageAuthor returns the author from the message with the given ID.

func (*View) Reset

func (v *View) Reset()

Reset resets the message view.

func (*View) SelectMessage

func (v *View) SelectMessage(_ *container.ListStore, msg container.MessageRow)

SelectMessage is called when a message is selected.

func (*View) SendMessage

func (v *View) SendMessage(msg message.PresendMessage)

func (*View) ServerID

func (s *View) ServerID() string

ServerID returns the server ID, or an empty string if there's no server.

func (*View) SessionID

func (s *View) SessionID() string

SessionID returns the session ID, or an empty string if there's no session.

func (*View) SetFolded

func (v *View) SetFolded(folded bool)

func (*View) UnselectMessage

func (v *View) UnselectMessage()

UnselectMessage is called when the message selection is cleared.

Directories

Path Synopsis
Package sadface provides different views for the message container.
Package sadface provides different views for the message container.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL