From b07f92853df67ac8c02ed4df3f6914dc7662c7f2 Mon Sep 17 00:00:00 2001 From: sunglocto Date: Fri, 17 Jul 2026 18:38:35 +0100 Subject: [PATCH] NOBODYSETISGONELETSGO --- gtk-message.go | 18 ++++++++++++------ main.go | 10 ++++++---- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/gtk-message.go b/gtk-message.go index ca51807..4d57fe6 100644 --- a/gtk-message.go +++ b/gtk-message.go @@ -74,10 +74,10 @@ func generatePresenceWidget(p stanza.Packet) gtk.Widgetter { return b } -func generateMessageWidget(p stanza.Packet) gtk.Widgetter { +func generateMessageWidget(p stanza.Packet) (gtk.Widgetter, bool) { m, ok := p.(stanza.Message) if !ok { - return gtk.NewLabel("Unsupported message.") + return gtk.NewLabel("Unsupported message."), true } readmarker := Marker{} @@ -85,7 +85,7 @@ func generateMessageWidget(p stanza.Packet) gtk.Widgetter { if ok { b := gtk.NewBox(gtk.OrientationHorizontal, 0) b.Append(gtk.NewLabel(fmt.Sprintf("%s%s", JidMustParse(m.From).Resource, loadedLocale["readWidget"]))) - return b + return b, true } composing := stanza.StateComposing{} @@ -93,7 +93,7 @@ func generateMessageWidget(p stanza.Packet) gtk.Widgetter { if ok { b := gtk.NewBox(gtk.OrientationHorizontal, 0) b.Append(gtk.NewLabel(fmt.Sprintf("%s%s", JidMustParse(m.From).Resource, loadedLocale["isTyping"]))) - return b + return b, true } if m.Error.Type != "" { @@ -104,7 +104,7 @@ func generateMessageWidget(p stanza.Packet) gtk.Widgetter { error_box.Append(cancel_img) error_box.Append(error_label) error_box.Append(gtk.NewLabel(m.Error.Reason)) - return error_box + return error_box, true } sid := StanzaID{} @@ -252,8 +252,11 @@ func generateMessageWidget(p stanza.Packet) gtk.Widgetter { mlabel := gtk.NewLabel(m.Body) if m.Body == "" { + /* mlabel.SetText(loadedLocale["noBodySet"]) mlabel.AddCSSClass("visitor") + */ + return nil, false } mlabel.SetWrap(true) mlabel.SetSelectable(true) @@ -329,8 +332,11 @@ func generateMessageWidget(p stanza.Packet) gtk.Widgetter { mlabel := gtk.NewLabel(m.Body) if m.Body == "" { + /* mlabel.SetText(loadedLocale["noBodySet"]) mlabel.AddCSSClass("visitor") + */ + return nil, false } mlabel.SetWrap(true) mlabel.SetSelectable(true) @@ -398,7 +404,7 @@ func generateMessageWidget(p stanza.Packet) gtk.Widgetter { } } - return mainBox + return mainBox, true } func getVAdjustment(scrolledWindow *gtk.ScrolledWindow) *gtk.Adjustment { diff --git a/main.go b/main.go index 5a4a530..ae70f33 100644 --- a/main.go +++ b/main.go @@ -293,7 +293,6 @@ func main() { typed_tab := tab.(*chatTab) if ok { - typed_tab.msgs.Append(b) if current == JidMustParse(m.From).Bare() { scrollToBottomAfterUpdate(scroller) } @@ -301,10 +300,13 @@ func main() { fmt.Println("Got message when the tab does not exist!") } - ba, ok := generateMessageWidget(p).(*gtk.Box) - if ok { + untyped_box, valid := generateMessageWidget(p) + ba, converted_successfully := untyped_box.(*gtk.Box) + + if valid && converted_successfully { + typed_tab.msgs.Append(b) b.Append(ba) - } + } }) })