チャット送信後、自動的にチャットボックスを空にする機能を復活。Configでオンオフ切替可能。また、Config画面のタブにOthersタブを追加。(今回の機能は既存のどのタブにも当てはまらないと判断)
それに伴いREADMEの項目も追加。
This commit is contained in:
@@ -94,6 +94,8 @@ ptyhon VRCT.py
|
|||||||
- [message]がメッセージボックスに記入したメッセージに置換される
|
- [message]がメッセージボックスに記入したメッセージに置換される
|
||||||
- [translation]が翻訳されたメッセージに置換される
|
- [translation]が翻訳されたメッセージに置換される
|
||||||
- 初期フォーマット:`[message]([translation])`
|
- 初期フォーマット:`[message]([translation])`
|
||||||
|
- Others tab
|
||||||
|
- Auto clear chat box: チャット送信時にチャットボックスを空にする
|
||||||
|
|
||||||
## Author
|
## Author
|
||||||
みしゃ(misyaguzi)
|
みしゃ(misyaguzi)
|
||||||
|
|||||||
@@ -63,6 +63,8 @@ VRChatで使用されるChatBoxをOSC経由でメッセージを送信するツ
|
|||||||
- [message]がメッセージボックスに記入したメッセージに置換される
|
- [message]がメッセージボックスに記入したメッセージに置換される
|
||||||
- [translation]が翻訳されたメッセージに置換される
|
- [translation]が翻訳されたメッセージに置換される
|
||||||
- 初期フォーマット:"[message]([translation])"
|
- 初期フォーマット:"[message]([translation])"
|
||||||
|
- Othersタブ
|
||||||
|
- Auto clear chat box: チャット送信時にチャットボックスを空にする
|
||||||
|
|
||||||
設定の初期化
|
設定の初期化
|
||||||
- config.jsonを削除
|
- config.jsonを削除
|
||||||
|
|||||||
8
VRCT.py
8
VRCT.py
@@ -34,6 +34,7 @@ class App(customtkinter.CTk):
|
|||||||
self.APPEARANCE_THEME = "System"
|
self.APPEARANCE_THEME = "System"
|
||||||
self.UI_SCALING = "100%"
|
self.UI_SCALING = "100%"
|
||||||
self.FONT_FAMILY = "Yu Gothic UI"
|
self.FONT_FAMILY = "Yu Gothic UI"
|
||||||
|
self.ENABLE_AUTO_CLEAR_CHATBOX = False
|
||||||
## Translation
|
## Translation
|
||||||
self.CHOICE_TRANSLATOR = languages.translators[0]
|
self.CHOICE_TRANSLATOR = languages.translators[0]
|
||||||
self.INPUT_SOURCE_LANG = list(languages.translation_lang[self.CHOICE_TRANSLATOR].keys())[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 "FONT_FAMILY" in config.keys():
|
||||||
if config["FONT_FAMILY"] in list(tk.font.families()):
|
if config["FONT_FAMILY"] in list(tk.font.families()):
|
||||||
self.FONT_FAMILY = config["FONT_FAMILY"]
|
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
|
# translation
|
||||||
if "CHOICE_TRANSLATOR" in config.keys():
|
if "CHOICE_TRANSLATOR" in config.keys():
|
||||||
@@ -189,6 +193,7 @@ class App(customtkinter.CTk):
|
|||||||
"APPEARANCE_THEME": self.APPEARANCE_THEME,
|
"APPEARANCE_THEME": self.APPEARANCE_THEME,
|
||||||
"UI_SCALING": self.UI_SCALING,
|
"UI_SCALING": self.UI_SCALING,
|
||||||
"FONT_FAMILY": self.FONT_FAMILY,
|
"FONT_FAMILY": self.FONT_FAMILY,
|
||||||
|
"ENABLE_AUTO_CLEAR_CHATBOX": self.ENABLE_AUTO_CLEAR_CHATBOX,
|
||||||
"CHOICE_TRANSLATOR": self.CHOICE_TRANSLATOR,
|
"CHOICE_TRANSLATOR": self.CHOICE_TRANSLATOR,
|
||||||
"INPUT_SOURCE_LANG": self.INPUT_SOURCE_LANG,
|
"INPUT_SOURCE_LANG": self.INPUT_SOURCE_LANG,
|
||||||
"INPUT_TARGET_LANG": self.INPUT_TARGET_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")
|
utils.print_textbox(self.textbox_message_send_log, f"{chat_message}", "SEND")
|
||||||
|
|
||||||
# delete message in entry message box
|
# 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):
|
def entry_message_box_press_key_any(self, event):
|
||||||
# send OSC typing
|
# send OSC typing
|
||||||
|
|||||||
@@ -24,10 +24,12 @@ class ToplevelWindowConfig(customtkinter.CTkToplevel):
|
|||||||
self.tabview_config.add("Translation")
|
self.tabview_config.add("Translation")
|
||||||
self.tabview_config.add("Transcription")
|
self.tabview_config.add("Transcription")
|
||||||
self.tabview_config.add("Parameter")
|
self.tabview_config.add("Parameter")
|
||||||
|
self.tabview_config.add("Others")
|
||||||
self.tabview_config.tab("UI").grid_columnconfigure(1, weight=1)
|
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("Translation").grid_columnconfigure([1,2,3], weight=1)
|
||||||
self.tabview_config.tab("Transcription").grid_columnconfigure(1, 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("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.configure(font=customtkinter.CTkFont(family=self.parent.FONT_FAMILY))
|
||||||
self.tabview_config._segmented_button.grid(sticky="W")
|
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.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)
|
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)
|
self.protocol("WM_DELETE_WINDOW", self.delete_window)
|
||||||
|
|
||||||
def slider_transparency_callback(self, value):
|
def slider_transparency_callback(self, value):
|
||||||
@@ -660,6 +686,11 @@ class ToplevelWindowConfig(customtkinter.CTkToplevel):
|
|||||||
self.parent.FONT_FAMILY = choice
|
self.parent.FONT_FAMILY = choice
|
||||||
utils.save_json(self.parent.PATH_CONFIG, "FONT_FAMILY", self.parent.FONT_FAMILY)
|
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):
|
def optionmenu_translation_translator_callback(self, choice):
|
||||||
if self.parent.translator.authentication(choice, self.parent.AUTH_KEYS[choice]) is False:
|
if self.parent.translator.authentication(choice, self.parent.AUTH_KEYS[choice]) is False:
|
||||||
utils.print_textbox(self.parent.textbox_message_log, "Auth Key or language setting is incorrect", "ERROR")
|
utils.print_textbox(self.parent.textbox_message_log, "Auth Key or language setting is incorrect", "ERROR")
|
||||||
|
|||||||
Reference in New Issue
Block a user