Skip to content

Update dialog: stop clipping wrapped text (for real this time)#27

Merged
TN019 merged 1 commit into
mainfrom
update-dialog-fit
Jul 26, 2026
Merged

Update dialog: stop clipping wrapped text (for real this time)#27
TN019 merged 1 commit into
mainfrom
update-dialog-fit

Conversation

@TN019

@TN019 TN019 commented Jul 26, 2026

Copy link
Copy Markdown
Owner

背景

更新对话框的长文本裁切修过两次(657079f、7505086),但两次都在推送时撞上"PR 已被合并"的时序——提交搁浅在已合并的分支上,从未进入 main。用户实测三次仍然裁切,即为此故。

改动与实现

  • 对话框固定 500px 宽:自由宽度会先按单行文本把窗口撑得过宽,换行后高度又算错
  • _fit():布局定稿后按每个标签实际宽度用 QFontMetrics.boundingRect 测量换行文本高度(QLabel.heightForWidth 在部分字体/DPI 组合下对中日韩换行低估约半行,正是叠字来源),加余量后撑开对话框
  • 检查结果、更新中、更新失败三条路径都会重新计算

验证

  • 离屏渲染两种形态确认无裁切:脏工作区两行提示;分支提示 + 说明 + 更新按钮(与用户截图同款)
  • uv run pytest -q:163 passed / 5 skipped

流程教训

连续两次修复因"推送前 PR 已合并"而搁浅。今后每次推送修复前先 gh pr view --json state 确认目标 PR 仍然开放;若已合并则从最新 main 开新分支。

…d QFontMetrics-measured label heights (heightForWidth undercounts CJK wrapping); the two earlier attempts were stranded on already-merged PR branches.
@TN019
TN019 merged commit ed94cd7 into main Jul 26, 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