[Update] 設定画面から透明度変更時に、メイン画面のカバーを一時的に外すように。
スライダークリック時(ドラッグ時)にカバーを外し、リリース時に戻す。 リリースはCTkSlider側で設定されていないのでうまくいくけど、 CTkSliderはbind ButtonPress(クリック)はオーバーライドされるので引数command(クリックイベント)に無理やり挟み込み。
This commit is contained in:
11
view.py
11
view.py
@@ -156,6 +156,8 @@ class View():
|
|||||||
SLIDER_RANGE_TRANSPARENCY=(50, 100),
|
SLIDER_RANGE_TRANSPARENCY=(50, 100),
|
||||||
CALLBACK_SET_TRANSPARENCY=None,
|
CALLBACK_SET_TRANSPARENCY=None,
|
||||||
VAR_TRANSPARENCY=IntVar(value=config.TRANSPARENCY),
|
VAR_TRANSPARENCY=IntVar(value=config.TRANSPARENCY),
|
||||||
|
CALLBACK_BUTTON_PRESS_TRANSPARENCY=self._closeTheCoverOfMainWindow,
|
||||||
|
CALLBACK_BUTTON_RELEASE_TRANSPARENCY=self._openTheCoverOfMainWindow,
|
||||||
|
|
||||||
VAR_LABEL_APPEARANCE_THEME=StringVar(value=i18n.t("config_window.appearance_theme.label")),
|
VAR_LABEL_APPEARANCE_THEME=StringVar(value=i18n.t("config_window.appearance_theme.label")),
|
||||||
VAR_DESC_APPEARANCE_THEME=StringVar(value=i18n.t("config_window.appearance_theme.desc")),
|
VAR_DESC_APPEARANCE_THEME=StringVar(value=i18n.t("config_window.appearance_theme.desc")),
|
||||||
@@ -539,6 +541,15 @@ class View():
|
|||||||
vrct_gui.attributes("-topmost", False)
|
vrct_gui.attributes("-topmost", False)
|
||||||
|
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _openTheCoverOfMainWindow():
|
||||||
|
vrct_gui.modal_window.show()
|
||||||
|
vrct_gui.config_window.lift()
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _closeTheCoverOfMainWindow():
|
||||||
|
vrct_gui.modal_window.withdraw()
|
||||||
|
|
||||||
def enableMainWindowSidebarCompactMode(self):
|
def enableMainWindowSidebarCompactMode(self):
|
||||||
self.view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = True
|
self.view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = True
|
||||||
vrct_gui._enableMainWindowSidebarCompactMode()
|
vrct_gui._enableMainWindowSidebarCompactMode()
|
||||||
|
|||||||
@@ -204,11 +204,10 @@ class _SettingBoxGenerator():
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
def createSettingBoxSlider(self, for_var_label_text, for_var_desc_text, slider_attr_name, slider_range, command, variable, slider_number_of_steps: Union[int, None] = None):
|
def createSettingBoxSlider(self, for_var_label_text, for_var_desc_text, slider_attr_name, slider_range, command, variable, slider_number_of_steps: Union[int, None] = None, slider_bind__ButtonPress=None, slider_bind__ButtonRelease=None):
|
||||||
(setting_box_frame, setting_box_item_frame) = self._createSettingBoxFrame(slider_attr_name, for_var_label_text, for_var_desc_text)
|
(setting_box_frame, setting_box_item_frame) = self._createSettingBoxFrame(slider_attr_name, for_var_label_text, for_var_desc_text)
|
||||||
|
|
||||||
# print(self.settings.uism.SB__SLIDER_WIDTH)
|
|
||||||
# print(self.settings.uism.SB__SLIDER_HEIGHT)
|
|
||||||
slider_widget = CTkSlider(
|
slider_widget = CTkSlider(
|
||||||
setting_box_item_frame,
|
setting_box_item_frame,
|
||||||
width=self.settings.uism.SB__SLIDER_WIDTH,
|
width=self.settings.uism.SB__SLIDER_WIDTH,
|
||||||
@@ -225,6 +224,17 @@ class _SettingBoxGenerator():
|
|||||||
|
|
||||||
slider_widget.grid(row=1, column=SETTING_BOX_COLUMN, sticky="e")
|
slider_widget.grid(row=1, column=SETTING_BOX_COLUMN, sticky="e")
|
||||||
|
|
||||||
|
if slider_bind__ButtonPress is not None:
|
||||||
|
def adjusted_slider_bind__ButtonPress(_e):
|
||||||
|
command(_e)
|
||||||
|
slider_bind__ButtonPress()
|
||||||
|
slider_widget.configure(command=adjusted_slider_bind__ButtonPress)
|
||||||
|
|
||||||
|
if slider_bind__ButtonRelease is not None:
|
||||||
|
def adjusted_slider_bind__ButtonRelease(_e):
|
||||||
|
slider_bind__ButtonRelease()
|
||||||
|
slider_widget.bind("<ButtonRelease>", adjusted_slider_bind__ButtonRelease, "+")
|
||||||
|
|
||||||
return setting_box_frame
|
return setting_box_frame
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -33,6 +33,8 @@ def createSettingBox_Appearance(setting_box_wrapper, config_window, settings, vi
|
|||||||
slider_range=view_variable.SLIDER_RANGE_TRANSPARENCY,
|
slider_range=view_variable.SLIDER_RANGE_TRANSPARENCY,
|
||||||
command=lambda value: slider_transparency_callback(value),
|
command=lambda value: slider_transparency_callback(value),
|
||||||
variable=view_variable.VAR_TRANSPARENCY,
|
variable=view_variable.VAR_TRANSPARENCY,
|
||||||
|
slider_bind__ButtonPress=view_variable.CALLBACK_BUTTON_PRESS_TRANSPARENCY,
|
||||||
|
slider_bind__ButtonRelease=view_variable.CALLBACK_BUTTON_RELEASE_TRANSPARENCY,
|
||||||
)
|
)
|
||||||
config_window.sb__transparency.grid(row=row)
|
config_window.sb__transparency.grid(row=row)
|
||||||
row+=1
|
row+=1
|
||||||
|
|||||||
Reference in New Issue
Block a user