mirror of
https://github.com/KenanZhu/AutoLibrary.git
synced 2026-06-18 07:23:03 +08:00
refactor(gui): 重命名 _applyThemeByName → _applyCustomTheme,_clearQss → _clearCustomTheme
- _clearCustomTheme(theme) 清除 QSS 后切换到指定默认主题 - _applyCustomTheme(name, fallback_theme) 应用自定义主题,失败时回退到 fallback_theme - saveAndApply 调用处传入当前 radio 主题作为 fallback
This commit is contained in:
@@ -50,24 +50,27 @@ def _setActiveStyleName(
|
|||||||
global _active_style_name
|
global _active_style_name
|
||||||
_active_style_name = name
|
_active_style_name = name
|
||||||
|
|
||||||
def _clearQss(
|
def _clearCustomTheme(
|
||||||
|
theme: str
|
||||||
):
|
):
|
||||||
|
|
||||||
app : QApplication | None = QApplication.instance()
|
app : QApplication | None = QApplication.instance()
|
||||||
if app:
|
if app:
|
||||||
app.setStyleSheet("")
|
app.setStyleSheet("")
|
||||||
|
_applyTheme(theme)
|
||||||
|
|
||||||
def _applyThemeByName(
|
def _applyCustomTheme(
|
||||||
name: str
|
name: str,
|
||||||
|
fallback_theme: str = "system"
|
||||||
):
|
):
|
||||||
|
|
||||||
if not name:
|
if not name:
|
||||||
_clearQss()
|
_clearCustomTheme(fallback_theme)
|
||||||
return
|
return
|
||||||
try:
|
try:
|
||||||
themeInstance().applyTheme(name)
|
themeInstance().applyTheme(name)
|
||||||
except Exception:
|
except Exception:
|
||||||
_clearQss()
|
_clearCustomTheme(fallback_theme)
|
||||||
|
|
||||||
def _applyTheme(
|
def _applyTheme(
|
||||||
theme: str
|
theme: str
|
||||||
@@ -274,7 +277,7 @@ class ALSettingsWidget(QWidget, Ui_ALSettingsWidget):
|
|||||||
self.__cfg_mgr.set(CfgKey.GLOBAL.APPEARANCE.THEME, theme)
|
self.__cfg_mgr.set(CfgKey.GLOBAL.APPEARANCE.THEME, theme)
|
||||||
self.__cfg_mgr.set(CfgKey.GLOBAL.APPEARANCE.STYLE, style)
|
self.__cfg_mgr.set(CfgKey.GLOBAL.APPEARANCE.STYLE, style)
|
||||||
self.__cfg_mgr.set(CfgKey.GLOBAL.APPEARANCE.CUSTOM_THEME, custom_theme)
|
self.__cfg_mgr.set(CfgKey.GLOBAL.APPEARANCE.CUSTOM_THEME, custom_theme)
|
||||||
_applyThemeByName(custom_theme)
|
_applyCustomTheme(custom_theme, theme)
|
||||||
self._syncRadioFromNeedTheme(custom_theme)
|
self._syncRadioFromNeedTheme(custom_theme)
|
||||||
theme, _, _ = self.collectSettings()
|
theme, _, _ = self.collectSettings()
|
||||||
_applyTheme(theme)
|
_applyTheme(theme)
|
||||||
|
|||||||
Reference in New Issue
Block a user