[Update] Config Window: UI Size変更対応(指定していたものは全て対応したはず)。コンパクトモードのラベル日本語対応。

[Refactor] CTkScrollableFrameを使用しているwidgetのUI Size変更対応やCTKのheight bug修正をui_utils.pyへ関数切り出し。
This commit is contained in:
Sakamoto Shiina
2023-10-11 15:28:54 +09:00
parent 1a7cf32dc6
commit 8185050ea2
12 changed files with 85 additions and 41 deletions

View File

@@ -4,6 +4,7 @@ class UiScalingManager():
def __init__(self, scaling_percentage):
scaling_float = int(scaling_percentage.replace("%", "")) / 100
self.SCALING_FLOAT = max(scaling_float, 0.4)
self.common = SimpleNamespace()
self.main = SimpleNamespace()
self.config_window = SimpleNamespace()
self.selectable_language_window = SimpleNamespace()
@@ -17,6 +18,9 @@ class UiScalingManager():
def _calculatedUiSizes(self):
# Common
# RESPONSIVE_UI_SIZE_INT_10 ... RESPONSIVE_UI_SIZE_INT_300
self.common.SCROLLBAR_IPADX = (self._calculateUiSize(2), self._calculateUiSize(2))
self.common.SCROLLBAR_WIDTH = self._calculateUiSize(16)
for i in range(10, 301, 10):
setattr(self.main, f"RESPONSIVE_UI_SIZE_INT_{i}", self._calculateUiSize(i))
setattr(self.config_window, f"RESPONSIVE_UI_SIZE_INT_{i}", self._calculateUiSize(i))
@@ -121,8 +125,8 @@ class UiScalingManager():
# Selectable Language Window
self.selectable_language_window.TOP_BAR_MIN_HEIGHT = self._calculateUiSize(50)
self.selectable_language_window.SCROLLBAR_IPADX = (self._calculateUiSize(2), self._calculateUiSize(2))
self.selectable_language_window.SCROLLBAR_WIDTH = self._calculateUiSize(16)
self.selectable_language_window.SCROLLBAR_IPADX = self.common.SCROLLBAR_IPADX
self.selectable_language_window.SCROLLBAR_WIDTH = self.common.SCROLLBAR_WIDTH
self.selectable_language_window.GO_BACK_BUTTON_LABEL_FONT_SIZE = self._calculateUiSize(14)
self.selectable_language_window.GO_BACK_BUTTON_IPADX = self._calculateUiSize(10)
@@ -151,25 +155,34 @@ class UiScalingManager():
self.config_window.TOP_BAR_SIDE__CONFIG_TITLE_LEFT_PADX = int(self.config_window.TOP_BAR_SIDE__CONFIG_TITLE_FONT_SIZE + self._calculateUiSize(16))
self.config_window.TOP_BAR_SIDE__TITLE_PADX= self._calculateUiSize(30)
# Compact Mode
self.config_window.COMPACT_MODE_PADX = (0, self._calculateUiSize(20))
self.config_window.COMPACT_MODE_LABEL_FONT_SIZE = self._calculateUiSize(12)
self.config_window.COMPACT_MODE_LABEL_PADX = (0, self._calculateUiSize(10))
self.config_window.COMPACT_MODE_SWITCH_WIDTH = self._calculateUiSize(40)
self.config_window.COMPACT_MODE_SWITCH_HEIGHT = self._calculateUiSize(16)
# Side menu
self.config_window.SIDE_MENU_TOP_PADY= self._calculateUiSize(54)
self.config_window.SIDE_MENU_TOP_PADY = self._calculateUiSize(54)
self.config_window.SIDE_MENU_LABELS_IPADX = self._calculateUiSize(20)
self.config_window.SIDE_MENU_LABELS_IPADY= self._calculateUiSize(8)
self.config_window.SIDE_MENU_LABELS_FONT_SIZE= self._calculateUiSize(18)
self.config_window.SIDE_MENU_LABELS_IPADY = self._calculateUiSize(8)
self.config_window.SIDE_MENU_LABELS_FONT_SIZE = self._calculateUiSize(18)
# Top bar Main
self.config_window.TOP_BAR_MAIN__TITLE_FONT_SIZE = self._calculateUiSize(22)
self.config_window.SCROLLBAR_IPADX = self.common.SCROLLBAR_IPADX
self.config_window.SCROLLBAR_WIDTH = self.common.SCROLLBAR_WIDTH
# Setting Box
self.config_window.MAIN_AREA_MIN_WIDTH = self._calculateUiSize(720)
self.config_window.SB__TOP_PADY_IF_WITH_SECTION_TITLE = (self._calculateUiSize(24))
self.config_window.SB__TOP_PADY_IF_WITHOUT_SECTION_TITLE = (self._calculateUiSize(64))
self.config_window.SB__BOTTOM_PADY = (self._calculateUiSize(40))
self.config_window.SB__TOP_PADY = (self._calculateUiSize(60))
self.config_window.SB__IPADX = self._calculateUiSize(20)
self.config_window.SB__IPADY = self._calculateUiSize(12)
self.config_window.SB__BOTTOM_MARGIN = (0, self._calculateUiSize(60))
self.config_window.SB__FAKE_BOTTOM_BORDER_SIZE = (0, self._calculateUiSize(1, is_allowed_odd=True))
self.config_window.SB__SECTION_TITLE_FONT_SIZE = self._calculateUiSize(20)
self.config_window.SB__SECTION_TITLE_BOTTOM_PADY = (0, self._calculateUiSize(10))
@@ -193,12 +206,16 @@ class UiScalingManager():
self.config_window.SB__OPTION_MENU_FONT_SIZE = self.config_window.SB__SELECTOR_FONT_SIZE
self.config_window.SB__OPTIONMENU_MIN_HEIGHT = self._calculateUiSize(30)
self.config_window.SB__OPTIONMENU_MIN_WIDTH = self._calculateUiSize(200)
self.config_window.SB__OPTIONMENU_IPADX = (self._calculateUiSize(8), self._calculateUiSize(8))
self.config_window.SB__OPTIONMENU_IPADY = self._calculateUiSize(2)
self.config_window.SB__OPTIONMENU_IPADX_BETWEEN_IMG = self._calculateUiSize(80)
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._calculateUiSize(2), self._calculateUiSize(2))
self.config_window.SB__DROPDOWN_MENU_SCROLLBAR_WIDTH = self._calculateUiSize(16)
self.config_window.SB__DROPDOWN_MENU_SCROLLBAR_IPADX = self.common.SCROLLBAR_IPADX
self.config_window.SB__DROPDOWN_MENU_SCROLLBAR_WIDTH = self.common.SCROLLBAR_WIDTH
self.config_window.SB__DROPDOWN_MENU_VALUE_IPADX = (self._calculateUiSize(8), 0)
self.config_window.SB__DROPDOWN_MENU_VALUE_IPADY = (self._calculateUiSize(6), self._calculateUiSize(6))
self.config_window.SB__DROPDOWN_MENU_VALUE_PADY = (0, self._calculateUiSize(1, is_allowed_odd=True))
@@ -217,6 +234,8 @@ class UiScalingManager():
self.config_window.SB__ENTRY_FONT_SIZE = self.config_window.SB__SELECTOR_FONT_SIZE
self.config_window.SB__ENTRY_HEIGHT = self._calculateUiSize(30)
self.config_window.SB__SLIDER_WIDTH = self._calculateUiSize(200)
self.config_window.SB__SLIDER_HEIGHT = self._calculateUiSize(16)
self.config_window.SB__PROGRESSBAR_X_SLIDER__ENTRY_WIDTH = self.config_window.RESPONSIVE_UI_SIZE_INT_50
self.config_window.SB__PROGRESSBAR_X_SLIDER__ENTRY_HEIGHT = self.config_window.SB__ENTRY_HEIGHT