Merge branch 'view' into UI_2.0
This commit is contained in:
12
view.py
12
view.py
@@ -24,7 +24,6 @@ class View():
|
|||||||
self.settings.main = SimpleNamespace(
|
self.settings.main = SimpleNamespace(
|
||||||
ctm=all_ctm.main,
|
ctm=all_ctm.main,
|
||||||
uism=all_uism.main,
|
uism=all_uism.main,
|
||||||
IS_SIDEBAR_COMPACT_MODE=False,
|
|
||||||
COMPACT_MODE_ICON_SIZE=0,
|
COMPACT_MODE_ICON_SIZE=0,
|
||||||
**common_args
|
**common_args
|
||||||
)
|
)
|
||||||
@@ -38,6 +37,10 @@ class View():
|
|||||||
|
|
||||||
self.view_variable = SimpleNamespace(
|
self.view_variable = SimpleNamespace(
|
||||||
# Main Window
|
# Main Window
|
||||||
|
# Sidebar Compact Mode
|
||||||
|
IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE=False,
|
||||||
|
CALLBACK_TOGGLE_MAIN_WINDOW_SIDEBAR_COMPACT_MODE=None,
|
||||||
|
|
||||||
# Sidebar Features
|
# Sidebar Features
|
||||||
VAR_LABEL_TRANSLATION=StringVar(value="Translation"),
|
VAR_LABEL_TRANSLATION=StringVar(value="Translation"),
|
||||||
CALLBACK_TOGGLE_TRANSLATION=None,
|
CALLBACK_TOGGLE_TRANSLATION=None,
|
||||||
@@ -211,6 +214,8 @@ class View():
|
|||||||
|
|
||||||
def register(self, sidebar_features, language_presets, entry_message_box_commands, config_window):
|
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_TRANSLATION = sidebar_features["callback_toggle_translation"]
|
||||||
vrct_gui.CALLBACK_TOGGLE_TRANSCRIPTION_SEND = sidebar_features["callback_toggle_transcription_send"]
|
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_TRANSCRIPTION_RECEIVE = sidebar_features["callback_toggle_transcription_receive"]
|
||||||
@@ -325,6 +330,11 @@ class View():
|
|||||||
vrct_gui.attributes("-topmost", False)
|
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):
|
def updateGuiVariableByPresetTabNo(self, tab_no:str):
|
||||||
self.view_variable.VAR_YOUR_LANGUAGE.set(config.SELECTED_TAB_YOUR_LANGUAGES[tab_no])
|
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])
|
self.view_variable.VAR_TARGET_LANGUAGE.set(config.SELECTED_TAB_TARGET_LANGUAGES[tab_no])
|
||||||
|
|||||||
@@ -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__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_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)
|
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.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_your_language.configure(state="disabled")
|
||||||
vrct_gui.sls__optionmenu_target_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__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_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)
|
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.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")
|
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="")
|
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)
|
image_file = CTkImage(getImageFileFromUiUtils(settings.image_filename.ARROW_LEFT_DISABLED).rotate(180), size=LOGO_SIZE)
|
||||||
else:
|
else:
|
||||||
image_file = CTkImage(getImageFileFromUiUtils(settings.image_filename.ARROW_LEFT_DISABLED), size=LOGO_SIZE)
|
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":
|
elif status == "normal":
|
||||||
vrct_gui.minimize_sidebar_button_container.configure(cursor="hand2")
|
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)
|
image_file = CTkImage(getImageFileFromUiUtils(settings.image_filename.ARROW_LEFT).rotate(180), size=LOGO_SIZE)
|
||||||
else:
|
else:
|
||||||
image_file = CTkImage(getImageFileFromUiUtils(settings.image_filename.ARROW_LEFT), size=LOGO_SIZE)
|
image_file = CTkImage(getImageFileFromUiUtils(settings.image_filename.ARROW_LEFT), size=LOGO_SIZE)
|
||||||
|
|||||||
@@ -3,24 +3,16 @@ from customtkinter import CTkFrame, CTkLabel, CTkImage
|
|||||||
|
|
||||||
from ...ui_utils import getImageFileFromUiUtils, bindEnterAndLeaveColor, bindButtonPressColor, bindButtonReleaseFunction
|
from ...ui_utils import getImageFileFromUiUtils, bindEnterAndLeaveColor, bindButtonPressColor, bindButtonReleaseFunction
|
||||||
|
|
||||||
from .create_sidebar import createSidebar
|
from utils import callFunctionIfCallable
|
||||||
|
|
||||||
|
|
||||||
def createMinimizeSidebarButton(settings, main_window):
|
def createMinimizeSidebarButton(settings, main_window):
|
||||||
|
|
||||||
def enableCompactMode(e):
|
def enableCompactMode(e):
|
||||||
settings.IS_SIDEBAR_COMPACT_MODE = True
|
callFunctionIfCallable(main_window.view_variable.CALLBACK_TOGGLE_MAIN_WINDOW_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)
|
|
||||||
|
|
||||||
def disableCompactMode(e):
|
def disableCompactMode(e):
|
||||||
settings.IS_SIDEBAR_COMPACT_MODE = False
|
callFunctionIfCallable(main_window.view_variable.CALLBACK_TOGGLE_MAIN_WINDOW_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)
|
|
||||||
|
|
||||||
|
|
||||||
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)
|
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))
|
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)
|
bindButtonReleaseFunction([main_window.minimize_sidebar_button_container, main_window.minimize_sidebar_button], disableCompactMode)
|
||||||
|
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ def createSidebar(settings, main_window):
|
|||||||
main_window.sidebar_bg_container.grid(row=0, column=0, sticky="nsew")
|
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.sidebar_bg_container.grid_columnconfigure(0, weight=0, minsize=MIN_SIDEBAR_WIDTH)
|
||||||
main_window.grid_rowconfigure(0, weight=1)
|
main_window.grid_rowconfigure(0, weight=1)
|
||||||
|
|
||||||
@@ -200,7 +200,7 @@ def createSidebar(settings, main_window):
|
|||||||
image=CTkImage(img, size=(width,height))
|
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=(
|
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[0]+a_s/2),
|
||||||
int(settings.uism.SF__LOGO_PADY[1]+a_s/2)
|
int(settings.uism.SF__LOGO_PADY[1]+a_s/2)
|
||||||
@@ -338,7 +338,7 @@ def createSidebar(settings, main_window):
|
|||||||
|
|
||||||
|
|
||||||
# Arrange
|
# 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)
|
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")
|
selected_mark_widget.place(relx=-1, rely=0.5, relheight=0.75, anchor="center")
|
||||||
else:
|
else:
|
||||||
@@ -386,7 +386,7 @@ def createSidebar(settings, main_window):
|
|||||||
# Sidebar Quick Language Settings, SQLS
|
# 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)
|
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(row=2, column=0, sticky="new")
|
||||||
|
|
||||||
main_window.sls__container.grid_columnconfigure(0, weight=1)
|
main_window.sls__container.grid_columnconfigure(0, weight=1)
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ from .main_window import createMainWindowWidgets
|
|||||||
from .config_window import ConfigWindow
|
from .config_window import ConfigWindow
|
||||||
from .ui_utils import _setDefaultActiveTab
|
from .ui_utils import _setDefaultActiveTab
|
||||||
|
|
||||||
|
from .main_window.widgets import createSidebar, createMinimizeSidebarButton
|
||||||
|
|
||||||
|
|
||||||
class VRCT_GUI(CTk):
|
class VRCT_GUI(CTk):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@@ -76,6 +78,11 @@ 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):
|
||||||
|
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()
|
vrct_gui = VRCT_GUI()
|
||||||
Reference in New Issue
Block a user