forked from bombsquad-community/plugin-manager
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathupdown.py
75 lines (67 loc) · 2.6 KB
/
updown.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import babase as ba
import bauiv1 as bui
import bauiv1lib.party
from bauiv1lib.popup import PopupWindow
from bascenev1 import get_chat_messages as gcm, screenmessage as push
class VeryPW(bauiv1lib.party.PartyWindow):
def __init__(s, *args, **kwargs):
super().__init__(*args, **kwargs)
s._n = 0
s._o = ""
s._f = True
for i in range(2):
bui.buttonwidget(
parent=s._root_widget,
size=(30, 30),
label=ba.charstr(ba.SpecialChar.DOWN_ARROW if i else ba.SpecialChar.UP_ARROW),
button_type='square',
position=(-15, 70 - (i * 40)),
on_activate_call=(s._d if i else s._p)
)
def _c(s, t=""): bui.textwidget(edit=s._text_field, text=t)
def _d(s): s._p(1)
def _p(s, i=0):
if s._f:
s._o = bui.textwidget(query=s._text_field)
s._f = False
s._n = -1
s._n = s._n + (1 if i else -1)
s._w1 = gcm()
try:
s._c((s._w1+[s._o])[s._n].split(": ", 1)[1])
except IndexError:
if not s._w1:
push("Empty chat")
s._n = 0
return
s._n = -1
s._c(s._o)
for msg in s._chat_texts_haxx:
msg.delete()
for z in range(len(s._w1)):
txt = bui.textwidget(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),
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._on_chat_press,
s._w1[z], txt))
s._chat_texts_haxx.append(txt)
bui.containerwidget(edit=s._columnwidget, visible_child=txt)
# ba_meta require api 8
# ba_meta export plugin
class byBordd(ba.Plugin):
def __init__(s):
bauiv1lib.party.PartyWindow = VeryPW