Fixed attachment button not being visible

This commit is contained in:
diamondburned 2020-07-17 11:17:21 -07:00
parent 7d1078446a
commit d965ed2118
8 changed files with 30 additions and 29 deletions

View File

@ -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

View File

@ -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 {

View File

@ -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() {

View File

@ -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)
}

View File

@ -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) {

View File

@ -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

View File

@ -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

View File

@ -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
}