mirror of
https://github.com/bombsquad-community/plugin-manager.git
synced 2025-10-08 14:54:36 +00:00
[ci] auto-format
This commit is contained in:
parent
1e9d7f3242
commit
5e74c6ba68
1 changed files with 76 additions and 71 deletions
|
|
@ -15,7 +15,8 @@ import random
|
|||
|
||||
show_translate_result = True
|
||||
config = babase.app.config
|
||||
default_config = {'O Source Trans Lang': 'Auto Detect', 'O Target Trans Lang': babase.app.lang.default_language, 'Y Source Trans Lang': 'Auto Detect', 'Y Target Trans Lang': babase.app.lang.default_language}
|
||||
default_config = {'O Source Trans Lang': 'Auto Detect', 'O Target Trans Lang': babase.app.lang.default_language,
|
||||
'Y Source Trans Lang': 'Auto Detect', 'Y Target Trans Lang': babase.app.lang.default_language}
|
||||
|
||||
for key in default_config:
|
||||
if not key in config:
|
||||
|
|
@ -40,7 +41,6 @@ available_translate_languages.remove('Auto Detect')
|
|||
available_translate_languages.insert(0, 'Auto Detect')
|
||||
|
||||
|
||||
|
||||
def translate(text, _callback, source='auto', target='en'):
|
||||
text = urllib.parse.quote(text)
|
||||
url = f'https://translate.google.com/m?tl={target}&sl={source}&q={text}'
|
||||
|
|
@ -70,7 +70,7 @@ class NewPW(bauiv1lib.party.PartyWindow):
|
|||
position=(self._width - 10, 35),
|
||||
on_activate_call=self._translate_your_chat
|
||||
)
|
||||
|
||||
|
||||
def _translate_your_chat(self):
|
||||
global show_translate_result
|
||||
if (babase.apptime() - self._last_time_pressed_translate < self._double_press_interval):
|
||||
|
|
@ -78,17 +78,18 @@ class NewPW(bauiv1lib.party.PartyWindow):
|
|||
self._last_time_pressed_translate = 0.0
|
||||
TranslateWindow()
|
||||
return
|
||||
|
||||
|
||||
show_translate_result = True
|
||||
self._last_time_pressed_translate = babase.apptime()
|
||||
|
||||
def _apply_translation(translated):
|
||||
if self._text_field.exists():
|
||||
bui.textwidget(edit=self._text_field, text=translated)
|
||||
translated = threading.Thread(target=translate, args=(str(bui.textwidget(query=self._text_field)),
|
||||
_apply_translation,
|
||||
translate_languages[config['Y Source Trans Lang']],
|
||||
translate_languages[config['Y Target Trans Lang']])).start()
|
||||
|
||||
_apply_translation,
|
||||
translate_languages[config['Y Source Trans Lang']],
|
||||
translate_languages[config['Y Target Trans Lang']])).start()
|
||||
|
||||
def _add_msg(self, msg: str):
|
||||
txt = bui.textwidget(
|
||||
parent=self._columnwidget,
|
||||
|
|
@ -109,11 +110,11 @@ class NewPW(bauiv1lib.party.PartyWindow):
|
|||
while len(self._chat_texts) > 40:
|
||||
self._chat_texts.pop(0).delete()
|
||||
bui.containerwidget(edit=self._columnwidget, visible_child=txt)
|
||||
|
||||
|
||||
bui.textwidget(edit=txt,
|
||||
on_activate_call=bui.Call(self._translate_other, msg),
|
||||
click_activate=True)
|
||||
|
||||
on_activate_call=bui.Call(self._translate_other, msg),
|
||||
click_activate=True)
|
||||
|
||||
def _translate_other(self, msg: str):
|
||||
global show_translate_result
|
||||
if (babase.apptime() - self._last_time_pressed_msg < self._double_press_interval) and (self._last_msg_clicked == msg):
|
||||
|
|
@ -121,99 +122,103 @@ class NewPW(bauiv1lib.party.PartyWindow):
|
|||
self._last_time_pressed_msg = 0.0
|
||||
self._copy_msg(msg)
|
||||
return
|
||||
|
||||
|
||||
show_translate_result = True
|
||||
self._last_msg_clicked = msg
|
||||
self._last_time_pressed_msg = babase.apptime()
|
||||
|
||||
|
||||
if len(msg.split(':')) > 1:
|
||||
self._nickname = msg.split(':')[0]+': '
|
||||
split_msg = ':'.join(msg.split(':')[1:])[1:]
|
||||
|
||||
|
||||
def _apply_translation(translated):
|
||||
for i in self._chat_texts:
|
||||
if bui.textwidget(query=i) == msg:
|
||||
bui.textwidget(edit=i, text=self._nickname + translated)
|
||||
break
|
||||
|
||||
|
||||
self._translated_msg = threading.Thread(target=translate, args=(split_msg,
|
||||
_apply_translation,
|
||||
translate_languages[config['O Source Trans Lang']],
|
||||
translate_languages[config['O Target Trans Lang']])).start()
|
||||
|
||||
_apply_translation,
|
||||
translate_languages[config['O Source Trans Lang']],
|
||||
translate_languages[config['O Target Trans Lang']])).start()
|
||||
|
||||
|
||||
class TranslateWindow:
|
||||
def __init__(self):
|
||||
self.tips = ['Double click \'Trans\' button to\nquickly open translation settings', 'Click others message to\ntranslate them', 'Double click message to copy them!', 'Close & reopen chat window\n to see original messages']
|
||||
self.tips = ['Double click \'Trans\' button to\nquickly open translation settings', 'Click others message to\ntranslate them',
|
||||
'Double click message to copy them!', 'Close & reopen chat window\n to see original messages']
|
||||
self._uiscale = bui.app.ui_v1.uiscale
|
||||
|
||||
self._root_widget = bui.containerwidget(parent=bui.get_special_widget('overlay_stack'),
|
||||
size=(450, 250),
|
||||
transition='in_scale',
|
||||
scale=(2 if self._uiscale is babase.UIScale.SMALL else
|
||||
1.4 if self._uiscale is babase.UIScale.MEDIUM else 1.3),
|
||||
on_outside_click_call=babase.Call(self._back, sound=True))
|
||||
size=(450, 250),
|
||||
transition='in_scale',
|
||||
scale=(2 if self._uiscale is babase.UIScale.SMALL else
|
||||
1.4 if self._uiscale is babase.UIScale.MEDIUM else 1.3),
|
||||
on_outside_click_call=babase.Call(self._back, sound=True))
|
||||
|
||||
self._tips_text = bui.textwidget(parent=self._root_widget,
|
||||
color=(0,1,1),
|
||||
h_align='center',
|
||||
v_align='center',
|
||||
text='Tips: '+random.choice(self.tips),
|
||||
position=(200, 188),
|
||||
maxwidth=250)
|
||||
color=(0, 1, 1),
|
||||
h_align='center',
|
||||
v_align='center',
|
||||
text='Tips: '+random.choice(self.tips),
|
||||
position=(200, 188),
|
||||
maxwidth=250)
|
||||
|
||||
self.other_chat = bui.textwidget(parent=self._root_widget,
|
||||
color=(1,1,1),
|
||||
h_align='left',
|
||||
v_align='center',
|
||||
text='Others chat:',
|
||||
position=(-10, 140),
|
||||
maxwidth=59)
|
||||
color=(1, 1, 1),
|
||||
h_align='left',
|
||||
v_align='center',
|
||||
text='Others chat:',
|
||||
position=(-10, 140),
|
||||
maxwidth=59)
|
||||
|
||||
self.your_chat = bui.textwidget(parent=self._root_widget,
|
||||
color=(1,1,1),
|
||||
h_align='left',
|
||||
v_align='center',
|
||||
text='Your chat:',
|
||||
position=(-10, 55),
|
||||
maxwidth=59)
|
||||
color=(1, 1, 1),
|
||||
h_align='left',
|
||||
v_align='center',
|
||||
text='Your chat:',
|
||||
position=(-10, 55),
|
||||
maxwidth=59)
|
||||
|
||||
self.other_source_button = PopupMenu(parent=self._root_widget,
|
||||
position=(54, 140),
|
||||
autoselect=False,
|
||||
on_value_change_call=babase.Call(self._set_translate_language, 'O Source Trans Lang'),
|
||||
choices=available_translate_languages,
|
||||
button_size=(150, 30),
|
||||
current_choice=config['O Source Trans Lang'])
|
||||
position=(54, 140),
|
||||
autoselect=False,
|
||||
on_value_change_call=babase.Call(
|
||||
self._set_translate_language, 'O Source Trans Lang'),
|
||||
choices=available_translate_languages,
|
||||
button_size=(150, 30),
|
||||
current_choice=config['O Source Trans Lang'])
|
||||
|
||||
self.other_target_button = PopupMenu(parent=self._root_widget,
|
||||
position=(243, 140),
|
||||
autoselect=False,
|
||||
on_value_change_call=babase.Call(self._set_translate_language, 'O Target Trans Lang'),
|
||||
choices=available_translate_languages[1:],
|
||||
button_size=(150, 30),
|
||||
current_choice=config['O Target Trans Lang'])
|
||||
position=(243, 140),
|
||||
autoselect=False,
|
||||
on_value_change_call=babase.Call(
|
||||
self._set_translate_language, 'O Target Trans Lang'),
|
||||
choices=available_translate_languages[1:],
|
||||
button_size=(150, 30),
|
||||
current_choice=config['O Target Trans Lang'])
|
||||
|
||||
self.your_source_button = PopupMenu(parent=self._root_widget,
|
||||
position=(54, 55),
|
||||
autoselect=False,
|
||||
on_value_change_call=babase.Call(self._set_translate_language, 'Y Source Trans Lang'),
|
||||
choices=available_translate_languages,
|
||||
button_size=(150, 30),
|
||||
current_choice=config['Y Source Trans Lang'])
|
||||
position=(54, 55),
|
||||
autoselect=False,
|
||||
on_value_change_call=babase.Call(
|
||||
self._set_translate_language, 'Y Source Trans Lang'),
|
||||
choices=available_translate_languages,
|
||||
button_size=(150, 30),
|
||||
current_choice=config['Y Source Trans Lang'])
|
||||
|
||||
self.your_target_button = PopupMenu(parent=self._root_widget,
|
||||
position=(243, 55),
|
||||
autoselect=False,
|
||||
on_value_change_call=babase.Call(self._set_translate_language, 'Y Target Trans Lang'),
|
||||
choices=available_translate_languages[1:],
|
||||
button_size=(150, 30),
|
||||
current_choice=config['Y Target Trans Lang'])
|
||||
position=(243, 55),
|
||||
autoselect=False,
|
||||
on_value_change_call=babase.Call(
|
||||
self._set_translate_language, 'Y Target Trans Lang'),
|
||||
choices=available_translate_languages[1:],
|
||||
button_size=(150, 30),
|
||||
current_choice=config['Y Target Trans Lang'])
|
||||
|
||||
def _set_translate_language(self, lang, choice):
|
||||
config[lang] = choice
|
||||
|
||||
|
||||
def _back(self, sound=False):
|
||||
self.other_source_button = None
|
||||
self.other_target_button = None
|
||||
|
|
@ -229,9 +234,9 @@ class TranslateWindow:
|
|||
class byFreaku(babase.Plugin):
|
||||
def __init__(self):
|
||||
bauiv1lib.party.PartyWindow = NewPW
|
||||
|
||||
|
||||
def has_settings_ui(self):
|
||||
return True
|
||||
|
||||
|
||||
def show_settings_ui(self, source_widget):
|
||||
TranslateWindow()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue