mirror of
https://github.com/diamondburned/cchat-gtk.git
synced 2025-03-21 17:39:23 +00:00
Fixed attachment button not being visible
This commit is contained in:
parent
7d1078446a
commit
d965ed2118
|
@ -7,7 +7,7 @@ import (
|
|||
"github.com/diamondburned/cchat-gtk/icons"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/primitives"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/primitives/actions"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/service/breadcrumb"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/service/traverse"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/service/session"
|
||||
"github.com/gotk3/gotk3/glib"
|
||||
"github.com/gotk3/gotk3/gtk"
|
||||
|
@ -53,7 +53,7 @@ func newHeader() *header {
|
|||
|
||||
const BreadcrumbSlash = `<span rise="-1024" size="x-large">/</span>`
|
||||
|
||||
func (h *header) SetBreadcrumber(b breadcrumb.Breadcrumber) {
|
||||
func (h *header) SetBreadcrumber(b traverse.Breadcrumber) {
|
||||
if b == nil {
|
||||
h.right.breadcrumb.SetText("")
|
||||
return
|
||||
|
|
|
@ -217,7 +217,8 @@ func (f *Field) SetSender(session cchat.Session, sender cchat.ServerMessageSende
|
|||
f.typer, _ = sender.(cchat.ServerMessageTypingIndicator)
|
||||
|
||||
// See if we can upload files.
|
||||
_, f.upload = sender.(cchat.ServerMessageAttachmentSender)
|
||||
_, allowUpload := sender.(cchat.ServerMessageAttachmentSender)
|
||||
f.SetAllowUpload(allowUpload)
|
||||
|
||||
// Populate the duration state if typer is not nil.
|
||||
if f.typer != nil {
|
||||
|
|
|
@ -10,9 +10,9 @@ import (
|
|||
"github.com/diamondburned/cchat-gtk/internal/ui/primitives/drag"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/rich"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/rich/parser/markup"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/service/breadcrumb"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/service/session"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/service/session/server"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/service/traverse"
|
||||
"github.com/gotk3/gotk3/gtk"
|
||||
)
|
||||
|
||||
|
@ -205,8 +205,8 @@ func (s *Service) MoveSession(id, movingID string) {
|
|||
s.SaveAllSessions()
|
||||
}
|
||||
|
||||
func (s *Service) Breadcrumb() breadcrumb.Breadcrumb {
|
||||
return breadcrumb.Try(nil, s.service.Name().Content)
|
||||
func (s *Service) Breadcrumb() traverse.Breadcrumb {
|
||||
return traverse.TryBreadcrumb(nil, s.service.Name().Content)
|
||||
}
|
||||
|
||||
func (s *Service) SaveAllSessions() {
|
||||
|
|
|
@ -4,8 +4,8 @@ import (
|
|||
"github.com/diamondburned/cchat"
|
||||
"github.com/diamondburned/cchat-gtk/internal/gts"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/primitives"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/service/breadcrumb"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/service/loading"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/service/traverse"
|
||||
"github.com/gotk3/gotk3/gtk"
|
||||
)
|
||||
|
||||
|
@ -20,7 +20,7 @@ type Children struct {
|
|||
|
||||
Rows []*ServerRow
|
||||
|
||||
Parent breadcrumb.Breadcrumber
|
||||
Parent traverse.Breadcrumber
|
||||
rowctrl Controller
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,7 @@ var childrenCSS = primitives.PrepareClassCSS("server-children", `
|
|||
}
|
||||
`)
|
||||
|
||||
func NewChildren(p breadcrumb.Breadcrumber, ctrl Controller) *Children {
|
||||
func NewChildren(p traverse.Breadcrumber, ctrl Controller) *Children {
|
||||
main, _ := gtk.BoxNew(gtk.ORIENTATION_VERTICAL, 0)
|
||||
main.SetMarginStart(ChildrenMargin)
|
||||
childrenCSS(main)
|
||||
|
@ -120,6 +120,6 @@ func (c *Children) SetServers(servers []cchat.Server) {
|
|||
})
|
||||
}
|
||||
|
||||
func (c *Children) Breadcrumb() breadcrumb.Breadcrumb {
|
||||
return breadcrumb.Try(c.Parent)
|
||||
func (c *Children) Breadcrumb() traverse.Breadcrumb {
|
||||
return traverse.TryBreadcrumb(c.Parent)
|
||||
}
|
||||
|
|
|
@ -6,8 +6,8 @@ import (
|
|||
"github.com/diamondburned/cchat-gtk/internal/ui/primitives"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/primitives/menu"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/rich"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/service/breadcrumb"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/service/session/server/button"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/service/traverse"
|
||||
"github.com/diamondburned/cchat/text"
|
||||
"github.com/gotk3/gotk3/gtk"
|
||||
"github.com/pkg/errors"
|
||||
|
@ -30,7 +30,7 @@ var serverCSS = primitives.PrepareClassCSS("server", `
|
|||
}
|
||||
`)
|
||||
|
||||
func NewServerRow(p breadcrumb.Breadcrumber, server cchat.Server, ctrl Controller) *ServerRow {
|
||||
func NewServerRow(p traverse.Breadcrumber, server cchat.Server, ctrl Controller) *ServerRow {
|
||||
row := NewRow(p, server.Name())
|
||||
row.SetIconer(server)
|
||||
serverCSS(row)
|
||||
|
@ -69,7 +69,7 @@ type Row struct {
|
|||
*gtk.Box
|
||||
Button *button.ToggleButtonImage
|
||||
|
||||
parentcrumb breadcrumb.Breadcrumber
|
||||
parentcrumb traverse.Breadcrumber
|
||||
|
||||
childrev *gtk.Revealer
|
||||
children *Children
|
||||
|
@ -77,7 +77,7 @@ type Row struct {
|
|||
loaded bool
|
||||
}
|
||||
|
||||
func NewRow(parent breadcrumb.Breadcrumber, name text.Rich) *Row {
|
||||
func NewRow(parent traverse.Breadcrumber, name text.Rich) *Row {
|
||||
button := button.NewToggleButtonImage(name)
|
||||
button.Box.SetHAlign(gtk.ALIGN_START)
|
||||
button.SetRelief(gtk.RELIEF_NONE)
|
||||
|
@ -95,8 +95,8 @@ func NewRow(parent breadcrumb.Breadcrumber, name text.Rich) *Row {
|
|||
return row
|
||||
}
|
||||
|
||||
func (r *Row) Breadcrumb() breadcrumb.Breadcrumb {
|
||||
return breadcrumb.Try(r.parentcrumb, r.Button.GetText())
|
||||
func (r *Row) Breadcrumb() traverse.Breadcrumb {
|
||||
return traverse.TryBreadcrumb(r.parentcrumb, r.Button.GetText())
|
||||
}
|
||||
|
||||
func (r *Row) SetLabelUnsafe(name text.Rich) {
|
||||
|
|
|
@ -8,7 +8,7 @@ import (
|
|||
"github.com/diamondburned/cchat-gtk/internal/humanize"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/primitives"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/primitives/spinner"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/service/breadcrumb"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/service/traverse"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/service/session/server"
|
||||
"github.com/gotk3/gotk3/gtk"
|
||||
"github.com/gotk3/gotk3/pango"
|
||||
|
@ -31,7 +31,7 @@ var toplevelCSS = primitives.PrepareClassCSS("top-level", `
|
|||
.top-level { margin: 0 3px }
|
||||
`)
|
||||
|
||||
func NewServers(p breadcrumb.Breadcrumber, ctrl server.Controller) *Servers {
|
||||
func NewServers(p traverse.Breadcrumber, ctrl server.Controller) *Servers {
|
||||
c := server.NewChildren(p, ctrl)
|
||||
c.SetMarginStart(0) // children is top level; there is no main row
|
||||
c.SetHExpand(true) // fill
|
||||
|
|
|
@ -11,9 +11,9 @@ import (
|
|||
"github.com/diamondburned/cchat-gtk/internal/ui/primitives/spinner"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/rich"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/rich/parser/markup"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/service/breadcrumb"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/service/session/commander"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/service/session/server"
|
||||
"github.com/diamondburned/cchat-gtk/internal/ui/service/traverse"
|
||||
"github.com/diamondburned/cchat/text"
|
||||
"github.com/gotk3/gotk3/gdk"
|
||||
"github.com/gotk3/gotk3/gtk"
|
||||
|
@ -52,7 +52,7 @@ type Row struct {
|
|||
*gtk.ListBoxRow
|
||||
icon *rich.EventIcon // nilable
|
||||
|
||||
parentcrumb breadcrumb.Breadcrumber
|
||||
parentcrumb traverse.Breadcrumber
|
||||
|
||||
Session cchat.Session // state; nilable
|
||||
sessionID string
|
||||
|
@ -86,20 +86,20 @@ var rowIconCSS = primitives.PrepareClassCSS("session-icon", `
|
|||
}
|
||||
`)
|
||||
|
||||
func New(parent breadcrumb.Breadcrumber, ses cchat.Session, ctrl Servicer) *Row {
|
||||
func New(parent traverse.Breadcrumber, ses cchat.Session, ctrl Servicer) *Row {
|
||||
row := newRow(parent, text.Rich{}, ctrl)
|
||||
row.SetSession(ses)
|
||||
return row
|
||||
}
|
||||
|
||||
func NewLoading(parent breadcrumb.Breadcrumber, id, name string, ctrl Servicer) *Row {
|
||||
func NewLoading(parent traverse.Breadcrumber, id, name string, ctrl Servicer) *Row {
|
||||
row := newRow(parent, text.Rich{Content: name}, ctrl)
|
||||
row.sessionID = id
|
||||
row.SetLoading()
|
||||
return row
|
||||
}
|
||||
|
||||
func newRow(parent breadcrumb.Breadcrumber, name text.Rich, ctrl Servicer) *Row {
|
||||
func newRow(parent traverse.Breadcrumber, name text.Rich, ctrl Servicer) *Row {
|
||||
row := &Row{
|
||||
svcctrl: ctrl,
|
||||
parentcrumb: parent,
|
||||
|
@ -163,8 +163,8 @@ func (r *Row) Reset() {
|
|||
r.cmder = nil
|
||||
}
|
||||
|
||||
func (r *Row) Breadcrumb() breadcrumb.Breadcrumb {
|
||||
return breadcrumb.Try(r.parentcrumb, r.Session.Name().Content)
|
||||
func (r *Row) Breadcrumb() traverse.Breadcrumb {
|
||||
return traverse.TryBreadcrumb(r.parentcrumb, r.Session.Name().Content)
|
||||
}
|
||||
|
||||
// Activate executes whatever needs to be done. If the row has failed, then this
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package breadcrumb
|
||||
package traverse
|
||||
|
||||
import "strings"
|
||||
|
||||
|
@ -12,8 +12,8 @@ type Breadcrumber interface {
|
|||
Breadcrumb() Breadcrumb
|
||||
}
|
||||
|
||||
// Try accepts a nilable breadcrumber and handles it appropriately.
|
||||
func Try(i Breadcrumber, appended ...string) []string {
|
||||
// TryBreadcrumb accepts a nilable breadcrumber and handles it appropriately.
|
||||
func TryBreadcrumb(i Breadcrumber, appended ...string) []string {
|
||||
if i == nil {
|
||||
return appended
|
||||
}
|
Loading…
Reference in a new issue