Merge branch 'view' into UI_2.0

This commit is contained in:
Sakamoto Shiina
2023-09-04 00:19:47 +09:00
5 changed files with 31 additions and 22 deletions

12
view.py
View File

@@ -24,7 +24,6 @@ class View():
self.settings.main = SimpleNamespace(
ctm=all_ctm.main,
uism=all_uism.main,
IS_SIDEBAR_COMPACT_MODE=False,
COMPACT_MODE_ICON_SIZE=0,
**common_args
)
@@ -38,6 +37,10 @@ class View():
self.view_variable = SimpleNamespace(
# Main Window
# Sidebar Compact Mode
IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE=False,
CALLBACK_TOGGLE_MAIN_WINDOW_SIDEBAR_COMPACT_MODE=None,
# Sidebar Features
VAR_LABEL_TRANSLATION=StringVar(value="Translation"),
CALLBACK_TOGGLE_TRANSLATION=None,
@@ -211,6 +214,8 @@ class View():
def register(self, sidebar_features, language_presets, entry_message_box_commands, config_window):
self.view_variable.CALLBACK_TOGGLE_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = self._toggleMainWindowSidebarCompactMode
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"]
@@ -325,6 +330,11 @@ class View():
vrct_gui.attributes("-topmost", False)
def _toggleMainWindowSidebarCompactMode(self, is_turned_on):
self.view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = is_turned_on
vrct_gui.recreateMainWindowSidebar()
def updateGuiVariableByPresetTabNo(self, tab_no:str):
self.view_variable.VAR_YOUR_LANGUAGE.set(config.SELECTED_TAB_YOUR_LANGUAGES[tab_no])
self.view_variable.VAR_TARGET_LANGUAGE.set(config.SELECTED_TAB_TARGET_LANGUAGES[tab_no])

View File

@@ -85,7 +85,7 @@ def _changeMainWindowWidgetsStatus(vrct_gui, settings, status, target_names):
vrct_gui.sls__container_title.configure(text_color=settings.ctm.SF__TEXT_DISABLED_COLOR)
vrct_gui.sls__title_text_your_language.configure(text_color=settings.ctm.SF__TEXT_DISABLED_COLOR)
vrct_gui.sls__title_text_target_language.configure(text_color=settings.ctm.SF__TEXT_DISABLED_COLOR)
if settings.IS_SIDEBAR_COMPACT_MODE is False:
if vrct_gui.view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE is False:
vrct_gui.current_active_preset_tab.children["!ctklabel"].configure(text_color=settings.ctm.SLS__PRESETS_TAB_ACTIVE_TEXT_COLOR_PASSIVE)
vrct_gui.sls__optionmenu_your_language.configure(state="disabled")
vrct_gui.sls__optionmenu_target_language.configure(state="disabled")
@@ -94,7 +94,7 @@ def _changeMainWindowWidgetsStatus(vrct_gui, settings, status, target_names):
vrct_gui.sls__container_title.configure(text_color=settings.ctm.LABELS_TEXT_COLOR)
vrct_gui.sls__title_text_your_language.configure(text_color=settings.ctm.LABELS_TEXT_COLOR)
vrct_gui.sls__title_text_target_language.configure(text_color=settings.ctm.LABELS_TEXT_COLOR)
if settings.IS_SIDEBAR_COMPACT_MODE is False:
if vrct_gui.view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE is False:
vrct_gui.current_active_preset_tab.children["!ctklabel"].configure(text_color=settings.ctm.SLS__PRESETS_TAB_ACTIVE_TEXT_COLOR)
vrct_gui.current_active_preset_tab.children["!ctklabel"].configure(text_color=settings.ctm.SLS__PRESETS_TAB_ACTIVE_TEXT_COLOR)
vrct_gui.sls__optionmenu_your_language.configure(state="normal")
@@ -120,7 +120,7 @@ def _changeMainWindowWidgetsStatus(vrct_gui, settings, status, target_names):
vrct_gui.minimize_sidebar_button_container.configure(cursor="")
if settings.IS_SIDEBAR_COMPACT_MODE is True:
if vrct_gui.view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE is True:
image_file = CTkImage(getImageFileFromUiUtils(settings.image_filename.ARROW_LEFT_DISABLED).rotate(180), size=LOGO_SIZE)
else:
image_file = CTkImage(getImageFileFromUiUtils(settings.image_filename.ARROW_LEFT_DISABLED), size=LOGO_SIZE)
@@ -128,7 +128,7 @@ def _changeMainWindowWidgetsStatus(vrct_gui, settings, status, target_names):
elif status == "normal":
vrct_gui.minimize_sidebar_button_container.configure(cursor="hand2")
if settings.IS_SIDEBAR_COMPACT_MODE is True:
if vrct_gui.view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE is True:
image_file = CTkImage(getImageFileFromUiUtils(settings.image_filename.ARROW_LEFT).rotate(180), size=LOGO_SIZE)
else:
image_file = CTkImage(getImageFileFromUiUtils(settings.image_filename.ARROW_LEFT), size=LOGO_SIZE)

View File

@@ -3,24 +3,16 @@ from customtkinter import CTkFrame, CTkLabel, CTkImage
from ...ui_utils import getImageFileFromUiUtils, bindEnterAndLeaveColor, bindButtonPressColor, bindButtonReleaseFunction
from .create_sidebar import createSidebar
from utils import callFunctionIfCallable
def createMinimizeSidebarButton(settings, main_window):
def enableCompactMode(e):
settings.IS_SIDEBAR_COMPACT_MODE = True
main_window.minimize_sidebar_button_container.destroy()
createMinimizeSidebarButton(settings, main_window)
main_window.sidebar_bg_container.destroy()
createSidebar(settings, main_window)
callFunctionIfCallable(main_window.view_variable.CALLBACK_TOGGLE_MAIN_WINDOW_SIDEBAR_COMPACT_MODE, True)
def disableCompactMode(e):
settings.IS_SIDEBAR_COMPACT_MODE = False
main_window.minimize_sidebar_button_container.destroy()
createMinimizeSidebarButton(settings, main_window)
main_window.sidebar_bg_container.destroy()
createSidebar(settings, main_window)
callFunctionIfCallable(main_window.view_variable.CALLBACK_TOGGLE_MAIN_WINDOW_SIDEBAR_COMPACT_MODE, False)
main_window.minimize_sidebar_button_container = CTkFrame(main_window.main_topbar_container, corner_radius=0, fg_color=settings.ctm.MINIMIZE_SIDEBAR_BUTTON_BG_COLOR, cursor="hand2", width=0, height=0)
@@ -36,7 +28,7 @@ def createMinimizeSidebarButton(settings, main_window):
)
if settings.IS_SIDEBAR_COMPACT_MODE is True:
if main_window.view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE is True:
image_file = CTkImage(getImageFileFromUiUtils(settings.image_filename.ARROW_LEFT).rotate(180),size=(settings.uism.MINIMIZE_SIDEBAR_BUTTON_ICON_SIZE_X,settings.uism.MINIMIZE_SIDEBAR_BUTTON_ICON_SIZE_Y))
bindButtonReleaseFunction([main_window.minimize_sidebar_button_container, main_window.minimize_sidebar_button], disableCompactMode)

View File

@@ -175,7 +175,7 @@ def createSidebar(settings, main_window):
main_window.sidebar_bg_container.grid(row=0, column=0, sticky="nsew")
MIN_SIDEBAR_WIDTH = settings.uism.COMPACT_MODE_SIDEBAR_WIDTH if settings.IS_SIDEBAR_COMPACT_MODE is True else settings.uism.SIDEBAR_WIDTH
MIN_SIDEBAR_WIDTH = settings.uism.COMPACT_MODE_SIDEBAR_WIDTH if main_window.view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE is True else settings.uism.SIDEBAR_WIDTH
main_window.sidebar_bg_container.grid_columnconfigure(0, weight=0, minsize=MIN_SIDEBAR_WIDTH)
main_window.grid_rowconfigure(0, weight=1)
@@ -200,7 +200,7 @@ def createSidebar(settings, main_window):
image=CTkImage(img, size=(width,height))
)
if settings.IS_SIDEBAR_COMPACT_MODE is True:
if main_window.view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE is True:
main_window.sidebar_compact_mode_logo.grid(row=0, column=0, pady=(
int(settings.uism.SF__LOGO_PADY[0]+a_s/2),
int(settings.uism.SF__LOGO_PADY[1]+a_s/2)
@@ -338,7 +338,7 @@ def createSidebar(settings, main_window):
# Arrange
if settings.IS_SIDEBAR_COMPACT_MODE is True:
if main_window.view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE is True:
compact_mode_icon_widget.grid(row=row, column=0, pady=settings.uism.SF__COMPACT_MODE_ICON_PADY)
selected_mark_widget.place(relx=-1, rely=0.5, relheight=0.75, anchor="center")
else:
@@ -386,7 +386,7 @@ def createSidebar(settings, main_window):
# Sidebar Quick Language Settings, SQLS
main_window.sls__container = CTkFrame(main_window.sidebar_bg_container, corner_radius=0, fg_color=settings.ctm.SIDEBAR_BG_COLOR, width=0, height=0)
if settings.IS_SIDEBAR_COMPACT_MODE is False:
if main_window.view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE is False:
main_window.sls__container.grid(row=2, column=0, sticky="new")
main_window.sls__container.grid_columnconfigure(0, weight=1)

View File

@@ -12,6 +12,8 @@ from .main_window import createMainWindowWidgets
from .config_window import ConfigWindow
from .ui_utils import _setDefaultActiveTab
from .main_window.widgets import createSidebar, createMinimizeSidebarButton
class VRCT_GUI(CTk):
def __init__(self):
@@ -76,6 +78,11 @@ class VRCT_GUI(CTk):
active_text_color=self.settings.main.ctm.SLS__PRESETS_TAB_ACTIVE_TEXT_COLOR
)
def recreateMainWindowSidebar(self):
self.minimize_sidebar_button_container.destroy()
createMinimizeSidebarButton(self.settings.main, self)
self.sidebar_bg_container.destroy()
createSidebar(self.settings.main, self)
vrct_gui = VRCT_GUI()