Skip to content

feat(gesture): 完善手势动作参数编辑器配置能力并适配深色主题 (#SP-GESTURE-EDITOR-001) - #180

Merged
SoftBlack42 merged 2 commits into
mainfrom
codex/sp-gesture-editor-001
Oct 2, 2026
Merged

SoftBlack42 merged 2 commits into
mainfrom
codex/sp-gesture-editor-001

Conversation

@SoftBlack42

Copy link
Copy Markdown
Collaborator

概述 (Summary)

本 PR 完整对齐并补齐 StarPie 鼠标手势动作参数编辑器的各项配置能力,解决独占录制状态生命周期同步与取消动作文件浏览拦截问题,统一全流程四语言本地化,并针对按键映射编辑器表格完成深色主题(Light、ObsidianDark、TitaniumGray)样式适配。

关联任务:SP-GESTURE-EDITOR-001 (R1–R7)


主要变更 (Key Changes)

1. 手势启动程序配置能力对齐 (Launch Parity)

  • 补齐从软件库选择 (ProgramPickerWindow)、运行窗口捕捉 (WindowPickerWindow)、文件浏览 (OpenFileDialog) 以及启动参数与以普通权限运行设置;
  • 修复取消动作编辑器中「浏览...」按钮被手势映射列表成员校验阻断的问题,抽象统一合法目标判据 IsValidGestureOrCancelActionTarget;
  • 保证取消动作与手势行双向隔离,选取取消或目标失效时不改写配置。

2. 快捷键拼装与临时独占录制生命周期 (Exclusive Recording Lifecycle)

  • 引入快捷键拼装对话框 (HotkeyBuilderDialog) 支持;
  • 建立映射级独占录制状态管理,解决手势列表刷新(新建、删除其他行、语言刷新)时 VM 重建导致录制状态失配问题;
  • 覆盖全生命周期撤销与热键抑制恢复:完成录键、Esc 取消、再次点击暂停按钮、切换动作类型、删除正在录制的手势行、切换设置页 Tab、窗口隐藏或释放均能立即安全退出;
  • 租约核验有效拦截过期键盘回调,防止录入串写到轮盘扇区或其他手势行。

3. 按键映射表格深色主题适配 (KeyMap Theme Table)

  • 重构 KeyMapEditorWindow.xaml 中 DataGrid 样式(Header、Row、Cell);
  • 在浅色 (Light)、黑曜石深色 (ObsidianDark) 及钛灰色 (TitaniumGray) 下,表头、普通行、交替行、选中(活动/失焦)、鼠标悬停、键盘焦点与禁用状态的文本/背景对比度均满足 $\ge 4.5:1$。

4. 统一四语言本地化 (Localization)

  • 在 I18n.cs 中为 zh-CN、zh-TW、en-US、ja-JP 补充文件筛选器、选择对话框标题、独占录制状态/托盘气泡提示等 8 组词条,消除硬编码中文。

5. 自动化测试回归

  • scratch/StarPie-Gesture-Editor/:352 项行为与反例回归断言通过(包含 112 项 --r7-production-behavior 生产行为验证与基线缺陷复现证明);
  • scratch/StarPie-Gesture-Layout/:1482 项布局适应性(600/900/1400 DIP)及真实 WPF DataGrid 主题对比度断言全部通过。

验证与验收 (Verification)

  • 已通过全部 9 项本地自动化门禁(Release build, Gesture editor, Layout tests, Process launch tests 等);
  • 人工验证已确认通过(独占录制生命周期、Launch 与取消动作放行、深色主题表格可读性)。

- 手势动作参数编辑器对齐:补齐软件库选取、运行窗口捕捉、文件浏览及启动参数/普通权限配置,修复取消动作文件浏览拦截与独立目标隔离
- 手势快捷键增强与独占录制:支持快捷键拼装对话框;实现映射级临时独占录制生命周期,支持语言刷新、类型切换、删除行及窗口关闭时安全自动撤销与热键抑制恢复,防止过期回调串写
- 深色主题表格样式适配:修复 KeyMapEditorWindow 的 DataGrid 在 Light、ObsidianDark 与 TitaniumGray 下的文字对比度 ( 与各交互状态
- 统一四语言本地化:补充文件选择与独占录制提示词条,避免中文硬编码泄漏
- 补充生产样式与行为回归测试
…or-001

# Conflicts:
#	CHANGELOG.md
#	scratch/process-launch-tests/Program.cs
@SoftBlack42
SoftBlack42 merged commit ada4191 into main Oct 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant