add view.py: main.pyからUIの初期設定処理をview.py移動。その他一部関数名の変更など。

This commit is contained in:
Sakamoto Shiina
2023-08-30 15:13:33 +09:00
parent 28d1dbb47e
commit 13d4a84e7f
9 changed files with 82 additions and 54 deletions

58
main.py
View File

@@ -1,10 +1,10 @@
from threading import Thread
import customtkinter
from customtkinter import StringVar
from vrct_gui import vrct_gui
from config import config
from model import model
from vrct_gui.ui_utils import setDefaultActiveTab
from view import viewInitializer
# func transcription send message
def sendMicMessage(message):
@@ -111,14 +111,6 @@ def messageBoxPressKeyAny(e):
entry_message_box.insert("end", e.char)
return "break"
def foregroundOffForcefully(e):
if config.ENABLE_FOREGROUND:
vrct_gui.attributes("-topmost", False)
def foregroundOnForcefully(e):
if config.ENABLE_FOREGROUND:
vrct_gui.attributes("-topmost", True)
# func select languages
def setYourLanguageAndCountry(select):
languages = config.SELECTED_TAB_YOUR_LANGUAGES
@@ -314,36 +306,28 @@ model.checkOSCStarted()
model.checkSoftwareUpdated()
# set UI and callback
vrct_gui.CALLBACK_TOGGLE_TRANSLATION = callbackToggleTranslation
vrct_gui.CALLBACK_TOGGLE_TRANSCRIPTION_SEND = callbackToggleTranscriptionSend
vrct_gui.CALLBACK_TOGGLE_TRANSCRIPTION_RECEIVE = callbackToggleTranscriptionReceive
vrct_gui.CALLBACK_TOGGLE_FOREGROUND = callbackToggleForeground
viewInitializer(
sidebar_features={
"callback_toggle_translation": callbackToggleTranslation,
"callback_toggle_transcription_send": callbackToggleTranscriptionSend,
"callback_toggle_transcription_receive": callbackToggleTranscriptionReceive,
"callback_toggle_foreground": callbackToggleForeground,
},
entry_message_box = getattr(vrct_gui, "entry_message_box")
entry_message_box.bind("<Return>", messageBoxPressKeyEnter)
entry_message_box.bind("<Any-KeyPress>", messageBoxPressKeyAny)
entry_message_box.bind("<FocusIn>", foregroundOffForcefully)
entry_message_box.bind("<FocusOut>", foregroundOnForcefully)
language_presets={
"callback_your_language": setYourLanguageAndCountry,
"callback_target_language": setTargetLanguageAndCountry,
"values": model.getListLanguageAndCountry(),
sqls__optionmenu_your_language = getattr(vrct_gui, "sqls__optionmenu_your_language")
sqls__optionmenu_your_language.configure(values=model.getListLanguageAndCountry())
sqls__optionmenu_your_language.configure(command=setYourLanguageAndCountry)
sqls__optionmenu_your_language.configure(variable=StringVar(value=config.SELECTED_TAB_YOUR_LANGUAGES[config.SELECTED_TAB_NO]))
"callback_selected_tab_no_1": callbackSelectedTabNo1,
"callback_selected_tab_no_2": callbackSelectedTabNo2,
"callback_selected_tab_no_3": callbackSelectedTabNo3,
},
sqls__optionmenu_target_language = getattr(vrct_gui, "sqls__optionmenu_target_language")
sqls__optionmenu_target_language.configure(values=model.getListLanguageAndCountry())
sqls__optionmenu_target_language.configure(command=setTargetLanguageAndCountry)
sqls__optionmenu_target_language.configure(variable=StringVar(value=config.SELECTED_TAB_TARGET_LANGUAGES[config.SELECTED_TAB_NO]))
vrct_gui.CALLBACK_SELECTED_TAB_NO_1 = callbackSelectedTabNo1
vrct_gui.CALLBACK_SELECTED_TAB_NO_2 = callbackSelectedTabNo2
vrct_gui.CALLBACK_SELECTED_TAB_NO_3 = callbackSelectedTabNo3
vrct_gui.current_active_preset_tab = getattr(vrct_gui, f"sqls__presets_button_{config.SELECTED_TAB_NO}")
setDefaultActiveTab(
active_tab_widget=vrct_gui.current_active_preset_tab,
active_bg_color=vrct_gui.settings.main.ctm.SQLS__PRESETS_TAB_BG_ACTIVE_COLOR,
active_text_color=vrct_gui.settings.main.ctm.SQLS__PRESETS_TAB_ACTIVE_TEXT_COLOR
entry_message_box={
"bind_Return": messageBoxPressKeyEnter,
"bind_Any_KeyPress": messageBoxPressKeyAny,
},
)
if __name__ == "__main__":

43
view.py Normal file
View File

@@ -0,0 +1,43 @@
from customtkinter import StringVar
from vrct_gui import vrct_gui
from config import config
def viewInitializer(sidebar_features, language_presets, entry_message_box):
vrct_gui.CALLBACK_TOGGLE_TRANSLATION = sidebar_features["callback_toggle_translation"],
vrct_gui.CALLBACK_TOGGLE_TRANSCRIPTION_SEND = sidebar_features["callback_toggle_transcription_send"],
vrct_gui.CALLBACK_TOGGLE_TRANSCRIPTION_RECEIVE = sidebar_features["callback_toggle_transcription_receive"],
vrct_gui.CALLBACK_TOGGLE_FOREGROUND = sidebar_features["callback_toggle_foreground"],
vrct_gui.sqls__optionmenu_your_language.configure(values=language_presets["values"])
vrct_gui.sqls__optionmenu_your_language.configure(variable=StringVar(value=config.SELECTED_TAB_YOUR_LANGUAGES[config.SELECTED_TAB_NO]))
vrct_gui.sqls__optionmenu_target_language.configure(values=language_presets["values"])
vrct_gui.sqls__optionmenu_target_language.configure(variable=StringVar(value=config.SELECTED_TAB_TARGET_LANGUAGES[config.SELECTED_TAB_NO]))
vrct_gui.CALLBACK_SELECTED_TAB_NO_1 = language_presets["callback_selected_tab_no_1"]
vrct_gui.CALLBACK_SELECTED_TAB_NO_2 = language_presets["callback_selected_tab_no_2"]
vrct_gui.CALLBACK_SELECTED_TAB_NO_3 = language_presets["callback_selected_tab_no_3"]
vrct_gui.setDefaultActiveLanguagePresetTab(tab_no=config.SELECTED_TAB_NO)
def foregroundOffForcefully(e):
if config.ENABLE_FOREGROUND:
vrct_gui.attributes("-topmost", False)
def foregroundOnForcefully(e):
if config.ENABLE_FOREGROUND:
vrct_gui.attributes("-topmost", True)
entry_message_box = getattr(vrct_gui, "entry_message_box")
entry_message_box.bind("<Return>", lambda: entry_message_box["bind_Return"])
entry_message_box.bind("<Any-KeyPress>", lambda: entry_message_box["bind_Any_KeyPress"])
entry_message_box.bind("<FocusIn>", foregroundOffForcefully)
entry_message_box.bind("<FocusOut>", foregroundOnForcefully)

View File

@@ -2,8 +2,6 @@ from .widgets import createConfigWindowTitle, createSettingBoxTitle, createSideM
from customtkinter import CTkToplevel
from ..ui_utils import setDefaultActiveTab
from config import config
class ConfigWindow(CTkToplevel):

View File

@@ -1,6 +1,6 @@
from customtkinter import CTkFrame, CTkScrollableFrame
from ....ui_utils import setDefaultActiveTab
from ....ui_utils import _setDefaultActiveTab
from ._addConfigSideMenuItem import _addConfigSideMenuItem
from ._createSettingBoxContainer import _createSettingBoxContainer
@@ -138,7 +138,7 @@ def createSideMenuAndSettingsBoxContainers(config_window, settings):
# Set default active side menu tab
config_window.main_current_active_config_title.configure(text=sm_and_sbc_setting["text"])
config_window.current_active_side_menu_tab = getattr(config_window, sm_and_sbc_setting["side_menu_tab_attr_name"])
setDefaultActiveTab(
_setDefaultActiveTab(
active_tab_widget=config_window.current_active_side_menu_tab,
active_bg_color=settings.ctm.SIDE_MENU_LABELS_BG_COLOR,
active_text_color=settings.ctm.SIDE_MENU_LABELS_SELECTED_TEXT_COLOR

View File

@@ -1,6 +1,6 @@
from customtkinter import CTkOptionMenu, CTkFont, CTkFrame, CTkLabel, CTkSwitch, CTkImage, StringVar
from ...ui_utils import getImageFileFromUiUtils, openImageKeepAspectRatio, retag, getLatestHeight, bindEnterAndLeaveColor, bindButtonPressColor, bindEnterAndLeaveFunction, bindButtonReleaseFunction, bindButtonPressAndReleaseFunction, setDefaultActiveTab, bindButtonFunctionAndColor, switchActiveTabAndPassiveTab, switchTabsColor
from ...ui_utils import getImageFileFromUiUtils, openImageKeepAspectRatio, retag, getLatestHeight, bindEnterAndLeaveColor, bindButtonPressColor, bindEnterAndLeaveFunction, bindButtonReleaseFunction, bindButtonPressAndReleaseFunction, bindButtonFunctionAndColor, switchActiveTabAndPassiveTab, switchTabsColor
from time import sleep
@@ -512,14 +512,6 @@ def createSidebar(settings, main_window):
column+=1
# Set default active preset tab
# main_window.current_active_preset_tab = getattr(main_window, "sqls__presets_button_1")
# setDefaultActiveTab(
# active_tab_widget=main_window.current_active_preset_tab,
# active_bg_color=settings.ctm.SQLS__PRESETS_TAB_BG_ACTIVE_COLOR,
# active_text_color=settings.ctm.SQLS__PRESETS_TAB_ACTIVE_TEXT_COLOR
# )
# Quick Language settings BOX
main_window.sqls__box_frame = CTkFrame(main_window.sqls__container, corner_radius=0, fg_color=settings.ctm.SQLS__BG_COLOR, width=0, height=0)

View File

@@ -1,6 +1,6 @@
from customtkinter import CTkFont, CTkFrame, CTkLabel, CTkTextbox
from ...ui_utils import getLatestWidth, getLongestText, bindEnterAndLeaveColor, bindButtonPressColor, bindButtonReleaseFunction, setDefaultActiveTab, switchActiveTabAndPassiveTab, switchTabsColor
from ...ui_utils import getLatestWidth, getLongestText, bindEnterAndLeaveColor, bindButtonPressColor, bindButtonReleaseFunction, _setDefaultActiveTab, switchActiveTabAndPassiveTab, switchTabsColor
def createTextbox(settings, main_window):
@@ -167,7 +167,7 @@ def createTextbox(settings, main_window):
# Set default active textbox tab
main_window.current_active_textbox_tab = getattr(main_window, "textbox_tab_all")
setDefaultActiveTab(
_setDefaultActiveTab(
active_tab_widget=main_window.current_active_textbox_tab,
active_bg_color=settings.ctm.TEXTBOX_TAB_BG_ACTIVE_COLOR,
active_text_color=settings.ctm.TEXTBOX_TAB_TEXT_ACTIVE_COLOR

View File

@@ -1 +1,2 @@
from .ui_utils import *
from .ui_utils import _setDefaultActiveTab

View File

@@ -83,7 +83,7 @@ def unbindEventFromActiveTabWidget(active_tab_widget):
active_tab_widget.unbind(event_name)
active_tab_widget.children["!ctklabel"].unbind(event_name)
def setDefaultActiveTab(active_tab_widget, active_bg_color, active_text_color):
def _setDefaultActiveTab(active_tab_widget, active_bg_color, active_text_color):
active_tab_widget.configure(fg_color=active_bg_color, cursor="")
active_tab_widget.children["!ctklabel"].configure(fg_color=active_bg_color, text_color=active_text_color)
unbindEventFromActiveTabWidget(active_tab_widget)

View File

@@ -10,6 +10,7 @@ from ._printToTextbox import _printToTextbox
from .main_window import createMainWindowWidgets
from .config_window import ConfigWindow
from .ui_utils import _setDefaultActiveTab
from config import config
@@ -104,5 +105,14 @@ class VRCT_GUI(CTk):
tags=tags,
)
def setDefaultActiveLanguagePresetTab(self, tab_no:str):
vrct_gui.current_active_preset_tab = getattr(self, f"sqls__presets_button_{tab_no}")
_setDefaultActiveTab(
active_tab_widget=vrct_gui.current_active_preset_tab,
active_bg_color=vrct_gui.settings.main.ctm.SQLS__PRESETS_TAB_BG_ACTIVE_COLOR,
active_text_color=vrct_gui.settings.main.ctm.SQLS__PRESETS_TAB_ACTIVE_TEXT_COLOR
)
vrct_gui = VRCT_GUI()