1
1
mirror of https://github.com/KenanZhu/AutoLibrary.git synced 2026-06-17 23:13:03 +08:00

fix(gui): 重置按钮触发默认主题切换

- 重置按钮始终切到"默认"(index 0),清除自定义 QSS
- 调用 _clearCustomTheme 实际清除样式并应用原始色调模式
This commit is contained in:
2026-05-30 21:56:19 +08:00
parent 645f07b4d2
commit 1d9e41ab86
+21 -22
View File
@@ -94,6 +94,18 @@ def _restartApp(
QApplication.instance().quit()
QProcess.startDetached(sys.executable, sys.argv)
def _themeToReadable(
theme: str
) -> str:
if theme == "dark":
return "深色"
elif theme == "light":
return "浅色"
elif theme == "both":
return "所有"
else:
return "未知"
class ALSettingsWidget(QWidget, Ui_ALSettingsWidget):
@@ -235,8 +247,14 @@ class ALSettingsWidget(QWidget, Ui_ALSettingsWidget):
t = self.__theme_cache.get(name)
if t:
author = t.get("author", "未知")
need_theme = t.get("need_theme", "both")
brief = t.get("brief", "没有相关简介")
self.ThemeInfoLabel.setText(f"作者:{author}\n简介:{brief}")
self.ThemeInfoLabel.setText(
f"<b>{name}</b>\n"
f"适用于 {_themeToReadable(need_theme)} 主题\n"
f"作者:{author}\n"
f"{brief}"
)
else:
self.ThemeInfoLabel.setText("")
@@ -360,12 +378,7 @@ class ALSettingsWidget(QWidget, Ui_ALSettingsWidget):
):
self.ThemeComboBox.blockSignals(True)
if self.__original_custom_theme:
idx = self.ThemeComboBox.findText(self.__original_custom_theme)
if idx >= 0:
self.ThemeComboBox.setCurrentIndex(idx)
else:
self.ThemeComboBox.setCurrentIndex(0)
self.ThemeComboBox.setCurrentIndex(0)
self.ThemeComboBox.blockSignals(False)
if self.__original_theme == "light":
self.LightThemeRadio.setChecked(True)
@@ -373,27 +386,13 @@ class ALSettingsWidget(QWidget, Ui_ALSettingsWidget):
self.DarkThemeRadio.setChecked(True)
else:
self.SystemThemeRadio.setChecked(True)
self.saveAndApply()
self.updateThemeInfo()
@Slot()
def onCancelButtonClicked(
self
):
self.ThemeComboBox.blockSignals(True)
if self.__original_custom_theme:
idx = self.ThemeComboBox.findText(self.__original_custom_theme)
if idx >= 0:
self.ThemeComboBox.setCurrentIndex(idx)
else:
self.ThemeComboBox.setCurrentIndex(0)
self.ThemeComboBox.blockSignals(False)
if self.__original_theme == "light":
self.LightThemeRadio.setChecked(True)
elif self.__original_theme == "dark":
self.DarkThemeRadio.setChecked(True)
else:
self.SystemThemeRadio.setChecked(True)
self.close()
@Slot()