KenanZhu
|
06740776a9
|
fix(timer,bulletin): 修复定时任务与公告栏 5 项交叉审查问题
|
2026-06-26 11:16:08 +08:00 |
|
KenanZhu
|
c8f9ae752f
|
fix(bulletin): 修复托盘消息点击冲突,增加公告入口,移除托盘公告选项
|
2026-06-26 10:18:15 +08:00 |
|
KenanZhu
|
89c1e33257
|
chore: 更新官网手册链接
|
2026-06-26 10:00:02 +08:00 |
|
KenanZhu
|
862f86827a
|
refactor(timer): ALMainWindow 集成 ALTimerTaskPoller 消除内联轮询
|
2026-06-26 09:58:39 +08:00 |
|
KenanZhu
|
ed98623cda
|
feat(timer): 新增 ALTimerTaskPoller 定时任务轮询器
|
2026-06-26 09:56:24 +08:00 |
|
KenanZhu
|
ab51c72a11
|
style: 重命名 ALMainWorkers 为 ALMainWorker 遵循单数命名
|
2026-06-26 09:18:48 +08:00 |
|
KenanZhu
|
2fe4584129
|
refactor(bulletin): 提取 ALBulletinFetchWorker 到独立文件
|
2026-06-26 09:16:45 +08:00 |
|
KenanZhu
|
92c5fa0dfb
|
style: 统一代码格式与导入优化
|
2026-06-26 09:16:23 +08:00 |
|
KenanZhu
|
05ad9ba0b3
|
chore: 合并 feature/bulletin-system 到 develop
|
2026-06-25 13:26:12 +08:00 |
|
KenanZhu
|
0069d5274b
|
style(gui): 统一非Qt控件变量为蛇形命名
|
2026-06-25 13:17:36 +08:00 |
|
KenanZhu
|
6a9c662287
|
fix(bulletin): 修复状态标签圆圈不可见和定时器悬空引用问题
|
2026-06-25 11:32:58 +08:00 |
|
KenanZhu
|
d7fff16991
|
fix(driver): 驱动下载完成后更新下拉条目安装状态后缀
|
2026-06-25 10:49:31 +08:00 |
|
KenanZhu
|
db345f9efc
|
chore: 合并 refactor/webdriver-naming 到 develop
|
2026-06-25 10:27:33 +08:00 |
|
KenanZhu
|
133433f2d8
|
refactor(driver): WebDriver 子系统命名规范化与代码整理
|
2026-06-25 10:19:32 +08:00 |
|
KenanZhu
|
6f32923865
|
fix(bulletin): 修复公告栏系统多项逻辑缺陷与线程安全隐患
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-24 12:17:26 +08:00 |
|
KenanZhu
|
a716e5b945
|
feat(bulletin): 公告栏系统完整实现
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-24 12:15:28 +08:00 |
|
KenanZhu
|
588718f9c5
|
docs(readme): 更新 README.md 内容
|
2026-06-22 10:36:53 +08:00 |
|
KenanZhu
|
0ba76babc6
|
docs(readme): 优化自定义主题描述,补充主题市场链接与注意事项表述修正
|
2026-06-21 10:19:12 +08:00 |
|
KenanZhu
|
dc7e5d8cd8
|
docs(readme): 重新分类功能列表,补充自定义主题与 macOS 平台支持说明
|
2026-06-21 09:54:41 +08:00 |
|
Kenan Zhu
|
818acd4efc
|
feat(theme): 全局设置窗口、.altheme 主题系统与 GUI 重构 (#13)
feat(theme): 全局设置窗口、.altheme 主题系统与 GUI 重构
|
2026-06-21 09:32:36 +08:00 |
|
Kenan Zhu
|
308a1dfcf3
|
Merge branch 'main' into feature/global-settings
|
2026-06-21 09:31:34 +08:00 |
|
KenanZhu
|
c250fa4a6e
|
refactor(theme): 将重复的主题逻辑下沉至 ThemeUtils,消除 validateTheme 职责过重
|
2026-06-19 11:21:50 +08:00 |
|
KenanZhu
|
8f8e3e4ba7
|
refactor(gui): 自定义主题控件及函数重命名,统一 CustomTheme 前缀
|
2026-06-19 10:22:36 +08:00 |
|
KenanZhu
|
88a74a7a47
|
refactor(gui): 提取窗口居中逻辑至 CenterOnParentMixin,消除5处重复 showEvent
|
2026-06-19 10:20:35 +08:00 |
|
KenanZhu
|
5552af1345
|
refactor(gui): 消除确认按钮重复逻辑,重置按钮不再提前应用主题
|
2026-06-19 09:36:18 +08:00 |
|
KenanZhu
|
6d05d4c7cb
|
ci: main 分支 push 事件触发 BuildTest 工作流
|
2026-06-17 10:29:54 +08:00 |
|
KenanZhu
|
01f4ccaa0e
|
fix(driver): macOS/Linux 下载的 Chrome/Edge 驱动缺少执行权限导致运行失败
zipfile 解压不保留 Unix 执行位,extract 后 chmod 755;同时在启动检查
时对已下载但不可执行的旧驱动自动修复权限。
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-17 10:22:33 +08:00 |
|
KenanZhu
|
f9175371dc
|
feat(gui): +/- 按钮文本替换为 QtAwesome 图标,fa5s 统一升级为 fa6s
- ALSettingsWidget: BrowseQssButton/RemoveThemeButton 的 + / - 文本改为 fa6s.plus/fa6s.minus 图标
- ALAutoScriptEditDialog: ZoomInBtn/ZoomOutBtn 的全角 +/- 改为 fa6s.plus/fa6s.minus 图标
- 其余图标同步从 fa5s 升级至 fa6s (Font Awesome 6)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-17 08:15:03 +08:00 |
|
KenanZhu
|
8e1b28f3fe
|
fix: requirements.txt 编码从 UTF-16 LE 转为 UTF-8,移除 8 个多余依赖包
移除的包: altgraph, mpmath, pefile, pyinstaller-hooks-contrib, pywin32-ctypes, setuptools, sympy, websocket-client
(这些均为传递依赖,pip 会根据直接依赖自动解析安装)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-16 22:19:05 +08:00 |
|
KenanZhu
|
57f1cfb3f2
|
fix(theme): 修复死锁、冗余读取、空作者字符串等交叉审查问题
- ThemeManager 拆分 _removeThemeFile 无锁版本, 消除 importTheme 持锁
时调用 removeTheme 导致的死锁
- validateTheme 增加 check_qss 参数, listThemes 跳过 QSS 读取
- validateTheme 拒绝空/空白作者字符串, 避免 info.json 与文件名不一致
- 统一默认作者为 "未知作者"
- ALSettingsWidget.ui 增加删除按钮 [-], 浏览按钮改为 [+]
- ALSettingsWidget 实现 onRemoveThemeButtonClicked 删除逻辑
|
2026-06-16 19:37:09 +08:00 |
|
KenanZhu
|
007b4dc2ef
|
fix(theme): 修复同名主题无法区分作者及导入链路边界问题
- 新增 ThemeUtils.validateTheme 和 readThemeQss 集中校验与读取逻辑
- ThemeManager.importTheme 通过 _resolveDestPath 处理同名主题:
不同作者自动命名为 {主题名}_{作者名}.altheme, 首次导入保持原名
- ThemeManager.listThemes 返回 file 字段以便 UI 层定位文件
- ALSettingsWidget 全线改用 file 标识符, 组合框按作者消歧义显示
- 移除 applyTheme 中的临时目录解压, 改用 readThemeQss 直接读取
|
2026-06-16 18:37:47 +08:00 |
|
Kenan Zhu
|
0bad34d7a8
|
refactor(*): LoginPage 消息追踪统一与 Flow 长方法拆分 (#12)
refactor: LoginPage 消息追踪统一与 Flow 长方法拆分
|
2026-06-13 09:30:02 +08:00 |
|
KenanZhu
|
61d1b44402
|
refactor: 提取 Flow 类 execute 长方法为私有子方法,降低嵌套深度
|
2026-06-13 08:59:45 +08:00 |
|
KenanZhu
|
72301c63fd
|
refactor: LoginPage 继承 MsgBase,统一页面消息追踪机制
|
2026-06-13 08:59:34 +08:00 |
|
Kenan Zhu
|
609850ab60
|
ci(workflows): 新增 macOS .app 与 .dmg 打包流程 (#11)
新增 macOS .app 与 .dmg 打包流程
|
2026-06-10 09:49:54 +08:00 |
|
KenanZhu
|
8e14d45b71
|
fix(ci): 修复 Windows summary 因 Write-Host 管道失效导致空白输出
pwsh 中 Write-Host 写入信息流(stream 6)不进入管道,Write-Host | Out-File
实际写入空文件。改为直接输出字符串(stream 1)进入管道,与 macOS 的
echo >> GITHUB_STEP_SUMMARY 行为一致。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-10 09:17:49 +08:00 |
|
KenanZhu
|
f6ef9af39d
|
fix(ci): 修复 macOS 构建流程 6 项缺陷
1. requirements.txt 从 UTF-16 LE 转码为 UTF-8,修复 macOS pip install 解析失败
2. 新增 AutoLibrary_Logo.icns 图标文件,替换 macOS BUNDLE 中不兼容的 .ico 格式
3. PyInstaller 调用改为 python -m PyInstaller,确保 PATH 无关健壮性
4. ddddocr ONNX 模型路径增加多级 fallback 搜索,提升版本兼容性
5. info_plist 移除过时的 CFBundlePackageType,添加 NSHumanReadableCopyright
6. 为 macOS 专属的 sed -i '' 语法添加注释说明
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-10 09:05:01 +08:00 |
|
KenanZhu
|
72dce83c55
|
ci(workflows): 新增 macOS .app 与 .dmg 打包流程
|
2026-06-09 16:24:37 +08:00 |
|
KenanZhu
|
67f297b434
|
revert(ALConfigWidget.ui): 撤回上次提交中的 ui 文件的启动默认页面
|
2026-06-07 12:53:02 +08:00 |
|
KenanZhu
|
86f0761eed
|
refactor(theme): 优化 LightLake 与 BlueForest 主题显示样式
|
2026-06-07 12:50:32 +08:00 |
|
KenanZhu
|
79e5b43498
|
fix(theme): 修复主题管理系统逻辑缺陷
- removeTheme() 删除当前活动主题后从 ConfigManager 读取已保存的主题偏好作为回退方案,不再硬编码 'system'
- saveAndApply() 在调用 _applyCustomTheme 前先 setActiveStyle(style),确保主题应用时使用最新选择的内置样式
- _applyCustomTheme() 返回 bool 表示成败,失败时调用方清除配置中的 custom_theme 避免下次启动循环失败
- importTheme() 增加 self.__lock 保护,消除 TOCTOU 竞态条件
- ThemeManager 新增 CfgKey 导入以支持 removeTheme 读取配置
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-05-31 18:58:07 +08:00 |
|
KenanZhu
|
b56d2c203e
|
fix(theme): 修复 QSS 主题样式缺陷
- 新增 QSpinBox/QDateEdit/QTimeEdit 的 ::up-button/::down-button/::up-arrow/::down-arrow 子控件样式,修复 spin button 箭头在 QSS 部分覆盖后退化渲染的问题
- 新增 QTreeWidget::indicator / QListWidget::indicator / QTableWidget::indicator 全状态样式,修复树控件中 CheckState 复选框因缺失 ::indicator 子控件而无法区分勾选状态的视觉 bug
- 指示器勾选态颜色与主题色保持一致(BlueForest: #2dd4bf, LightLake: #0ea58a)
- 同步深浅主题差异:移除 :hover:!selected 规则、统一 HeaderView padding、spin button 宽度及属性顺序
- up-arrow 注释 image:none 以还原原生箭头渲染
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-05-31 18:57:56 +08:00 |
|
KenanZhu
|
44dbde3355
|
fix(theme): 主题系统交叉审查缺陷修复
启动恢复:
- _initializeAppearance 自定义主题加载失败时调用 clearTheme 回退配色方案
列表校验:
- listThemes 同时校验 info.json 和 theme.qss 完整性
- 损坏的主题文件记录 LogManager 警告并跳过
- 按 (名称, 作者) 去重,同一作者同名主题仅保留一个
导入保护:
- importTheme 新增 (名称, 作者) 冲突检查
- applyTheme 缺少 theme.qss 时抛出明确 ValueError
状态一致性:
- saveAndApply 在 syncRadioFromNeedTheme 后重新采集 THEME 再保存
- __original_theme / __original_custom_theme 随每次 Apply 同步更新
- Reset 按钮恢复组合框到原始位置并刷新状态标签
代码质量:
- 提取 _colorSchemeFor 静态方法消除 applyTheme/clearTheme 中的重复映射
- 移除未使用的 _applyTheme 死代码
- _active_style_name 默认值从 '' 改为 'Fusion'
- 日志调用统一使用 LogManager
- _applyCustomTheme 异常时通过 LogManager 记录详细错误
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-05-31 00:46:05 +08:00 |
|
KenanZhu
|
62f8ec3d91
|
refactor(theme): 将重复的主题逻辑下沉至 ThemeManager
ThemeManager 新增:
- clearTheme(theme) — 清除 QSS 并应用指定色调
- applyThemeOrClear(name, fallback) — 应用或回退的封装
- _applyColorScheme(theme) — Qt ColorScheme 设置的统一入口
- themeToReadable(need_theme) — 静态工具方法
ALSettingsWidget 移除:
- _clearCustomTheme → 改用 themeInstance().clearTheme()
- _applyCustomTheme → 改用 themeInstance().applyThemeOrClear()
- _themeToReadable → 改用 ThemeManager.themeToReadable()
ALSettingsWidget 仅保留 _applyTheme(含 setStyle 逻辑,供 AppInitializer 使用)
|
2026-05-30 22:51:05 +08:00 |
|
KenanZhu
|
2d77cbec79
|
fix(gui): 修复保存主题时色调模式与主题 need_theme 不一致的问题
- 将 THEME 配置写入移至 syncRadioFromNeedTheme 之后
- 确保保存的色调模式值与主题实际兼容值一致,避免重启后错配
|
2026-05-30 22:30:31 +08:00 |
|
KenanZhu
|
10d731518a
|
fix(gui): ThemeInfoLabel 添加细边框
- 使用 palette(mid) 自适应当前主题色调
|
2026-05-30 22:20:29 +08:00 |
|
KenanZhu
|
9fdb6f7652
|
fix(ui): 修复 .ui XML 标签嵌套错误
- AppearancePageSpacer 从 CustomQssGroupBoxLayout 内移出,恢复为 AppearancePageLayout 的直接子项
- 补全缺失的 AppearancePageLayout 与 QScrollArea 闭合标签
- 修复 alignment 属性的 <set> 标签未正确闭合
|
2026-05-30 22:19:04 +08:00 |
|
KenanZhu
|
ef903ee817
|
fix(gui): ThemeInfoLabel 作者与简介缩小字号
- 用 <span style='font-size:smaller;'> 包裹作者和简介行
- 主题名称保持原有字号
|
2026-05-30 22:07:48 +08:00 |
|
KenanZhu
|
d6e8eef8c8
|
fix(gui): 恢复固定高度 420,滚动区域内添加弹性 Spacer 维持控件间距
|
2026-05-30 22:05:21 +08:00 |
|
KenanZhu
|
e893752c25
|
feat(gui): 为右侧配置面板添加滚动区域,放宽宽度限制
- AppearancePageLayout 包裹在 QScrollArea 内,内容溢出时可滚动
- 移除垂直 Spacer(滚动区域内不需要)
- 最小宽度 400→480,最大宽度 500→580,最大高度 420→不限
- .ui 与 Ui_ALSettingsWidget.py 同步更新
|
2026-05-30 22:02:43 +08:00 |
|