[Update] Config Window: slider tooltips. ステップを1ずつにして、さらにパーセンテージ表記するように。

This commit is contained in:
Sakamoto Shiina
2023-10-24 20:29:22 +09:00
parent c6d52f05c5
commit b7af569996
4 changed files with 20 additions and 5 deletions

View File

@@ -239,11 +239,14 @@ class _SettingBoxGenerator():
slider_number_of_steps: Union[int,
None] = None,
slider_bind__ButtonPress=None,
slider_bind__ButtonRelease=None
slider_bind__ButtonRelease=None,
sliderTooltipFormatter=None,
):
(setting_box_frame, setting_box_item_frame) = self._createSettingBoxFrame(slider_attr_name, for_var_label_text, for_var_desc_text)
if slider_number_of_steps is None:
slider_number_of_steps = int(slider_range[1] - slider_range[0])
slider_widget = CTkSlider(
setting_box_item_frame,
@@ -261,9 +264,14 @@ class _SettingBoxGenerator():
)
setattr(self.config_window, slider_attr_name, slider_widget)
def getSliderValueWAfterFormatting():
return sliderTooltipFormatter(variable.get()) if sliderTooltipFormatter else variable.get()
slider_tooltip = CTkToolTip(
slider_widget,
message=variable.get(),
message=getSliderValueWAfterFormatting(),
delay=0,
bg_color=self.settings.ctm.SB__SLIDER_TOOLTIP_BG_COLOR,
text_color=self.settings.ctm.SB__SLIDER_TOOLTIP_TEXT_COLOR,
@@ -275,7 +283,7 @@ class _SettingBoxGenerator():
if slider_bind__ButtonPress is not None:
def adjusted_slider_bind__ButtonPress(_e):
command(_e)
slider_tooltip.configure(message=slider_widget.get())
slider_tooltip.configure(message=getSliderValueWAfterFormatting())
slider_bind__ButtonPress()
slider_widget.configure(command=adjusted_slider_bind__ButtonPress)

View File

@@ -38,6 +38,7 @@ def createSettingBox_Appearance(setting_box_wrapper, config_window, settings, vi
variable=view_variable.VAR_TRANSPARENCY,
slider_bind__ButtonPress=view_variable.CALLBACK_BUTTON_PRESS_TRANSPARENCY,
slider_bind__ButtonRelease=view_variable.CALLBACK_BUTTON_RELEASE_TRANSPARENCY,
sliderTooltipFormatter=view_variable.CALLBACK_SLIDER_TOOLTIP_PERCENTAGE_FORMATTER,
)
config_window.sb__transparency.grid(row=row)
row+=1
@@ -76,6 +77,7 @@ def createSettingBox_Appearance(setting_box_wrapper, config_window, settings, vi
variable=view_variable.VAR_TEXTBOX_UI_SCALING,
slider_bind__ButtonPress=view_variable.CALLBACK_BUTTON_PRESS_TEXTBOX_UI_SCALING,
slider_bind__ButtonRelease=view_variable.CALLBACK_BUTTON_RELEASE_TEXTBOX_UI_SCALING,
sliderTooltipFormatter=view_variable.CALLBACK_SLIDER_TOOLTIP_PERCENTAGE_FORMATTER,
)
config_window.sb__textbox_uis_scaling.grid(row=row)
row+=1