[Update] Main Window: 言語選択時のスクロール速度UP。それにともないCustomizedCTkScrollableFrameを別ファイルとして切り出し、ui_utilsからimportできるように。

This commit is contained in:
Sakamoto Shiina
2023-12-21 13:36:23 +09:00
parent 2e6523625a
commit b668d6fd21
4 changed files with 86 additions and 85 deletions

View File

@@ -1,9 +1,9 @@
from functools import partial from functools import partial
from .ui_utils import bindButtonReleaseFunction, bindEnterAndLeaveColor, bindButtonPressColor, applyUiScalingAndFixTheBugScrollBar from .ui_utils import bindButtonReleaseFunction, bindEnterAndLeaveColor, bindButtonPressColor, applyUiScalingAndFixTheBugScrollBar, CustomizedCTkScrollableFrame
from utils import callFunctionIfCallable, makeEven from utils import callFunctionIfCallable, makeEven
from customtkinter import CTkToplevel, CTkFrame, CTkLabel, CTkFont, CTkScrollableFrame from customtkinter import CTkToplevel, CTkFrame, CTkLabel, CTkFont
class _CreateSelectableLanguagesWindow(CTkToplevel): class _CreateSelectableLanguagesWindow(CTkToplevel):
def __init__(self, vrct_gui, settings, view_variable): def __init__(self, vrct_gui, settings, view_variable):
@@ -116,7 +116,7 @@ class _CreateSelectableLanguagesWindow(CTkToplevel):
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 = CustomizedCTkScrollableFrame(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") self.scroll_frame_container.grid(row=1, column=0, sticky="nsew")
applyUiScalingAndFixTheBugScrollBar( applyUiScalingAndFixTheBugScrollBar(

View File

@@ -1,85 +1,6 @@
# Override customtkinter's CTkScrollableFrame for scrolling speed up from customtkinter import CTkFrame
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): from ....ui_utils import setDefaultActiveTab, applyUiScalingAndFixTheBugScrollBar, CustomizedCTkScrollableFrame
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
from ._addConfigSideMenuItem import _addConfigSideMenuItem from ._addConfigSideMenuItem import _addConfigSideMenuItem
from ._createSettingBoxContainer import _createSettingBoxContainer from ._createSettingBoxContainer import _createSettingBoxContainer

View File

@@ -0,0 +1,79 @@
# Override customtkinter's CTkScrollableFrame for scrolling speed up
from customtkinter import 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")

View File

@@ -1 +1,2 @@
from .ui_utils import * from .ui_utils import *
from .CustomizedCTkScrollableFrame import CustomizedCTkScrollableFrame