From a97c42323c77d9e2c1ae3e7bbb0263b882757b50 Mon Sep 17 00:00:00 2001 From: sunglocto Date: Tue, 28 Apr 2026 12:58:00 +0100 Subject: [PATCH] Do not let ebassi see this code --- assets.go | 342 ++++++++------------------------------------ assets/moderate.png | Bin 0 -> 793 bytes gtk-helpers.go | 42 +++--- gtk-message.go | 18 +-- gtk-signin.go | 14 +- l18n.go | 140 ++++++++++++++++++ main.go | 193 +++++++++++-------------- 7 files changed, 323 insertions(+), 426 deletions(-) create mode 100644 assets/moderate.png create mode 100644 l18n.go diff --git a/assets.go b/assets.go index dca5958..8e47329 100644 --- a/assets.go +++ b/assets.go @@ -134,287 +134,63 @@ var mucPersistentBytes []byte //go:embed assets/muc_temporary.png var mucTemporaryBytes []byte -func init() { - - loader := gdkpixbuf.NewPixbufLoader() - - loader.Write(defaultAvatarBytes) - loader.Close() - clientAssets["DefaultAvatar"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(failedBytes) - loader.Close() - - clientAssets["FailedAvatar"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(ownerMedalBytes) - loader.Close() - - clientAssets["owner"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(cancelBytes) - loader.Close() - - clientAssets["cancel"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(tagBytes) - loader.Close() - - clientAssets["tag"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(adminMedalBytes) - loader.Close() - - clientAssets["admin"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(memberMedalBytes) - loader.Close() - - clientAssets["member"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(noneMedalBytes) - loader.Close() - - clientAssets["none"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(outcastMedalBytes) - loader.Close() - - clientAssets["outcast"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(logoDisabledBytes) - loader.Close() - - clientAssets["disabled_logo"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(groupBytes) - loader.Close() - - clientAssets["group"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(doorInBytes) - loader.Close() - - clientAssets["door_in"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(doorOutBytes) - loader.Close() - - clientAssets["door_out"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(largeGroupBytes) - loader.Close() - - clientAssets["large_group"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(worldBytes) - loader.Close() - - clientAssets["world"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(disconnectBytes) - loader.Close() - - clientAssets["disconnect"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(barBytes) - loader.Close() - - clientAssets["chart_bar"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(barLaggyBytes) - loader.Close() - - clientAssets["chart_bar_laggy"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(okBytes) - loader.Close() - - clientAssets["ok"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(hourglassBytes) - loader.Close() - - clientAssets["hourglass"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(connectBytes) - loader.Close() - - clientAssets["connect"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(commentBytes) - loader.Close() - - clientAssets["comment"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(informationBytes) - loader.Close() - - clientAssets["information"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(sABytes) - loader.Close() - - clientAssets["status_away"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(sBBytes) - loader.Close() - - clientAssets["status_dnd"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(sCBytes) - loader.Close() - - clientAssets["status_chat"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(xaBytes) - loader.Close() - - clientAssets["status_xa"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(sOBytes) - loader.Close() - - clientAssets["status_"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(carBytes) - loader.Close() - - clientAssets["car"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(carHighBytes) - loader.Close() - - clientAssets["car_high"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - - loader.Write(mucOpenBytes) - loader.Close() - - clientAssets["muc_open"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - loader.Write(mucMembersOnlyBytes) - loader.Close() - - clientAssets["muc_membersonly"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - loader.Write(mucPasswordProtectedBytes) - loader.Close() - - clientAssets["muc_passwordprotected"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - loader.Write(mucUnsecuredBytes) - loader.Close() - - clientAssets["muc_unsecured"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - loader.Write(mucHiddenBytes) - loader.Close() - - clientAssets["muc_hidden"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - loader.Write(mucPublicBytes) - loader.Close() - - clientAssets["muc_public"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - loader.Write(mucUnmoderatedBytes) - loader.Close() - - clientAssets["muc_unmoderated"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - loader.Write(mucModeratedBytes) - loader.Close() - - clientAssets["muc_moderated"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - loader.Write(mucNonAnonymousBytes) - loader.Close() - - clientAssets["muc_nonanonymous"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - loader.Write(mucSemiAnonymousBytes) - loader.Close() - - clientAssets["muc_semianonymous"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - loader.Write(mucPersistentBytes) - loader.Close() - - clientAssets["muc_persistent"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) - - loader = gdkpixbuf.NewPixbufLoader() - loader.Write(mucTemporaryBytes) - loader.Close() - - clientAssets["muc_temporary"] = gdk.NewTextureForPixbuf(loader.Pixbuf()) +//go:embed assets/moderate.png +var moderateBytes []byte + +func loadAsset(key string, data []byte) { + loader := gdkpixbuf.NewPixbufLoader() + loader.Write(data) + loader.Close() + clientAssets[key] = gdk.NewTextureForPixbuf(loader.Pixbuf()) } + + +func init() { + for key, data := range map[string][]byte{ + "DefaultAvatar": defaultAvatarBytes, + "FailedAvatar": failedBytes, + "owner": ownerMedalBytes, + "admin": adminMedalBytes, + "member": memberMedalBytes, + "none": noneMedalBytes, + "outcast": outcastMedalBytes, + "cancel": cancelBytes, + "tag": tagBytes, + "disabled_logo": logoDisabledBytes, + "group": groupBytes, + "door_in": doorInBytes, + "door_out": doorOutBytes, + "large_group": largeGroupBytes, + "world": worldBytes, + "disconnect": disconnectBytes, + "chart_bar": barBytes, + "chart_bar_laggy": barLaggyBytes, + "ok": okBytes, + "hourglass": hourglassBytes, + "connect": connectBytes, + "comment": commentBytes, + "information": informationBytes, + "status_away": sABytes, + "status_dnd": sBBytes, + "status_chat": sCBytes, + "status_xa": xaBytes, + "status_": sOBytes, + "car": carBytes, + "car_high": carHighBytes, + "muc_open": mucOpenBytes, + "muc_membersonly": mucMembersOnlyBytes, + "muc_passwordprotected": mucPasswordProtectedBytes, + "muc_unsecured": mucUnsecuredBytes, + "muc_hidden": mucHiddenBytes, + "muc_public": mucPublicBytes, + "muc_unmoderated": mucUnmoderatedBytes, + "muc_moderated": mucModeratedBytes, + "muc_nonanonymous": mucNonAnonymousBytes, + "muc_semianonymous": mucSemiAnonymousBytes, + "muc_persistent": mucPersistentBytes, + "muc_temporary": mucTemporaryBytes, + "moderate": moderateBytes, + } { + loadAsset(key, data) + } +} \ No newline at end of file diff --git a/assets/moderate.png b/assets/moderate.png new file mode 100644 index 0000000000000000000000000000000000000000..1be37974adf9de2880e568e700cdcc9037c78804 GIT binary patch literal 793 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7SkfJR9T^zbpD<_bdda}R zAX(xXQ4*Y=R#Ki=l*-_klAn~S;F+74o*I;zm{M7IGS!BGfoZj;i(`nz>D0;R{e=Ss zj_<#{E;n~0%cLyl*Njb4odpv+sv6n~vh(HkR9%)heDuivhS^e+?{yef8QinU2uPM% z_%UGX7PTPOprc%;^cyct`}gi$^|_ooqNS5g?y1e+H-F~$WKm63pUXvo)~#k+tM_D_ zJ9*t}xslH2q^O-Lr8cV9PtImPwCULEE>4Ay46W0jbWcc{_bA!nNUrwv^UlXjg;-Ba zb~>Kv?$UOK={KXfCXeH(%~#uWOrj6n&71xGNV@r|g$F)2XH|O$ww7jWJ!;NUrC@U8 zj(F<1HhVMu78~R3A(!9py->4KwSW0anWF{go1)*!gicA5e)Cm%Lul=D7j8bW%_o>9 zya?ELqhQ{v!kyc$?SF9di@VSMvyLIx6unkE%-psoyg6sfhH2$-cXzMA?=uwyEeu%TmFm3a^)AK)$F*U`3~xfNGJKG6 z=XMa5Wa`<_AY3_7QRhMayyu3y&!#!A40$xChjqcJ!uG?4i!{0}@`k5#xQor4xKM98 zx3#skO<(kO2X(utXVZTEl!|^J_EX`1?)|*&(z(xzEUQYAPBEQ1b7qN$fUnwQ)x5ya zQ0A1d^v9=oJeFTpT_vZQ@oIg2by?duOZTj?`MN