Skip to content

修复多个Bug: macOS主题跟随、Linux更新、模组UI对齐、不兼容提示、文件占用回滚 - #6575

Closed
ghost wants to merge 2 commits into
mainfrom
unknown repository
Closed

修复多个Bug: macOS主题跟随、Linux更新、模组UI对齐、不兼容提示、文件占用回滚#6575
ghost wants to merge 2 commits into
mainfrom
unknown repository

Conversation

@ghost

@ghost ghost commented Aug 2, 2026

Copy link
Copy Markdown

修复了 7 个 Bug

1. macOS 26 主题模式-跟随系统设置 失效 (#6526)

原因: 在macOS上调用 NSApplication.setAppearance() 会锁定JavaFX的 colorScheme 属性,导致其不再跟随系统深浅色模式变化。

修复: 新增 resetAppearance() 方法;仅在用户明确选择 light/dark 模式时调用 setAppearance();auto 模式下让系统控制。

2. Linux 自动更新本体类型检测不够健全 (#6497)

原因: copyWithHeader() 仅根据目标文件后缀判断是否写入可执行文件头。当用户删除.sh后缀后无法识别。

修复: 目标文件无后缀时遍历所有已知后缀从源文件检测并保留可执行文件头。

3. 小型窗口下的模组长词条显示交互按键错位 (#6502)

原因: TwoLineListItem 标题Label没有设置文本溢出截断策略。

修复: 设置 setTextOverrun(ELLIPSIS)setMaxWidth,确保长文本显示省略号。

4. 切换实例菜单UI问题 (#6521)

原因: 列表项右侧与浮动滚动条重叠,左右边距不对称。

修复: 增加右侧8px padding,调整maxWidth减去8px。

5. 弹出菜单子项焦点丢失 (#6549)

原因: 浮动滚动条在拖拽时请求焦点,导致列表项失去焦点状态。

修复: 设置 setFocusTraversable(false) 防止滚动条窃取焦点。

6. 自动安装页面的不兼容提示显示不全 (#6455)

原因: InstallerItem 的 statusLabel 没有设置文本换行。

修复: 添加 setWrapText(true)setMaxWidth(Double.MAX_VALUE)

7. 模组文件被其他进程占用时禁用模组状态不一致 (#6396)

原因: 文件被占用时 Files.move() 抛出IOException,但UI属性已设置为false,导致显示禁用但实际未操作。

修复: 捕获IOException后回滚属性值,确保UI状态与文件实际状态一致。


全部测试通过,编译成功。

当用户选择"跟随系统设置"时,不再调用NSApplication.setAppearance()
锁定主题,让JavaFX的colorScheme能自然跟随系统切换。

- 新增MacOSNativeUtils.resetAppearance()重置为nil
- Themes.applyNativeDarkMode()仅在非auto模式时调用setAppearance
- 监听themeBrightnessModeProperty变化动态切换auto/显式模式

fixes #6526
@github-actions github-actions Bot added the 40+ label Aug 2, 2026
- 修复 #6455: InstallerItem 的 statusLabel 添加 setWrapText(true)
  和 setMaxWidth,使不兼容提示文字能自动换行显示完整
- 修复 #6396: LocalModFile 禁用/启用模组时若文件被其他进程
  占用导致 IOException,回滚 activeProperty 确保 UI 状态
  与文件实际状态一致

fixes #6455, #6396
@Glavo Glavo closed this Aug 2, 2026
@Glavo

Glavo commented Aug 2, 2026

Copy link
Copy Markdown
Member

#6576 (comment)

@woshixiaoheizi114514

Copy link
Copy Markdown

这下账号都没了(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants