チャット送信後、自動的にチャットボックスを空にする機能を復活。Configでオンオフ切替可能。また、Config画面のタブにOthersタブを追加。(今回の機能は既存のどのタブにも当てはまらないと判断)
それに伴いREADMEの項目も追加。
This commit is contained in:
@@ -94,6 +94,8 @@ ptyhon VRCT.py
|
||||
- [message]がメッセージボックスに記入したメッセージに置換される
|
||||
- [translation]が翻訳されたメッセージに置換される
|
||||
- 初期フォーマット:`[message]([translation])`
|
||||
- Others tab
|
||||
- Auto clear chat box: チャット送信時にチャットボックスを空にする
|
||||
|
||||
## Author
|
||||
みしゃ(misyaguzi)
|
||||
|
||||
@@ -63,6 +63,8 @@ VRChatで使用されるChatBoxをOSC経由でメッセージを送信するツ
|
||||
- [message]がメッセージボックスに記入したメッセージに置換される
|
||||
- [translation]が翻訳されたメッセージに置換される
|
||||
- 初期フォーマット:"[message]([translation])"
|
||||
- Othersタブ
|
||||
- Auto clear chat box: チャット送信時にチャットボックスを空にする
|
||||
|
||||
設定の初期化
|
||||
- config.jsonを削除
|
||||
|
||||
8
VRCT.py
8
VRCT.py
@@ -34,6 +34,7 @@ class App(customtkinter.CTk):
|
||||
self.APPEARANCE_THEME = "System"
|
||||
self.UI_SCALING = "100%"
|
||||
self.FONT_FAMILY = "Yu Gothic UI"
|
||||
self.ENABLE_AUTO_CLEAR_CHATBOX = False
|
||||
## Translation
|
||||
self.CHOICE_TRANSLATOR = languages.translators[0]
|
||||
self.INPUT_SOURCE_LANG = list(languages.translation_lang[self.CHOICE_TRANSLATOR].keys())[0]
|
||||
@@ -99,6 +100,9 @@ class App(customtkinter.CTk):
|
||||
if "FONT_FAMILY" in config.keys():
|
||||
if config["FONT_FAMILY"] in list(tk.font.families()):
|
||||
self.FONT_FAMILY = config["FONT_FAMILY"]
|
||||
if "ENABLE_AUTO_CLEAR_CHATBOX" in config.keys():
|
||||
if type(config["ENABLE_AUTO_CLEAR_CHATBOX"]) is bool:
|
||||
self.ENABLE_AUTO_CLEAR_CHATBOX = config["ENABLE_AUTO_CLEAR_CHATBOX"]
|
||||
|
||||
# translation
|
||||
if "CHOICE_TRANSLATOR" in config.keys():
|
||||
@@ -189,6 +193,7 @@ class App(customtkinter.CTk):
|
||||
"APPEARANCE_THEME": self.APPEARANCE_THEME,
|
||||
"UI_SCALING": self.UI_SCALING,
|
||||
"FONT_FAMILY": self.FONT_FAMILY,
|
||||
"ENABLE_AUTO_CLEAR_CHATBOX": self.ENABLE_AUTO_CLEAR_CHATBOX,
|
||||
"CHOICE_TRANSLATOR": self.CHOICE_TRANSLATOR,
|
||||
"INPUT_SOURCE_LANG": self.INPUT_SOURCE_LANG,
|
||||
"INPUT_TARGET_LANG": self.INPUT_TARGET_LANG,
|
||||
@@ -615,7 +620,8 @@ class App(customtkinter.CTk):
|
||||
utils.print_textbox(self.textbox_message_send_log, f"{chat_message}", "SEND")
|
||||
|
||||
# delete message in entry message box
|
||||
# self.entry_message_box.delete(0, customtkinter.END)
|
||||
if self.ENABLE_AUTO_CLEAR_CHATBOX == True:
|
||||
self.entry_message_box.delete(0, customtkinter.END)
|
||||
|
||||
def entry_message_box_press_key_any(self, event):
|
||||
# send OSC typing
|
||||
|
||||
@@ -24,10 +24,12 @@ class ToplevelWindowConfig(customtkinter.CTkToplevel):
|
||||
self.tabview_config.add("Translation")
|
||||
self.tabview_config.add("Transcription")
|
||||
self.tabview_config.add("Parameter")
|
||||
self.tabview_config.add("Others")
|
||||
self.tabview_config.tab("UI").grid_columnconfigure(1, weight=1)
|
||||
self.tabview_config.tab("Translation").grid_columnconfigure([1,2,3], weight=1)
|
||||
self.tabview_config.tab("Transcription").grid_columnconfigure(1, weight=1)
|
||||
self.tabview_config.tab("Parameter").grid_columnconfigure(1, weight=1)
|
||||
self.tabview_config.tab("Others").grid_columnconfigure(1, weight=1)
|
||||
self.tabview_config._segmented_button.configure(font=customtkinter.CTkFont(family=self.parent.FONT_FAMILY))
|
||||
self.tabview_config._segmented_button.grid(sticky="W")
|
||||
|
||||
@@ -546,6 +548,30 @@ class ToplevelWindowConfig(customtkinter.CTkToplevel):
|
||||
self.entry_message_format.grid(row=row, column=1, columnspan=1, padx=padx, pady=pady, sticky="nsew")
|
||||
self.entry_message_format.bind("<Any-KeyRelease>", self.entry_message_format_callback)
|
||||
|
||||
# tab Others
|
||||
# checkbox auto clear chat box
|
||||
row += 1
|
||||
self.label_checkbox_auto_clear_chatbox = customtkinter.CTkLabel(
|
||||
self.tabview_config.tab("Others"),
|
||||
text="Auto clear chat box",
|
||||
fg_color="transparent",
|
||||
font=customtkinter.CTkFont(family=self.parent.FONT_FAMILY)
|
||||
)
|
||||
self.label_checkbox_auto_clear_chatbox.grid(row=row, column=0, columnspan=1, padx=padx, pady=pady, sticky="nsw")
|
||||
self.checkbox_auto_clear_chatbox = customtkinter.CTkCheckBox(
|
||||
self.tabview_config.tab("Others"),
|
||||
text="",
|
||||
onvalue=True,
|
||||
offvalue=False,
|
||||
command=self.checkbox_auto_clear_chatbox_callback,
|
||||
font=customtkinter.CTkFont(family=self.parent.FONT_FAMILY)
|
||||
)
|
||||
self.checkbox_auto_clear_chatbox.grid(row=row, column=1, columnspan=1, padx=padx, pady=pady, sticky="nsew")
|
||||
if self.parent.ENABLE_AUTO_CLEAR_CHATBOX is True:
|
||||
self.checkbox_auto_clear_chatbox.select()
|
||||
else:
|
||||
self.checkbox_auto_clear_chatbox.deselect()
|
||||
|
||||
self.protocol("WM_DELETE_WINDOW", self.delete_window)
|
||||
|
||||
def slider_transparency_callback(self, value):
|
||||
@@ -659,6 +685,11 @@ class ToplevelWindowConfig(customtkinter.CTkToplevel):
|
||||
|
||||
self.parent.FONT_FAMILY = choice
|
||||
utils.save_json(self.parent.PATH_CONFIG, "FONT_FAMILY", self.parent.FONT_FAMILY)
|
||||
|
||||
def checkbox_auto_clear_chatbox_callback(self):
|
||||
value = self.checkbox_auto_clear_chatbox.get()
|
||||
self.parent.ENABLE_AUTO_CLEAR_CHATBOX = value
|
||||
utils.save_json(self.parent.PATH_CONFIG, "ENABLE_AUTO_CLEAR_CHATBOX", self.parent.ENABLE_AUTO_CLEAR_CHATBOX)
|
||||
|
||||
def optionmenu_translation_translator_callback(self, choice):
|
||||
if self.parent.translator.authentication(choice, self.parent.AUTH_KEYS[choice]) is False:
|
||||
|
||||
Reference in New Issue
Block a user