message

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 29, 2020 License: GPL-3.0 Imports: 37 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EmbedAvatarSize = 24
	EmbedMaxWidth   = 300
	EmbedImgHeight  = 300 // max
	EmbedMargin     = 8

	EmbedMainCSS = `
		.embed {
			border-left: 4px solid #%06X;
			background-color: rgba(0, 0, 0, 0.1);
		}
	`
)
View Source
const (
	AvatarSize    = 42 // gtk.ICON_SIZE_DND
	AvatarPadding = 10

	AvatarFallbackURL = "https://discordapp.com/assets/dd4dbc0016779df1378e7812eabaa04d.png"
)
View Source
const InputIconSize = gtk.ICON_SIZE_LARGE_TOOLBAR

Variables

View Source
var MaxMessageWidth = 750

Functions

func NewAttachmentUnsafe

func NewAttachmentUnsafe(msg *discord.Message) []gtk.IWidget

func NewEmbedUnsafe

func NewEmbedUnsafe(s *ningen.State, msg *discord.Message) []gtk.IWidget

func SpawnPreviewDialog

func SpawnPreviewDialog(proxy, imageURL string)

func SpawnUploader

func SpawnUploader(callback func(absolutePath []string))

func WithPreviewer

func WithPreviewer(fc *gtk.FileChooserDialog)

Types

type Input

type Input struct {
	*handy.Column
	Messages *Messages

	Main  *gtk.Box
	Style *gtk.StyleContext

	Completer *completer.State

	InputBox *gtk.Box
	Input    *gtk.TextView
	InputBuf *gtk.TextBuffer
	Upload   *gtk.Button
	Send     *gtk.Button

	Bottom *gtk.Box
	Typing *typing.State

	// | Typing...      | Editing. _Cancel_ |
	EditRevealer *gtk.Revealer
	EditLabel    *gtk.Label
	EditCancel   *gtk.Button

	Editing *discord.Message
}

func NewInput

func NewInput(m *Messages) (i *Input)

type Message

type Message struct {
	*gtk.ListBoxRow

	Nonce    string
	ID       discord.Snowflake
	AuthorID discord.Snowflake
	Webhook  bool

	Timestamp time.Time
	Edited    time.Time

	Condensed      bool
	CondenseOffset time.Duration

	OnUserClick  func(m *Message)
	OnRightClick func(m *Message, btn *gdk.EventButton)
	// contains filtered or unexported fields
}

func (*Message) SetCondensedUnsafe

func (m *Message) SetCondensedUnsafe(condensed bool)

func (*Message) UpdateAuthor

func (m *Message) UpdateAuthor(s *ningen.State, gID discord.Snowflake, u discord.User)

func (*Message) UpdateAvatar

func (m *Message) UpdateAvatar(url string)

func (*Message) UpdateContent

func (m *Message) UpdateContent(s *ningen.State, update *discord.Message)

func (*Message) UpdateContentUnsafe

func (m *Message) UpdateContentUnsafe(s *ningen.State, update *discord.Message)

func (*Message) UpdateExtras

func (m *Message) UpdateExtras(s *ningen.State, update *discord.Message)

func (*Message) UpdateMember

func (m *Message) UpdateMember(s *ningen.State, gID discord.Snowflake, n discord.Member)

type MessageUploader

type MessageUploader struct {
	*gtk.Box
	// contains filtered or unexported fields
}

func NewMessageUploader

func NewMessageUploader(paths []string) (*MessageUploader, error)

func (*MessageUploader) Close

func (m *MessageUploader) Close()

func (*MessageUploader) MakeSendData

func (m *MessageUploader) MakeSendData(message *discord.Message) api.SendMessageData

type Messages

type Messages struct {
	gtkutils.ExtendedWidget

	Main *gtk.Box

	Scroll   *gtk.ScrolledWindow
	Viewport *gtk.Viewport

	Messages *gtk.ListBox

	// Additional components
	Input *Input
	// contains filtered or unexported fields
}

func NewMessages

func NewMessages(s *ningen.State) (*Messages, error)

func (*Messages) Cleanup

func (m *Messages) Cleanup()

func (*Messages) Delete

func (m *Messages) Delete(ids ...discord.Snowflake)

func (*Messages) Focus

func (m *Messages) Focus()

Focus on the input box

func (*Messages) GetChannelID

func (m *Messages) GetChannelID() discord.Snowflake

func (*Messages) GetGuildID

func (m *Messages) GetGuildID() discord.Snowflake

func (*Messages) GetRecentAuthors

func (m *Messages) GetRecentAuthors(limit int) []discord.Snowflake

func (*Messages) Last

func (m *Messages) Last() *Message

func (*Messages) LastFromMe

func (m *Messages) LastFromMe() *Message

func (*Messages) LastID

func (m *Messages) LastID() discord.Snowflake

func (*Messages) Load

func (m *Messages) Load(channel discord.Snowflake) error

func (*Messages) ScrollToBottom

func (m *Messages) ScrollToBottom()

func (*Messages) Update

func (m *Messages) Update(update *discord.Message) bool

func (*Messages) Upsert

func (m *Messages) Upsert(message *discord.Message)

type PreviewDialog

type PreviewDialog struct {
	*handy.Dialog
	Content *gtk.Box

	Image *gtk.Image

	OpenOriginal *gtk.Button
	ImageView    *gtk.ScrolledWindow

	Proxy string
	URL   string
}

func (*PreviewDialog) Fetch

func (pd *PreviewDialog) Fetch(w, h int)

func (*PreviewDialog) Open

func (od *PreviewDialog) Open()

type ProgressUploader

type ProgressUploader struct {
	*gtk.Box

	Name string
	// contains filtered or unexported fields
}

func NewProgressUploader

func NewProgressUploader(Name string, r io.ReadCloser, s int64) *ProgressUploader

func (*ProgressUploader) Close

func (p *ProgressUploader) Close() error

func (*ProgressUploader) Read

func (p *ProgressUploader) Read(b []byte) (int, error)

type Uploader

type Uploader struct {
	*gtk.FileChooserNativeDialog
	// contains filtered or unexported fields
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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