Merge branch 'view' into UI_2.0

This commit is contained in:
Sakamoto Shiina
2023-09-26 16:03:11 +09:00
5 changed files with 69 additions and 52 deletions

View File

@@ -181,6 +181,17 @@ class Config:
self._SELECTED_TAB_TARGET_LANGUAGES = value self._SELECTED_TAB_TARGET_LANGUAGES = value
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value) saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
@property
@json_serializable('IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE')
def IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE(self):
return self._IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE
@IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE.setter
def IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE(self, value):
if type(value) is bool:
self._IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = value
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
## Config Window ## Config Window
@property @property
@json_serializable('TRANSPARENCY') @json_serializable('TRANSPARENCY')
@@ -542,6 +553,7 @@ class Config:
"2":"English\n(United States)", "2":"English\n(United States)",
"3":"English\n(United States)", "3":"English\n(United States)",
} }
self._IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = False
## Config Window ## Config Window
self._TRANSPARENCY = 100 self._TRANSPARENCY = 100

18
main.py
View File

@@ -270,6 +270,14 @@ def callbackToggleForeground(is_turned_on):
view.printToTextbox_disableForeground() view.printToTextbox_disableForeground()
view.foregroundOff() view.foregroundOff()
def callbackEnableMainWindowSidebarCompactMode():
config.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = True
view.enableMainWindowSidebarCompactMode()
def callbackDisableMainWindowSidebarCompactMode():
config.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = False
view.disableMainWindowSidebarCompactMode()
# Config Window # Config Window
def callbackOpenConfigWindow(): def callbackOpenConfigWindow():
view.setMainWindowAllWidgetsStatusToDisabled() view.setMainWindowAllWidgetsStatusToDisabled()
@@ -610,22 +618,20 @@ view.register(
"callback_close_config_window": callbackCloseConfigWindow, "callback_close_config_window": callbackCloseConfigWindow,
}, },
sidebar_features_registers={ main_window_registers={
"callback_enable_main_window_sidebar_compact_mode": callbackEnableMainWindowSidebarCompactMode,
"callback_disable_main_window_sidebar_compact_mode": callbackDisableMainWindowSidebarCompactMode,
"callback_toggle_translation": callbackToggleTranslation, "callback_toggle_translation": callbackToggleTranslation,
"callback_toggle_transcription_send": callbackToggleTranscriptionSend, "callback_toggle_transcription_send": callbackToggleTranscriptionSend,
"callback_toggle_transcription_receive": callbackToggleTranscriptionReceive, "callback_toggle_transcription_receive": callbackToggleTranscriptionReceive,
"callback_toggle_foreground": callbackToggleForeground, "callback_toggle_foreground": callbackToggleForeground,
},
language_presets_registers={
"callback_your_language": setYourLanguageAndCountry, "callback_your_language": setYourLanguageAndCountry,
"callback_target_language": setTargetLanguageAndCountry, "callback_target_language": setTargetLanguageAndCountry,
"values": model.getListLanguageAndCountry(), "values": model.getListLanguageAndCountry(),
"callback_selected_language_preset_tab": callbackSelectedLanguagePresetTab, "callback_selected_language_preset_tab": callbackSelectedLanguagePresetTab,
},
entry_message_box_registers={
"bind_Return": messageBoxPressKeyEnter, "bind_Return": messageBoxPressKeyEnter,
"bind_Any_KeyPress": messageBoxPressKeyAny, "bind_Any_KeyPress": messageBoxPressKeyAny,
}, },

65
view.py
View File

@@ -68,7 +68,7 @@ class View():
# Main Window # Main Window
# Sidebar # Sidebar
# Sidebar Compact Mode # Sidebar Compact Mode
IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE=False, IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE=config.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE,
CALLBACK_TOGGLE_MAIN_WINDOW_SIDEBAR_COMPACT_MODE=None, CALLBACK_TOGGLE_MAIN_WINDOW_SIDEBAR_COMPACT_MODE=None,
# Sidebar Features # Sidebar Features
@@ -307,9 +307,7 @@ class View():
def register( def register(
self, self,
window_action_registers=None, window_action_registers=None,
sidebar_features_registers=None, main_window_registers=None,
language_presets_registers=None,
entry_message_box_registers=None,
config_window_registers=None config_window_registers=None
): ):
@@ -321,39 +319,35 @@ class View():
self.view_variable.CALLBACK_TOGGLE_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = self._toggleMainWindowSidebarCompactMode
if sidebar_features_registers is not None: if main_window_registers is not None:
self.view_variable.CALLBACK_TOGGLE_TRANSLATION = sidebar_features_registers.get("callback_toggle_translation", None) self.view_variable.CALLBACK_ENABLE_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = main_window_registers.get("callback_enable_main_window_sidebar_compact_mode", None)
self.view_variable.CALLBACK_TOGGLE_TRANSCRIPTION_SEND = sidebar_features_registers.get("callback_toggle_transcription_send", None) self.view_variable.CALLBACK_DISABLE_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = main_window_registers.get("callback_disable_main_window_sidebar_compact_mode", None)
self.view_variable.CALLBACK_TOGGLE_TRANSCRIPTION_RECEIVE = sidebar_features_registers.get("callback_toggle_transcription_receive", None)
self.view_variable.CALLBACK_TOGGLE_FOREGROUND = sidebar_features_registers.get("callback_toggle_foreground", None)
if language_presets_registers is not None:
self.view_variable.CALLBACK_SELECTED_YOUR_LANGUAGE = language_presets_registers.get("callback_your_language", None)
self.view_variable.CALLBACK_SELECTED_TARGET_LANGUAGE = language_presets_registers.get("callback_target_language", None)
language_presets_registers.get("values", None) and self.updateList_selectableLanguages(language_presets_registers["values"])
self.view_variable.CALLBACK_SELECTED_LANGUAGE_PRESET_TAB = language_presets_registers.get("callback_selected_language_preset_tab", None) self.view_variable.CALLBACK_TOGGLE_TRANSLATION = main_window_registers.get("callback_toggle_translation", None)
self.view_variable.CALLBACK_TOGGLE_TRANSCRIPTION_SEND = main_window_registers.get("callback_toggle_transcription_send", None)
self.view_variable.CALLBACK_TOGGLE_TRANSCRIPTION_RECEIVE = main_window_registers.get("callback_toggle_transcription_receive", None)
self.view_variable.CALLBACK_TOGGLE_FOREGROUND = main_window_registers.get("callback_toggle_foreground", None)
self.view_variable.CALLBACK_SELECTED_YOUR_LANGUAGE = main_window_registers.get("callback_your_language", None)
self.view_variable.CALLBACK_SELECTED_TARGET_LANGUAGE = main_window_registers.get("callback_target_language", None)
main_window_registers.get("values", None) and self.updateList_selectableLanguages(main_window_registers["values"])
self.view_variable.CALLBACK_SELECTED_LANGUAGE_PRESET_TAB = main_window_registers.get("callback_selected_language_preset_tab", None)
entry_message_box = getattr(vrct_gui, "entry_message_box")
entry_message_box.bind("<Return>", main_window_registers.get("bind_Return"))
entry_message_box.bind("<Any-KeyPress>", main_window_registers.get("bind_Any_KeyPress"))
entry_message_box.bind("<FocusIn>", self._foregroundOffForcefully)
entry_message_box.bind("<FocusOut>", self._foregroundOnForcefully)
self.updateGuiVariableByPresetTabNo(config.SELECTED_TAB_NO) self.updateGuiVariableByPresetTabNo(config.SELECTED_TAB_NO)
vrct_gui.setDefaultActiveLanguagePresetTab(tab_no=config.SELECTED_TAB_NO) vrct_gui.setDefaultActiveLanguagePresetTab(tab_no=config.SELECTED_TAB_NO)
self.view_variable.CALLBACK_OPEN_SELECTABLE_YOUR_LANGUAGE_WINDOW = self.openSelectableLanguagesWindow_YourLanguage
self.view_variable.CALLBACK_OPEN_SELECTABLE_TARGET_LANGUAGE_WINDOW = self.openSelectableLanguagesWindow_TargetLanguage
entry_message_box = getattr(vrct_gui, "entry_message_box")
if entry_message_box_registers is not None:
entry_message_box.bind("<Return>", entry_message_box_registers.get("bind_Return"))
entry_message_box.bind("<Any-KeyPress>", entry_message_box_registers.get("bind_Any_KeyPress"))
entry_message_box.bind("<FocusIn>", self._foregroundOffForcefully)
entry_message_box.bind("<FocusOut>", self._foregroundOnForcefully)
# Config Window # Config Window
self.view_variable.CALLBACK_SELECTED_SETTING_BOX_TAB=self._updateActiveSettingBoxTabNo self.view_variable.CALLBACK_SELECTED_SETTING_BOX_TAB=self._updateActiveSettingBoxTabNo
@@ -470,13 +464,18 @@ class View():
vrct_gui.attributes("-topmost", False) vrct_gui.attributes("-topmost", False)
def _toggleMainWindowSidebarCompactMode(self, is_turned_on): def enableMainWindowSidebarCompactMode(self):
self.view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = is_turned_on self.view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = True
vrct_gui.recreateMainWindowSidebar() vrct_gui.enableMainWindowSidebarCompactMode()
def disableMainWindowSidebarCompactMode(self):
self.view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = False
vrct_gui.disableMainWindowSidebarCompactMode()
def openSelectableLanguagesWindow_YourLanguage(self, _e): def openSelectableLanguagesWindow_YourLanguage(self, _e):
self.view_variable.VAR_TITLE_LABEL_SELECTABLE_LANGUAGE.set(i18n.t("selectable_language_window.title_your_language")) self.view_variable.VAR_TITLE_LABEL_SELECTABLE_LANGUAGE.set(i18n.t("selectable_language_window.title_your_language"))
vrct_gui.openSelectableLanguagesWindow("your_language") vrct_gui.openSelectableLanguagesWindow("your_language")
def openSelectableLanguagesWindow_TargetLanguage(self, _e): def openSelectableLanguagesWindow_TargetLanguage(self, _e):
self.view_variable.VAR_TITLE_LABEL_SELECTABLE_LANGUAGE.set(i18n.t("selectable_language_window.title_target_language")) self.view_variable.VAR_TITLE_LABEL_SELECTABLE_LANGUAGE.set(i18n.t("selectable_language_window.title_target_language"))
vrct_gui.openSelectableLanguagesWindow("target_language") vrct_gui.openSelectableLanguagesWindow("target_language")

View File

@@ -8,10 +8,10 @@ from utils import callFunctionIfCallable
def createMinimizeSidebarButton(settings, main_window, view_variable): def createMinimizeSidebarButton(settings, main_window, view_variable):
def enableCompactMode(e): def enableCompactMode(e):
callFunctionIfCallable(view_variable.CALLBACK_TOGGLE_MAIN_WINDOW_SIDEBAR_COMPACT_MODE, True) callFunctionIfCallable(view_variable.CALLBACK_ENABLE_MAIN_WINDOW_SIDEBAR_COMPACT_MODE)
def disableCompactMode(e): def disableCompactMode(e):
callFunctionIfCallable(view_variable.CALLBACK_TOGGLE_MAIN_WINDOW_SIDEBAR_COMPACT_MODE, False) callFunctionIfCallable(view_variable.CALLBACK_DISABLE_MAIN_WINDOW_SIDEBAR_COMPACT_MODE)

View File

@@ -147,17 +147,17 @@ class VRCT_GUI(CTk):
active_text_color=self.settings.main.ctm.SLS__PRESETS_TAB_ACTIVE_TEXT_COLOR active_text_color=self.settings.main.ctm.SLS__PRESETS_TAB_ACTIVE_TEXT_COLOR
) )
def recreateMainWindowSidebar(self): def enableMainWindowSidebarCompactMode(self):
if self._view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE: self.sidebar_bg_container.grid_remove()
self.sidebar_bg_container.grid_remove() self.sidebar_compact_mode_bg_container.grid()
self.sidebar_compact_mode_bg_container.grid() self.minimize_sidebar_button_container__for_closing.grid_remove()
self.minimize_sidebar_button_container__for_closing.grid_remove() self.minimize_sidebar_button_container__for_opening.grid()
self.minimize_sidebar_button_container__for_opening.grid()
else: def disableMainWindowSidebarCompactMode(self):
self.sidebar_compact_mode_bg_container.grid_remove() self.sidebar_compact_mode_bg_container.grid_remove()
self.sidebar_bg_container.grid() self.sidebar_bg_container.grid()
self.minimize_sidebar_button_container__for_opening.grid_remove() self.minimize_sidebar_button_container__for_opening.grid_remove()
self.minimize_sidebar_button_container__for_closing.grid() self.minimize_sidebar_button_container__for_closing.grid()
vrct_gui = VRCT_GUI() vrct_gui = VRCT_GUI()