Refactored and fixed updown

Fixed a bug where chat messages were to double because s._chat_texts stopped having the widgets for some reason so i just nuked all s._columnwidget's children.
This commit is contained in:
BroBordd 2025-04-07 02:16:15 +02:00 committed by GitHub
parent 2662e37aac
commit 8551a1e0c1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,32 +1,45 @@
import babase as ba
import bauiv1 as bui
import bauiv1lib.party
from bascenev1 import get_chat_messages as gcm, screenmessage as push
from bauiv1lib import party
from babase import (
SpecialChar as sc,
charstr as cs,
Plugin,
Call
)
from bauiv1 import (
containerwidget as cw,
buttonwidget as bw,
textwidget as tw,
getsound as gs
)
from bascenev1 import (
get_chat_messages as gcm,
screenmessage as push
)
class VeryPW(bauiv1lib.party.PartyWindow):
class VeryPW(party.PartyWindow):
def __init__(s, *args, **kwargs):
super().__init__(*args, **kwargs)
s._n = 0
s._o = ""
s._f = True
s._chat_texts_haxx = []
for i in range(2):
bui.buttonwidget(
bw(
parent=s._root_widget,
size=(30, 30),
label=ba.charstr(ba.SpecialChar.DOWN_ARROW if i else ba.SpecialChar.UP_ARROW),
label=cs(getattr(sc,f"{['UP','DOWN'][i]}_ARROW")),
button_type='square',
position=(-15, 70 - (i * 40)),
on_activate_call=(s._d if i else s._p)
enable_sound=False,
position=(-15,70-(i*40)),
on_activate_call=[s._p,s._d][i]
)
def _c(s, t=""): bui.textwidget(edit=s._text_field, text=t)
def _c(s, t=""): tw(edit=s._text_field, text=t)
def _d(s): s._p(1)
def _p(s, i=0):
print (s._chat_texts)
if s._f:
s._o = bui.textwidget(query=s._text_field)
s._o = tw(query=s._text_field)
s._f = False
s._n = -1
s._n = s._n + (1 if i else -1)
@ -36,42 +49,39 @@ class VeryPW(bauiv1lib.party.PartyWindow):
except IndexError:
if not s._w1:
push("Empty chat")
gs('block').play()
s._n = 0
return
s._n = -1
s._c(s._o)
gs('deek').play()
for msg in s._chat_texts:
msg.delete()
for msg in s._chat_texts_haxx:
msg.delete()
[z.delete() for z in s._columnwidget.get_children()]
for z in range(len(s._w1)):
txt = bui.textwidget(parent=s._columnwidget,
txt = tw(
parent=s._columnwidget,
text=s._w1[z],
h_align='left',
v_align='center',
size=(900, 13),
scale=0.55,
color=(1, 1, 1) if z != (s._n if s._n > -
1 else s._n + len(s._w1) + 1) else (0, 0.7, 0),
color=(1, 1, 1) if z != (s._n if s._n > -1 else s._n + len(s._w1) + 1) else (0, 0.7, 0),
position=(-0.6, 0),
selectable=True,
autoselect=True,
click_activate=True,
maxwidth=s._scroll_width * 0.94,
shadow=0.3,
flatness=1.0)
bui.textwidget(edit=txt,
on_activate_call=ba.Call(
s._copy_msg,
s._w1[z]))
s._chat_texts_haxx.append(txt)
bui.containerwidget(edit=s._columnwidget, visible_child=txt)
flatness=1.0
)
tw(
txt,
on_activate_call=Call(s._copy_msg,s._w1[z])
)
cw(edit=s._columnwidget, visible_child=txt)
# ba_meta require api 9
# ba_meta export plugin
class byBordd(ba.Plugin):
class byBordd(Plugin):
def __init__(s):
bauiv1lib.party.PartyWindow = VeryPW
party.PartyWindow = VeryPW