BOOKMARKS! BOOKMARKS! WE GOT BOOKMARKS PEOPLE

This commit is contained in:
2026-02-16 09:52:25 +00:00
parent 09a809c102
commit e026e777f6
11 changed files with 160 additions and 17 deletions

View File

@@ -19,6 +19,7 @@ import (
)
func generatePresenceWidget(p stanza.Packet) gtk.Widgetter {
b := gtk.NewBox(gtk.OrientationHorizontal, 0)
presence, ok := p.(stanza.Presence)
if !ok {
return gtk.NewLabel("Unsupported message.")
@@ -29,14 +30,21 @@ func generatePresenceWidget(p stanza.Packet) gtk.Widgetter {
ok := presence.Get(&mu)
if ok {
if mu.MucUserItem.Affiliation == "outcast" {
return gtk.NewLabel(jid.MustParse(presence.From).Resourcepart() + " has been banned!")
b.Append(gtk.NewImageFromPaintable(clientAssets["outcast"]))
b.Append(gtk.NewLabel(JidMustParse(presence.From).Resource + " has been banned by " + mu.MucUserItem.Actor.Nick + "!"))
return b
}
}
return gtk.NewLabel(JidMustParse(presence.From).Resource + " left the MUC")
b.Append(gtk.NewImageFromPaintable(clientAssets["door_out"]))
b.Append(gtk.NewLabel(JidMustParse(presence.From).Resource))
} else {
return gtk.NewLabel(JidMustParse(presence.From).Resource + " joined the MUC")
b.Append(gtk.NewImageFromPaintable(clientAssets["door_in"]))
b.Append(gtk.NewLabel(JidMustParse(presence.From).Resource))
}
b.SetTooltipText(presence.Status)
return b
}
func generateMessageWidget(p stanza.Packet) gtk.Widgetter {
@@ -65,7 +73,7 @@ func generateMessageWidget(p stanza.Packet) gtk.Widgetter {
if m.Error.Type != "" {
error_box := gtk.NewBox(gtk.OrientationHorizontal, 0)
cancel_img := gtk.NewImageFromPaintable(clientAssets["cancel"])
error_label := gtk.NewLabel(m.Error.Text+ ": ")
error_label := gtk.NewLabel(m.Error.Text + ": ")
error_box.Append(cancel_img)
error_box.Append(error_label)
@@ -147,7 +155,11 @@ func generateMessageWidget(p stanza.Packet) gtk.Widgetter {
// authorBox.Append(im)
al := gtk.NewLabel(jid.MustParse(m.From).Resourcepart())
n := jid.MustParse(m.From).Resourcepart()
if n == "" {
n = jid.MustParse(m.From).String()
}
al := gtk.NewLabel(n)
al.AddCSSClass("author")
al.SetSelectable(true)
@@ -195,6 +207,12 @@ func generateMessageWidget(p stanza.Packet) gtk.Widgetter {
mlabel.SetSelectable(true)
mlabel.SetHAlign(gtk.AlignFill)
mum := MucUser{}
ok = m.Get(&mum)
if ok {
mlabel.SetText(fmt.Sprintf("%s's affiliation has been changed to %s", mum.MucUserItem.JID, mum.MucUserItem.Affiliation))
}
contentBox.Append(mlabel)
mainBox.Append(authorBox)