diff --git a/LunaTranslator/LunaTranslator/gui/setting_display_ui.py b/LunaTranslator/LunaTranslator/gui/setting_display_ui.py index 6608c9a8..dcd1b2c0 100644 --- a/LunaTranslator/LunaTranslator/gui/setting_display_ui.py +++ b/LunaTranslator/LunaTranslator/gui/setting_display_ui.py @@ -16,6 +16,7 @@ from gui.usefulwidget import ( getboxlayout, makesubtab_lazy, makescrollgrid, + getsmalllabel, ) @@ -30,24 +31,41 @@ def changeHorizontal(self): gobject.baseobject.translation_ui.set_color_transparency() +def __exswitch(self, ex): + self.horizontal_slider.setMinimum(1 - ex) + gobject.baseobject.translation_ui.set_color_transparency() + + def createhorizontal_slider(self): self.horizontal_slider = QSlider() self.horizontal_slider.setMaximum(100) - self.horizontal_slider.setMinimum(0) + self.horizontal_slider.setMinimum(1 - globalconfig["transparent_EX"]) self.horizontal_slider.setOrientation(Qt.Orientation.Horizontal) - self.horizontal_slider.setValue(0) self.horizontal_slider.setValue(globalconfig["transparent"]) self.horizontal_slider.valueChanged.connect( functools.partial(changeHorizontal, self) ) - return self.horizontal_slider + w = QWidget() + hb = QHBoxLayout() + hb.setContentsMargins(0, 0, 0, 0) + w.setLayout(hb) - -def createhorizontal_slider_label(self): self.horizontal_slider_label = QLabel() self.horizontal_slider_label.setText("{}%".format(globalconfig["transparent"])) - return self.horizontal_slider_label + hb.addWidget(self.horizontal_slider) + hb.addWidget(self.horizontal_slider_label) + + l = getsmalllabel(" EX")() + hb.addWidget(l) + sw = getsimpleswitch( + globalconfig, + "transparent_EX", + callback=functools.partial(__exswitch, self), + ) + + hb.addWidget(sw) + return w def changeHorizontal_tool(self): @@ -271,7 +289,6 @@ def mainuisetting(self): functools.partial(createhorizontal_slider, self), 0, ), - functools.partial(createhorizontal_slider_label, self), ], [ "背景颜色", diff --git a/LunaTranslator/LunaTranslator/gui/translatorUI.py b/LunaTranslator/LunaTranslator/gui/translatorUI.py index 6eaeb6fe..86f5a463 100644 --- a/LunaTranslator/LunaTranslator/gui/translatorUI.py +++ b/LunaTranslator/LunaTranslator/gui/translatorUI.py @@ -1066,8 +1066,11 @@ class TranslatorWindow(resizableframeless): topr, str2rgba( globalconfig["backcolor"], - max(100 / 255, globalconfig["transparent"]) - * (not globalconfig["backtransparent"]), + max( + (1 - globalconfig["transparent_EX"]) * 100 / 255, + globalconfig["transparent"] + * (not globalconfig["backtransparent"]), + ), ), ) ) diff --git a/LunaTranslator/files/defaultconfig/config.json b/LunaTranslator/files/defaultconfig/config.json index 3b37fa64..e11ca1be 100644 --- a/LunaTranslator/files/defaultconfig/config.json +++ b/LunaTranslator/files/defaultconfig/config.json @@ -455,6 +455,7 @@ "rawtextcolor": "#000000", "backcolor": "#000000", "transparent": 27, + "transparent_EX": false, "backcolor_tool": "#000000", "transparent_tool": 27, "isshowhira": true, @@ -621,7 +622,7 @@ }, "backtransbutton": { "use": true, - "tip": "背景窗口透明_EX", + "tip": "背景窗口透明", "icon": "fa.lightbulb-o", "align": 2 }, diff --git a/docs/zh/alltoolbuttons.md b/docs/zh/alltoolbuttons.md index 5f0cfd95..ff975e9d 100644 --- a/docs/zh/alltoolbuttons.md +++ b/docs/zh/alltoolbuttons.md @@ -44,9 +44,8 @@ 当把翻译窗口置于游戏窗口的文本框之上时,激活这个按钮可以直接点击游戏的文本框而不是点击到翻译窗口上。
当把鼠标移动到**鼠标穿透窗口按钮及其左右一个按钮的区域**时,会自动退出穿透以使用工具按钮;移出区域时自动恢复穿透。 -1. #### 背景窗口透明_EX - 将不透明度降低到0后,将无法在拖动主窗口中的全透明区域。因此,使用设置中的透明度设置最低只允许将不透明度降低到0.39%,以防止误操作导致找不到窗口。 - 而该按钮可以无视该限制,使得翻译窗口的不透明度切换到0。这个切换不会使得不透明度设置的值被遗忘。 +1. #### 背景窗口透明 + 该按钮作用仅是一键使得翻译窗口的不透明度切换到0。这个切换不会使得原版的不透明度设置被遗忘。 1. #### 锁定工具栏 未锁定工具栏时,当鼠标移出时,工具栏会自动隐藏;激活后工具栏将始终显示。