[Update] Main Window: Selectable Translation Engines.
・UI調整、文言変更。日本語は幅を取りすぎるので、"(デフォルト)"表示を"(Default)"と英語表記に。他の言語との兼ね合いもあるので、今はとりあえずlocalesのymlにそれぞれ直接記述。 ・UI Scaling対応 ・UI Theme(Light)対応
This commit is contained in:
@@ -10,7 +10,7 @@ main_window:
|
||||
swap_button_label: 言語を入れ替え
|
||||
target_language: 相手の言語
|
||||
translator: 翻訳エンジン
|
||||
translator_ctranslate2: オフライン翻訳(デフォルト)
|
||||
translator_ctranslate2: オフライン翻訳 (Default)
|
||||
|
||||
textbox_tab_all: 全て
|
||||
textbox_tab_sent: 送信
|
||||
|
||||
@@ -2,7 +2,7 @@ from customtkinter import CTkFont, CTkFrame, CTkLabel, CTkImage
|
||||
|
||||
from ...._CreateDropdownMenuWindow import _CreateDropdownMenuWindow
|
||||
|
||||
from ....ui_utils import bindEnterAndLeaveColor, bindButtonPressColor, bindButtonReleaseFunction, switchActiveTabAndPassiveTab, switchTabsColor, createOptionMenuBox, bindButtonFunctionAndColor, bindEnterAndLeaveFunction
|
||||
from ....ui_utils import bindEnterAndLeaveColor, bindButtonPressColor, bindButtonReleaseFunction, switchActiveTabAndPassiveTab, switchTabsColor, createOptionMenuBox, bindButtonFunctionAndColor, bindEnterAndLeaveFunction, createLabelButton
|
||||
|
||||
from utils import callFunctionIfCallable
|
||||
|
||||
@@ -345,39 +345,13 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable):
|
||||
|
||||
|
||||
sls__box_translation_optionmenu_wrapper = CTkFrame(main_window.sls__box_frame, corner_radius=0, fg_color=settings.ctm.SLS__BG_COLOR, width=0, height=0)
|
||||
sls__box_translation_optionmenu_wrapper.grid(row=5, column=0, sticky="ew")
|
||||
sls__box_translation_optionmenu_wrapper.grid(row=5, column=0, pady=settings.uism.SLS__SELECTABLE_TRANSLATION_PADY, sticky="ew")
|
||||
|
||||
sls__box_translation_optionmenu_wrapper.grid_columnconfigure((0,2), weight=1, minsize=settings.uism.SLS__BOX_ARROWS_SWAP_BUTTON_PADX)
|
||||
sls__box_translation_optionmenu_wrapper.grid_columnconfigure((0,2), weight=0, minsize=settings.uism.SLS__SELECTABLE_TRANSLATION_MIN_PADX)
|
||||
sls__box_translation_optionmenu_wrapper.grid_columnconfigure(1, weight=1)
|
||||
|
||||
|
||||
|
||||
# main_window.translation_engine_dropdown_menu_window = _CreateDropdownMenuWindow(
|
||||
# settings=settings.config_window,
|
||||
# view_variable=main_window._view_variable,
|
||||
|
||||
# window_additional_y_pos=settings.config_window.uism.SB__DROPDOWN_MENU_WINDOW_ADDITIONAL_Y_POS,
|
||||
# window_border_width=settings.config_window.uism.SB__DROPDOWN_MENU_WINDOW_BORDER_WIDTH,
|
||||
# scrollbar_ipadx=settings.config_window.uism.SB__DROPDOWN_MENU_SCROLLBAR_IPADX,
|
||||
# scrollbar_width=settings.config_window.uism.SB__DROPDOWN_MENU_SCROLLBAR_WIDTH,
|
||||
# value_ipadx=settings.config_window.uism.SB__DROPDOWN_MENU_VALUE_IPADX,
|
||||
# value_ipady=settings.config_window.uism.SB__DROPDOWN_MENU_VALUE_IPADY,
|
||||
# value_pady=settings.config_window.uism.SB__DROPDOWN_MENU_VALUE_PADY,
|
||||
# value_font_size=settings.config_window.uism.SB__DROPDOWN_MENU_VALUE_FONT_SIZE,
|
||||
# dropdown_menu_default_min_width=settings.config_window.uism.SB__DROPDOWN_MENU_VALUE_DEFAULT_MIN_WIDTH,
|
||||
|
||||
# window_bg_color=settings.config_window.ctm.SB__DROPDOWN_MENU_WINDOW_BG_COLOR,
|
||||
# window_border_color=settings.config_window.ctm.SB__DROPDOWN_MENU_WINDOW_BORDER_COLOR,
|
||||
# values_bg_color=settings.config_window.ctm.SB__DROPDOWN_MENU_BG_COLOR,
|
||||
# values_hovered_bg_color=settings.config_window.ctm.SB__DROPDOWN_MENU_HOVERED_BG_COLOR,
|
||||
# values_clicked_bg_color=settings.config_window.ctm.SB__DROPDOWN_MENU_CLICKED_BG_COLOR,
|
||||
# values_text_color=settings.config_window.ctm.BASIC_TEXT_COLOR,
|
||||
# )
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def adjustedCommand(value):
|
||||
callFunctionIfCallable(view_variable.CALLBACK_SELECTED_TRANSLATION_ENGINE, value)
|
||||
@@ -388,34 +362,25 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable):
|
||||
command=adjustedCommand,
|
||||
wrapper_widget=main_window,
|
||||
attach_widget=sls__box_translation_optionmenu_wrapper,
|
||||
dropdown_menu_min_width=200,
|
||||
dropdown_menu_min_width=settings.uism.SIDEBAR_MIN_WIDTH,
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
(sls__selected_translation_engine_box, optionmenu_label_widget, optionmenu_img_widget) = createOptionMenuBox(
|
||||
(sls__selected_translation_engine_box, label_button_label_widget) = createLabelButton(
|
||||
parent_widget=sls__box_translation_optionmenu_wrapper,
|
||||
optionmenu_bg_color=settings.ctm.SLS__BG_COLOR,
|
||||
optionmenu_hovered_bg_color=settings.ctm.SLS__OPTIONMENU_HOVERED_BG_COLOR,
|
||||
optionmenu_clicked_bg_color=settings.ctm.SLS__OPTIONMENU_CLICKED_BG_COLOR,
|
||||
optionmenu_ipadx=(0,10),
|
||||
optionmenu_ipady=6,
|
||||
label_button_bg_color=settings.ctm.SLS__BG_COLOR,
|
||||
label_button_hovered_bg_color=settings.ctm.SLS__OPTIONMENU_HOVERED_BG_COLOR,
|
||||
label_button_clicked_bg_color=settings.ctm.SLS__OPTIONMENU_CLICKED_BG_COLOR,
|
||||
label_button_ipadx=settings.uism.SLS__SELECTABLE_TRANSLATION_IPADX,
|
||||
label_button_ipady=settings.uism.SLS__SELECTABLE_TRANSLATION_IPADY,
|
||||
variable=view_variable.VAR_SELECTED_TRANSLATION_ENGINE,
|
||||
font_family=settings.FONT_FAMILY,
|
||||
font_size=12,
|
||||
font_size=settings.uism.SLS__SELECTABLE_TRANSLATION_FONT_SIZE,
|
||||
text_color=settings.ctm.LABELS_TEXT_COLOR,
|
||||
image_file=settings.image_file.REFRESH_ICON.rotate(45),
|
||||
image_size=(14,14),
|
||||
# image_size=settings.uism.SLS__BOX_OPTION_MENU_ARROW_IMAGE_SIZE,
|
||||
optionmenu_clicked_command=lambda _e: main_window.translation_engine_dropdown_menu_window.show(
|
||||
label_button_clicked_command=lambda _e: main_window.translation_engine_dropdown_menu_window.show(
|
||||
dropdown_menu_widget_id="translation_engine_dropdown_menu"
|
||||
),
|
||||
|
||||
optionmenu_position="center",
|
||||
setattr_widget=main_window,
|
||||
image_widget_attr_name="sls__arrow_img_select",
|
||||
label_button_position="center",
|
||||
)
|
||||
sls__selected_translation_engine_box.grid(row=0, column=1, sticky="ew")
|
||||
optionmenu_img_widget.grid_remove()
|
||||
|
||||
|
||||
@@ -90,6 +90,11 @@ def _darkTheme(base_color):
|
||||
SLS__OPTIONMENU_HOVERED_BG_COLOR = base_color.DARK_875_COLOR,
|
||||
SLS__OPTIONMENU_CLICKED_BG_COLOR = base_color.DARK_900_COLOR,
|
||||
|
||||
SLS__DROPDOWN_MENU_WINDOW_BG_COLOR = base_color.DARK_888_COLOR,
|
||||
SLS__DROPDOWN_MENU_WINDOW_BORDER_COLOR = base_color.DARK_650_COLOR,
|
||||
SLS__DROPDOWN_MENU_BG_COLOR = base_color.DARK_888_COLOR,
|
||||
SLS__DROPDOWN_MENU_HOVERED_BG_COLOR = base_color.DARK_825_COLOR,
|
||||
SLS__DROPDOWN_MENU_CLICKED_BG_COLOR = base_color.DARK_900_COLOR,
|
||||
|
||||
CONFIG_BUTTON_BG_COLOR = base_color.DARK_850_COLOR,
|
||||
CONFIG_BUTTON_HOVERED_BG_COLOR = base_color.DARK_800_COLOR,
|
||||
|
||||
@@ -90,6 +90,11 @@ def _lightTheme(base_color):
|
||||
SLS__OPTIONMENU_HOVERED_BG_COLOR = base_color.LIGHT_250_COLOR,
|
||||
SLS__OPTIONMENU_CLICKED_BG_COLOR = base_color.LIGHT_400_COLOR,
|
||||
|
||||
SLS__DROPDOWN_MENU_WINDOW_BG_COLOR = base_color.LIGHT_300_COLOR,
|
||||
SLS__DROPDOWN_MENU_WINDOW_BORDER_COLOR = base_color.LIGHT_700_COLOR,
|
||||
SLS__DROPDOWN_MENU_BG_COLOR = base_color.LIGHT_300_COLOR,
|
||||
SLS__DROPDOWN_MENU_HOVERED_BG_COLOR = base_color.LIGHT_200_COLOR,
|
||||
SLS__DROPDOWN_MENU_CLICKED_BG_COLOR = base_color.LIGHT_400_COLOR,
|
||||
|
||||
CONFIG_BUTTON_BG_COLOR = base_color.LIGHT_250_COLOR,
|
||||
CONFIG_BUTTON_HOVERED_BG_COLOR = base_color.LIGHT_350_COLOR,
|
||||
|
||||
@@ -141,6 +141,24 @@ class UiScalingManager():
|
||||
self.main.MINIMIZE_SIDEBAR_BUTTON_ICON_SIZE_Y = self._calculateUiSize(26)
|
||||
|
||||
|
||||
self.main.SLS__SELECTABLE_TRANSLATION_IPADX = self.dupTuple(self._calculateUiSize(10))
|
||||
self.main.SLS__SELECTABLE_TRANSLATION_IPADY = self._calculateUiSize(6)
|
||||
self.main.SLS__SELECTABLE_TRANSLATION_FONT_SIZE = self._calculateUiSize(12)
|
||||
self.main.SLS__SELECTABLE_TRANSLATION_IMAGE_SIZE = self.dupTuple(self._calculateUiSize(10))
|
||||
self.main.SLS__SELECTABLE_TRANSLATION_PADY = self._calculateUiSize(4)
|
||||
self.main.SLS__SELECTABLE_TRANSLATION_MIN_PADX = self._calculateUiSize(8)
|
||||
|
||||
|
||||
self.main.SLS__DROPDOWN_MENU_WINDOW_ADDITIONAL_Y_POS = self._calculateUiSize(4)
|
||||
self.main.SLS__DROPDOWN_MENU_WINDOW_BORDER_WIDTH = self._calculateUiSize(0, is_allowed_odd=True)
|
||||
self.main.SLS__DROPDOWN_MENU_SCROLLBAR_IPADX = self.common.SCROLLBAR_IPADX
|
||||
self.main.SLS__DROPDOWN_MENU_SCROLLBAR_WIDTH = self.common.SCROLLBAR_WIDTH
|
||||
self.main.SLS__DROPDOWN_MENU_VALUE_IPADX = (self._calculateUiSize(8), 0)
|
||||
self.main.SLS__DROPDOWN_MENU_VALUE_IPADY = self.dupTuple(self._calculateUiSize(8))
|
||||
self.main.SLS__DROPDOWN_MENU_VALUE_PADY = 0
|
||||
self.main.SLS__DROPDOWN_MENU_VALUE_FONT_SIZE = self._calculateUiSize(14)
|
||||
self.main.SLS__DROPDOWN_MENU_VALUE_DEFAULT_MIN_WIDTH = self._calculateUiSize(200)
|
||||
|
||||
|
||||
# Selectable Language Window
|
||||
self.selectable_language_window.TOP_BAR_MIN_HEIGHT = self._calculateUiSize(50)
|
||||
@@ -257,7 +275,6 @@ class UiScalingManager():
|
||||
self.config_window.SB__OPTIONMENU_IMG_SIZE = (self._calculateUiSize(14), self._calculateUiSize(14))
|
||||
|
||||
self.config_window.SB__DROPDOWN_MENU_WINDOW_ADDITIONAL_Y_POS = self._calculateUiSize(4)
|
||||
self.config_window.SB__DROPDOWN_MENU_WIDTH = self.config_window.SB__OPTIONMENU_MIN_WIDTH
|
||||
self.config_window.SB__DROPDOWN_MENU_WINDOW_BORDER_WIDTH = self._calculateUiSize(1, is_allowed_odd=True)
|
||||
self.config_window.SB__DROPDOWN_MENU_SCROLLBAR_IPADX = self.common.SCROLLBAR_IPADX
|
||||
self.config_window.SB__DROPDOWN_MENU_SCROLLBAR_WIDTH = self.common.SCROLLBAR_WIDTH
|
||||
|
||||
@@ -168,6 +168,55 @@ def createButtonWithImage(parent_widget, button_image_size, button_ipadxy, butto
|
||||
return button_wrapper
|
||||
|
||||
|
||||
def createLabelButton(parent_widget, label_button_bg_color, label_button_hovered_bg_color, label_button_clicked_bg_color, label_button_ipadx, label_button_ipady, variable, font_family, font_size, text_color, label_button_clicked_command, label_button_position=None, label_button_padx_between_img=0, label_button_min_height=None, label_button_min_width=None):
|
||||
|
||||
label_button_box = CTkFrame(parent_widget, corner_radius=6, fg_color=label_button_bg_color, cursor="hand2")
|
||||
|
||||
label_button_box.grid_rowconfigure(0, weight=1)
|
||||
if label_button_min_height is not None:
|
||||
label_button_box.grid_rowconfigure(0, minsize=label_button_min_height)
|
||||
|
||||
label_button_box.grid_columnconfigure(0, weight=1)
|
||||
if label_button_min_width is not None:
|
||||
label_button_box.grid_columnconfigure(0, minsize=label_button_min_width)
|
||||
|
||||
label_button_label_wrapper = CTkFrame(label_button_box, corner_radius=0, fg_color=label_button_bg_color)
|
||||
label_button_label_wrapper.grid(row=0, column=0, padx=label_button_ipadx, pady=label_button_ipady, sticky="ew")
|
||||
|
||||
LABEL_COLUMN=0
|
||||
if label_button_position == "center":
|
||||
label_button_label_wrapper.grid_columnconfigure((0,2), weight=1)
|
||||
LABEL_COLUMN=1
|
||||
|
||||
label_button_label_widget = CTkLabel(
|
||||
label_button_label_wrapper,
|
||||
textvariable=variable,
|
||||
height=0,
|
||||
font=CTkFont(family=font_family, size=font_size, weight="normal"),
|
||||
text_color=text_color
|
||||
)
|
||||
label_button_label_widget.grid(row=0, column=LABEL_COLUMN, padx=(0, label_button_padx_between_img))
|
||||
|
||||
|
||||
bindEnterAndLeaveColor([label_button_label_wrapper, label_button_box, label_button_label_widget], label_button_hovered_bg_color, label_button_bg_color)
|
||||
bindButtonPressColor([label_button_label_wrapper, label_button_box, label_button_label_widget], label_button_clicked_bg_color, label_button_hovered_bg_color)
|
||||
|
||||
|
||||
|
||||
bindButtonReleaseFunction([label_button_label_wrapper, label_button_box, label_button_label_widget], label_button_clicked_command)
|
||||
|
||||
def unbindEventFromWidgets():
|
||||
unbindEnterLEaveButtonPressButtonReleaseFunction([label_button_label_wrapper, label_button_box, label_button_label_widget])
|
||||
|
||||
label_button_box.unbindFunction = unbindEventFromWidgets
|
||||
|
||||
|
||||
return (label_button_box, label_button_label_widget)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def createOptionMenuBox(parent_widget, optionmenu_bg_color, optionmenu_hovered_bg_color, optionmenu_clicked_bg_color, optionmenu_ipadx, optionmenu_ipady, variable, font_family, font_size, text_color, image_file, image_size, optionmenu_clicked_command, optionmenu_position=None, optionmenu_padx_between_img=0, optionmenu_min_height=None, optionmenu_min_width=None, setattr_widget=None, image_widget_attr_name=None):
|
||||
|
||||
option_menu_box = CTkFrame(parent_widget, corner_radius=6, fg_color=optionmenu_bg_color, cursor="hand2")
|
||||
|
||||
@@ -75,22 +75,22 @@ class VRCT_GUI(CTk):
|
||||
settings=settings.dropdown_menu_window,
|
||||
view_variable=self._view_variable,
|
||||
|
||||
window_additional_y_pos=4,
|
||||
window_border_width=1,
|
||||
scrollbar_ipadx=(2,2),
|
||||
scrollbar_width=16,
|
||||
value_ipadx=(8,0),
|
||||
value_ipady=(6,6),
|
||||
value_pady=0,
|
||||
value_font_size=14,
|
||||
dropdown_menu_default_min_width=200,
|
||||
window_additional_y_pos=self.settings.main.uism.SLS__DROPDOWN_MENU_WINDOW_ADDITIONAL_Y_POS,
|
||||
window_border_width=self.settings.main.uism.SLS__DROPDOWN_MENU_WINDOW_BORDER_WIDTH,
|
||||
scrollbar_ipadx=self.settings.main.uism.SLS__DROPDOWN_MENU_SCROLLBAR_IPADX,
|
||||
scrollbar_width=self.settings.main.uism.SLS__DROPDOWN_MENU_SCROLLBAR_WIDTH,
|
||||
value_ipadx=self.settings.main.uism.SLS__DROPDOWN_MENU_VALUE_IPADX,
|
||||
value_ipady=self.settings.main.uism.SLS__DROPDOWN_MENU_VALUE_IPADY,
|
||||
value_pady=self.settings.main.uism.SLS__DROPDOWN_MENU_VALUE_PADY,
|
||||
value_font_size=self.settings.main.uism.SLS__DROPDOWN_MENU_VALUE_FONT_SIZE,
|
||||
dropdown_menu_default_min_width=self.settings.main.uism.SLS__DROPDOWN_MENU_VALUE_DEFAULT_MIN_WIDTH,
|
||||
|
||||
window_bg_color="#1f2022",
|
||||
window_border_color="#7f8084",
|
||||
values_bg_color="#323336",
|
||||
values_hovered_bg_color="#4b4c4f",
|
||||
values_clicked_bg_color="#292a2d",
|
||||
values_text_color=settings.main.ctm.BASIC_TEXT_COLOR,
|
||||
window_bg_color=self.settings.main.ctm.SLS__DROPDOWN_MENU_WINDOW_BG_COLOR,
|
||||
window_border_color=self.settings.main.ctm.SLS__DROPDOWN_MENU_WINDOW_BORDER_COLOR,
|
||||
values_bg_color=self.settings.main.ctm.SLS__DROPDOWN_MENU_BG_COLOR,
|
||||
values_hovered_bg_color=self.settings.main.ctm.SLS__DROPDOWN_MENU_HOVERED_BG_COLOR,
|
||||
values_clicked_bg_color=self.settings.main.ctm.SLS__DROPDOWN_MENU_CLICKED_BG_COLOR,
|
||||
values_text_color=self.settings.main.ctm.BASIC_TEXT_COLOR,
|
||||
)
|
||||
|
||||
createMainWindowWidgets(
|
||||
|
||||
Reference in New Issue
Block a user