Merge branch 'view' into develop

This commit is contained in:
Sakamoto Shiina
2023-12-20 16:31:48 +09:00
5 changed files with 119 additions and 3 deletions

View File

@@ -303,16 +303,20 @@ def callbackToggleTranscriptionSend(is_turned_on):
config.ENABLE_TRANSCRIPTION_SEND = is_turned_on
if config.ENABLE_TRANSCRIPTION_SEND is True:
startThreadingTranscriptionSendMessage()
view.changeTranscriptionDisplayStatus("MIC_ON")
else:
stopThreadingTranscriptionSendMessage()
view.changeTranscriptionDisplayStatus("MIC_OFF")
def callbackToggleTranscriptionReceive(is_turned_on):
view.setMainWindowAllWidgetsStatusToDisabled()
config.ENABLE_TRANSCRIPTION_RECEIVE = is_turned_on
if config.ENABLE_TRANSCRIPTION_RECEIVE is True:
startThreadingTranscriptionReceiveMessage()
view.changeTranscriptionDisplayStatus("SPEAKER_ON")
else:
stopThreadingTranscriptionReceiveMessage()
view.changeTranscriptionDisplayStatus("SPEAKER_OFF")
def callbackToggleForeground(is_turned_on):
config.ENABLE_FOREGROUND = is_turned_on

11
view.py
View File

@@ -801,6 +801,17 @@ class View():
self.view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = False
vrct_gui._disableMainWindowSidebarCompactMode()
def changeTranscriptionDisplayStatus(self, status):
match (status):
case "MIC_ON":
vrct_gui.sls__box_your_language_mic_status__enabled.place(relx=0.1, rely=0.2, anchor="center")
case "MIC_OFF":
vrct_gui.sls__box_your_language_mic_status__enabled.place_forget()
case "SPEAKER_ON":
vrct_gui.sls__box_target_language_speaker_status__enabled.place(relx=0.1, rely=0.2, anchor="center")
case "SPEAKER_OFF":
vrct_gui.sls__box_target_language_speaker_status__enabled.place_forget()
# Config Window
def enableConfigWindowCompactMode(self):

View File

@@ -1,4 +1,83 @@
from customtkinter import CTkFrame, CTkScrollableFrame
# Override customtkinter's CTkScrollableFrame for scrolling speed up
from customtkinter import CTkFrame, CTkScrollableFrame, CTkFont
from typing import Union, Tuple, Optional
import sys
try:
from typing import Literal
except ImportError:
from typing_extensions import Literal
class CustomizedCTkScrollableFrame(CTkScrollableFrame):
def __init__(
self,
master: any,
width: int = 200,
height: int = 200,
corner_radius: Optional[Union[int, str]] = None,
border_width: Optional[Union[int, str]] = None,
bg_color: Union[str, Tuple[str, str]] = "transparent",
fg_color: Optional[Union[str, Tuple[str, str]]] = None,
border_color: Optional[Union[str, Tuple[str, str]]] = None,
scrollbar_fg_color: Optional[Union[str, Tuple[str, str]]] = None,
scrollbar_button_color: Optional[Union[str, Tuple[str, str]]] = None,
scrollbar_button_hover_color: Optional[Union[str, Tuple[str, str]]] = None,
label_fg_color: Optional[Union[str, Tuple[str, str]]] = None,
label_text_color: Optional[Union[str, Tuple[str, str]]] = None,
label_text: str = "",
label_font: Optional[Union[tuple, CTkFont]] = None,
label_anchor: str = "center",
orientation: Literal["vertical", "horizontal"] = "vertical"
):
super().__init__(
master,
width,
height,
corner_radius,
border_width,
bg_color,
fg_color,
border_color,
scrollbar_fg_color,
scrollbar_button_color,
scrollbar_button_hover_color,
label_fg_color,
label_text_color,
label_text,
label_font,
label_anchor,
orientation,
)
def _mouse_wheel_all(self, event):
if self.check_if_master_is_canvas(event.widget):
if sys.platform.startswith("win"):
if self._shift_pressed:
if self._parent_canvas.xview() != (0.0, 1.0):
self._parent_canvas.xview("scroll", -int(event.delta / 6), "units")
else:
if self._parent_canvas.yview() != (0.0, 1.0):
self._parent_canvas.yview("scroll", -int(event.delta / 2), "units")
elif sys.platform == "darwin":
if self._shift_pressed:
if self._parent_canvas.xview() != (0.0, 1.0):
self._parent_canvas.xview("scroll", -event.delta, "units")
else:
if self._parent_canvas.yview() != (0.0, 1.0):
self._parent_canvas.yview("scroll", -event.delta, "units")
else:
if self._shift_pressed:
if self._parent_canvas.xview() != (0.0, 1.0):
self._parent_canvas.xview("scroll", -event.delta, "units")
else:
if self._parent_canvas.yview() != (0.0, 1.0):
self._parent_canvas.yview("scroll", -event.delta, "units")
# Override customtkinter's CTkScrollableFrame for scrolling speed up__
from ....ui_utils import setDefaultActiveTab, applyUiScalingAndFixTheBugScrollBar
@@ -38,7 +117,7 @@ def createSideMenuAndSettingsBoxContainers(config_window, settings, view_variabl
# Setting box container
config_window.main_bg_container.grid_rowconfigure(1, weight=1)
config_window.main_setting_box_scrollable_container = CTkScrollableFrame(config_window.main_bg_container, corner_radius=0, fg_color=settings.ctm.MAIN_BG_COLOR)
config_window.main_setting_box_scrollable_container = CustomizedCTkScrollableFrame(config_window.main_bg_container, corner_radius=0, fg_color=settings.ctm.MAIN_BG_COLOR)
config_window.main_setting_box_scrollable_container.grid(row=1, column=0, sticky="nsew")
applyUiScalingAndFixTheBugScrollBar(

View File

@@ -317,4 +317,23 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable):
open_selectable_language_window_command=callbackOpenSelectableTargetLanguageWindow,
variable=view_variable.VAR_TARGET_LANGUAGE
)
main_window.sls__box_target_language.grid(row=4, column=0, sticky="ew")
main_window.sls__box_target_language.grid(row=4, column=0, sticky="ew")
# Set Transcription ON/OFF Indicator Widgets
main_window.sls__box_your_language_mic_status__enabled = CTkLabel(
main_window.sls__box_your_language,
text=None,
height=0,
corner_radius=0,
image=CTkImage(settings.image_file.MIC_ICON_DISABLED, size=settings.uism.SLS__BOX_TRANSCRIPTION_STATUS_IMAGE_SIZE),
)
main_window.sls__box_target_language_speaker_status__enabled = CTkLabel(
main_window.sls__box_target_language,
text=None,
height=0,
corner_radius=0,
image=CTkImage(settings.image_file.HEADPHONES_ICON_DISABLED, size=settings.uism.SLS__BOX_TRANSCRIPTION_STATUS_IMAGE_SIZE),
)

View File

@@ -86,6 +86,9 @@ class UiScalingManager():
self.main.SLS__PRESET_TAB_NUMBER_CORNER_RADIUS = self._calculateUiSize(6)
self.main.SLS__PRESET_TAB_NUMBER_ADJUSTED_HEIGHT = self._calculateUiSize(36)
self.main.SLS__BOX_TRANSCRIPTION_STATUS_IMAGE_SIZE = self.dupTuple(self._calculateUiSize(14))
self.main.SLS__BOX_SECTION_TITLE_FONT_SIZE = self._calculateUiSize(16)
self.main.SLS__BOX_SECTION_TITLE_BOTTOM_PADY = self._calculateUiSize(10)
self.main.SLS__BOX_IPADX = self._calculateUiSize(10)