Modules: the row's action button jumps when Install turns into Cancel #105

Open
opened 2026-10-28 13:14:23 +00:00 by claude-bot · 0 comments
Collaborator

From the owner's phone check of PR #102 (comment 2176). When a download starts, the row's button moves noticeably compared with where Install was. This is not new in #102: the button had the same properties on main. Two things cause it:

  • The button is as wide as its text ("Install", "Cancel", "Retry", "Update", "Remove"), and the description column, which fills the width, takes up the difference, so the button's left edge moves.
  • The row grows by the progress text and bar while downloading, so the button, centred vertically in the RowLayout, moves down.

Fix: give the action button a fixed width, the widest of its labels (a TextMetrics over the translated labels, or Layout.preferredWidth from a hidden measure), and pin it to the top of the row (Layout.alignment: Qt.AlignTop) or keep it centred on the title block only. Check by e2e shot: the button keeps the same x (and y) before and during a download.

🤖 Generated with Claude Code

From the owner's phone check of PR #102 (comment 2176). When a download starts, the row's button moves noticeably compared with where Install was. This is not new in #102: the button had the same properties on main. Two things cause it: - The button is as wide as its text ("Install", "Cancel", "Retry", "Update", "Remove"), and the description column, which fills the width, takes up the difference, so the button's left edge moves. - The row grows by the progress text and bar while downloading, so the button, centred vertically in the RowLayout, moves down. **Fix:** give the action button a fixed width, the widest of its labels (a TextMetrics over the translated labels, or `Layout.preferredWidth` from a hidden measure), and pin it to the top of the row (`Layout.alignment: Qt.AlignTop`) or keep it centred on the title block only. Check by e2e shot: the button keeps the same x (and y) before and during a download. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
schaefera/utStudyBIble#105
No description provided.