mirror of
https://github.com/diamondburned/cchat-gtk.git
synced 2024-11-01 12:04:15 +00:00
diamondburned
f5ba082b86
This commit uses the GtkFileChooserNative over Gtk's own. It also slightly refactors the message container API and fixes minor UI appearances, especially adding the separator.
42 lines
1.2 KiB
Go
42 lines
1.2 KiB
Go
package compact
|
|
|
|
import (
|
|
"github.com/diamondburned/cchat"
|
|
"github.com/diamondburned/cchat-gtk/internal/gts"
|
|
"github.com/diamondburned/cchat-gtk/internal/ui/messages/container"
|
|
"github.com/diamondburned/cchat-gtk/internal/ui/messages/input"
|
|
"github.com/diamondburned/cchat-gtk/internal/ui/primitives"
|
|
)
|
|
|
|
type Container struct {
|
|
*container.GridContainer
|
|
}
|
|
|
|
func NewContainer(ctrl container.Controller) *Container {
|
|
c := container.NewGridContainer(constructor{}, ctrl)
|
|
primitives.AddClass(c, "compact-conatainer")
|
|
return &Container{c}
|
|
}
|
|
|
|
func (c *Container) CreateMessage(msg cchat.MessageCreate) {
|
|
gts.ExecAsync(func() { c.GridContainer.CreateMessageUnsafe(msg) })
|
|
}
|
|
|
|
func (c *Container) UpdateMessage(msg cchat.MessageUpdate) {
|
|
gts.ExecAsync(func() { c.GridContainer.UpdateMessageUnsafe(msg) })
|
|
}
|
|
|
|
func (c *Container) DeleteMessage(msg cchat.MessageDelete) {
|
|
gts.ExecAsync(func() { c.GridContainer.DeleteMessageUnsafe(msg) })
|
|
}
|
|
|
|
type constructor struct{}
|
|
|
|
func (constructor) NewMessage(msg cchat.MessageCreate) container.GridMessage {
|
|
return NewMessage(msg)
|
|
}
|
|
|
|
func (constructor) NewPresendMessage(msg input.PresendMessage) container.PresendGridMessage {
|
|
return NewPresendMessage(msg)
|
|
}
|