[Update] Main Window: Sidebar Language Settings DropdownMenu開閉機能をトグル式に。

Selectable Languages Window: タイトル追加。今開いているものがYour LanguageなのかTarget Languageなのか分かるように。
メイン画面のサイズに合わせて開くウインドウのサイズも変わるように。
This commit is contained in:
Sakamoto Shiina
2023-09-13 16:31:44 +09:00
parent 3714162340
commit 0b1e731246
4 changed files with 59 additions and 14 deletions

View File

@@ -70,6 +70,7 @@ class View():
VAR_LABEL_YOUR_LANGUAGE=StringVar(value="Your Language"), # JA: あなたの言語
VAR_YOUR_LANGUAGE = StringVar(value="Japanese\n(Japan)"),
CALLBACK_OPEN_SELECTABLE_YOUR_LANGUAGE_WINDOW=None,
IS_OPENED_SELECTABLE_YOUR_LANGUAGE_WINDOW=False,
CALLBACK_SELECTED_YOUR_LANGUAGE=None,
VAR_LABEL_BOTH_DIRECTION_DESC=StringVar(value="Translate Each Other"), # JA: 双方向に翻訳
@@ -77,6 +78,7 @@ class View():
VAR_LABEL_TARGET_LANGUAGE=StringVar(value="Target Language"), # JA: 相手の言語
VAR_TARGET_LANGUAGE = StringVar(value="English\n(United States)"),
CALLBACK_OPEN_SELECTABLE_TARGET_LANGUAGE_WINDOW=None,
IS_OPENED_SELECTABLE_TARGET_LANGUAGE_WINDOW=False,
CALLBACK_SELECTED_TARGET_LANGUAGE=None,
@@ -86,6 +88,9 @@ class View():
VAR_LABEL_TEXTBOX_SYSTEM=StringVar(value="System"), # JA: システム
# Selectable Language Window
VAR_TITLE_LABEL_SELECTABLE_LANGUAGE=StringVar(value=""),
VAR_GO_BACK_LABEL_SELECTABLE_LANGUAGE=StringVar(value="Go Back"),
@@ -381,8 +386,10 @@ class View():
vrct_gui.recreateMainWindowSidebar()
def openSelectableLanguagesWindow_YourLanguage(self, _e):
self.view_variable.VAR_TITLE_LABEL_SELECTABLE_LANGUAGE.set("Your Language")
vrct_gui.openSelectableLanguagesWindow("your_language")
def openSelectableLanguagesWindow_TargetLanguage(self, _e):
self.view_variable.VAR_TITLE_LABEL_SELECTABLE_LANGUAGE.set("Target Language")
vrct_gui.openSelectableLanguagesWindow("target_language")

View File

@@ -37,13 +37,15 @@ class _CreateSelectableLanguagesWindow(CTkToplevel):
def createContainer(self, selectable_language_window_type):
self.selectable_language_window_type = selectable_language_window_type
self.attach.update_idletasks()
self.x_pos = self.attach.winfo_rootx()
self.y_pos = self.attach.winfo_rooty()
self.width_new = self.attach.winfo_width() - 16
self.height_new = self.attach.winfo_height() - 50
self.width_new = self.attach.winfo_width()
self.height_new = self.attach.winfo_height()
self.geometry('+{}+{}'.format(self.x_pos, self.y_pos))
self.geometry('{}x{}+{}+{}'.format(self.width_new, self.height_new, self.x_pos, self.y_pos))
if self.is_created is True:
@@ -69,16 +71,15 @@ class _CreateSelectableLanguagesWindow(CTkToplevel):
def _createContainer(self):
# self.geometry('{}x{}+{}+{}'.format(self.width_new, self.height_new, self.x_pos, self.y_pos))
# self.geometry('{}x{}+{}+{}'.format(self.width_new, self.height_new, self.x_pos, self.y_pos))
self.rowconfigure(0, minsize=50)
self.top_container = CTkFrame(self, corner_radius=0, fg_color=self.settings.ctm.MAIN_BG_COLOR, width=0, height=0)
self.rowconfigure(1, weight=1)
self.columnconfigure(0, weight=1)
self.top_container = CTkFrame(self, corner_radius=0, fg_color=self.settings.ctm.TOP_BG_COLOR, width=0, height=0)
self.top_container.grid(row=0, column=0, sticky="nsew")
self.top_container.rowconfigure((0,2), weight=1)
self.top_container.columnconfigure(1, weight=1)
self.go_back_button_container = CTkFrame(self.top_container, corner_radius=0, fg_color=self.settings.ctm.GO_BACK_BUTTON_BG_COLOR, width=0, height=0)
self.go_back_button_container.grid(row=1, column=0)
@@ -88,19 +89,37 @@ class _CreateSelectableLanguagesWindow(CTkToplevel):
self.go_back_button_label = CTkLabel(
self.go_back_button_label_wrapper,
text="Go back",
textvariable=self._view_variable.VAR_GO_BACK_LABEL_SELECTABLE_LANGUAGE,
height=0,
corner_radius=0,
font=CTkFont(family=self.settings.FONT_FAMILY, size=14, weight="normal"),
anchor="w",
text_color=self.settings.ctm.BASIC_TEXT_COLOR,
)
self.go_back_button_label.grid(row=1, column=0, padx=10, pady=10)
self.go_back_button_label.grid(row=0, column=0, padx=10, pady=8)
bindButtonReleaseFunction([self.go_back_button_label_wrapper, self.go_back_button_label], lambda _e: self.vrct_gui.closeSelectableLanguagesWindow())
self.title_container = CTkFrame(self.top_container, corner_radius=0, fg_color=self.settings.ctm.TOP_BG_COLOR, width=0, height=0)
self.title_container.grid(row=1, column=1, sticky="nsew")
self.title_container.columnconfigure((0,2), weight=1)
self.title_container.rowconfigure((0,2), weight=1)
self.title_label = CTkLabel(
self.title_container,
textvariable=self._view_variable.VAR_TITLE_LABEL_SELECTABLE_LANGUAGE,
height=0,
corner_radius=0,
font=CTkFont(family=self.settings.FONT_FAMILY, size=18, weight="normal"),
anchor="w",
text_color=self.settings.ctm.TITLE_TEXT_COLOR,
)
self.title_label.grid(row=1, column=1)
self.scroll_frame_container = CTkScrollableFrame(self, corner_radius=0, fg_color=self.settings.ctm.MAIN_BG_COLOR, width=self.width_new, height=self.height_new)
self.scroll_frame_container.grid(row=1, column=0, sticky="nsew")

View File

@@ -181,6 +181,8 @@ class ColorThemeManager():
self.selectable_language_window.GO_BACK_BUTTON_BG_COLOR = self.DARK_800_COLOR
self.selectable_language_window.TOP_BG_COLOR = self.main.SIDEBAR_BG_COLOR
self.selectable_language_window.TITLE_TEXT_COLOR = self.DARK_400_COLOR
self.selectable_language_window.LANGUAGE_BUTTON_BG_HOVERED_COLOR = self.DARK_825_COLOR
self.selectable_language_window.LANGUAGE_BUTTON_BG_CLICKED_COLOR = self.DARK_888_COLOR

View File

@@ -64,13 +64,28 @@ class VRCT_GUI(CTk):
self.config_window.grab_release()
def openSelectableLanguagesWindow(self, selectable_language_window_type):
if selectable_language_window_type == "your_language":
self.sls__arrow_img_your_language.configure(image=CTkImage((self.settings.main.image_file.ARROW_LEFT),size=(20,20)))
elif selectable_language_window_type == "target_language":
self.sls__arrow_img_target_language.configure(image=CTkImage((self.settings.main.image_file.ARROW_LEFT),size=(20,20)))
if self._view_variable.IS_OPENED_SELECTABLE_YOUR_LANGUAGE_WINDOW is False:
self.sls__arrow_img_your_language.configure(image=CTkImage((self.settings.main.image_file.ARROW_LEFT),size=(20,20)))
self._view_variable.IS_OPENED_SELECTABLE_YOUR_LANGUAGE_WINDOW = True
self._view_variable.IS_OPENED_SELECTABLE_TARGET_LANGUAGE_WINDOW = False
else:
self._view_variable.IS_OPENED_SELECTABLE_YOUR_LANGUAGE_WINDOW = False
return
elif selectable_language_window_type == "target_language":
if self._view_variable.IS_OPENED_SELECTABLE_TARGET_LANGUAGE_WINDOW is False:
self.sls__arrow_img_target_language.configure(image=CTkImage((self.settings.main.image_file.ARROW_LEFT),size=(20,20)))
self._view_variable.IS_OPENED_SELECTABLE_TARGET_LANGUAGE_WINDOW = True
self._view_variable.IS_OPENED_SELECTABLE_YOUR_LANGUAGE_WINDOW = False
else:
self._view_variable.IS_OPENED_SELECTABLE_TARGET_LANGUAGE_WINDOW = False
return
self.sls__arrow_img_target_language
self.selectable_languages_window.createContainer(selectable_language_window_type)
self.selectable_languages_window.deiconify()
self.selectable_languages_window.focus_set()
@@ -81,6 +96,8 @@ class VRCT_GUI(CTk):
self.sls__arrow_img_your_language.configure(image=CTkImage((self.settings.main.image_file.ARROW_LEFT).rotate(180),size=(20,20)))
self.sls__arrow_img_target_language.configure(image=CTkImage((self.settings.main.image_file.ARROW_LEFT).rotate(180),size=(20,20)))
self.selectable_languages_window.withdraw()
self._view_variable.IS_OPENED_SELECTABLE_TARGET_LANGUAGE_WINDOW = False
self._view_variable.IS_OPENED_SELECTABLE_YOUR_LANGUAGE_WINDOW = False