Add blocking, add note to self to tabs and add snit's default avatar img

This commit is contained in:
2026-07-30 01:39:31 +01:00
parent b07f92853d
commit 7a822e8eaf
6 changed files with 114 additions and 29 deletions
+31 -11
View File
@@ -74,7 +74,7 @@ func generatePresenceWidget(p stanza.Packet) gtk.Widgetter {
return b
}
func generateMessageWidget(p stanza.Packet) (gtk.Widgetter, bool) {
func generateMessageWidget(p stanza.Packet, blocked bool) (gtk.Widgetter, bool) {
m, ok := p.(stanza.Message)
if !ok {
return gtk.NewLabel("Unsupported message."), true
@@ -233,12 +233,18 @@ func generateMessageWidget(p stanza.Packet) (gtk.Widgetter, bool) {
mainBox.AddController(gesture)
if name == "" {
name = JidMustParse(m.From).Bare()
}
if loadedConfig.CompactMode {
if m.Body == "" {
/*
mlabel.SetText(loadedLocale["noBodySet"])
mlabel.AddCSSClass("visitor")
*/
return nil, false
}
al := gtk.NewLabel(name)
ycbcr := xmpp_color.String(id, 255, loadedConfig.CVD)
r, g, b, _ := ycbcr.RGBA()
@@ -251,13 +257,6 @@ func generateMessageWidget(p stanza.Packet) (gtk.Widgetter, bool) {
mlabel := gtk.NewLabel(m.Body)
if m.Body == "" {
/*
mlabel.SetText(loadedLocale["noBodySet"])
mlabel.AddCSSClass("visitor")
*/
return nil, false
}
mlabel.SetWrap(true)
mlabel.SetSelectable(true)
// mlabel.SetHAlign(gtk.AlignFill)
@@ -333,8 +332,8 @@ func generateMessageWidget(p stanza.Packet) (gtk.Widgetter, bool) {
mlabel := gtk.NewLabel(m.Body)
if m.Body == "" {
/*
mlabel.SetText(loadedLocale["noBodySet"])
mlabel.AddCSSClass("visitor")
mlabel.SetText(loadedLocale["noBodySet"])
mlabel.AddCSSClass("visitor")
*/
return nil, false
}
@@ -404,6 +403,27 @@ func generateMessageWidget(p stanza.Packet) (gtk.Widgetter, bool) {
}
}
if loadedConfig.BlockingMode == Highlight && blocked {
mainBox.AddCSSClass("blocked")
}
if loadedConfig.BlockingMode == Hide && blocked {
mainBox.SetVisible(false)
blocked_box := gtk.NewBox(gtk.OrientationVertical, 0)
blocked_part := gtk.NewBox(gtk.OrientationHorizontal, 0)
blocked_part.Append(gtk.NewLabel("This message is from a user you have blocked. "))
show_hide := gtk.NewButtonWithLabel("Toggle")
show_hide.ConnectClicked(func() {
mainBox.SetVisible(!mainBox.IsVisible())
})
blocked_part.Append(show_hide)
blocked_box.Append(blocked_part)
blocked_box.Append(mainBox)
return blocked_box, true
}
return mainBox, true
}