Shared QML controls in qml/controls/ (#91) #102
No reviewers
Labels
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
schaefera/utStudyBIble!102
Loading…
Reference in a new issue
No description provided.
Delete branch "refactor/shared-controls"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #91.
What
A refactor with no visible change. PageBar moves to qml/controls/, and the new IconMenuItem, RowButton, TaskRow and NoteSwitch replace the Controls 2 tweaks that were repeated across the pages. CLAUDE.md's Code layout section gets the rule.
Deviations from the design:
enabledand exposes switchItem for the e2e report.Blast radius
Tier: trunk
Trunk paths touched: qml/pages/ReadingPane.qml
Testing tier: standard
Gate / rollback: none (no flag). Revert this merge.
Proof
f5dd50a: rust, audit, app, e2e and click all passed.f5dd50ais installed on the Plinius and restored the saved chapter, with no QML errors or AppArmor denials in the journal. The owner ran the checklist (comment 2171) and everything passed (comment 2176). Their two layout remarks were already true on main; filed as #104 and #105.Review
Reviewer: fresh-context
code-reviewat high: 0 findings, 0 fixed, 0 declined, 0 deferred, 0 fixed after the delta review, 0 left openReview-Confidence: 85
Confidence by part
cargo make i18n.🤖 Generated with Claude Code
Review level: high. Blast radius: trunk (qml/pages/ReadingPane.qml). Reviewed commit:
f5dd50a470. Range: origin/main...HEAD.Files reviewed: CLAUDE.md, po/de.po, po/utstudybible.schaefera.pot, qml/controls/{IconMenuItem,NoteSwitch,PageBar,RowButton,TaskRow}.qml, qml/controls/qmldir, qml/pages/{DisplaySettings,ModulesPage,ReadingPane,SettingsPage,StarterPage}.qml, qml/qml.qrc.
No defects found. Checked: ReadingPane's two IconMenuItems keep their objectNames, text, icon sources (relative to the declaring file) and handlers, and the icon size and touch height moved into IconMenuItem unchanged. The PageBar move is consistent across qmldir and qml.qrc, and no stale reference to pages/PageBar remains. The qrc lists every new control. The TaskRow aliases (cancelButton, retryButton) and NoteSwitch.switchItem keep the StarterPage and DisplaySettings e2e/report hooks working. The enabled state of NoteSwitch propagates to the inner Switch, and the note shows when it is disabled, as before. The ModulesPage and StarterPage TaskRow bindings preserve the old visibility, spacing, objectNames and detail placement. No findings outside the diff.
On the phone: build
refactor/shared-controls@f5dd50a47(built 14:01, installed 14:02) is now on the Plinius and running. It restored Gen 1 (ASV). The journal shows no QML errors and no AppArmor denials.Already checked by touch: the ⋮ menu (Modules and Settings with their icons, on Suru) and the Modules page (PageBar, Install buttons) both look as before.
On the phone, try: this PR should change nothing you can see, so look for anything that differs from yesterday's build.
CI: green on
f5dd50a. mem-check peak PSS was 155,837 kB (normal profile) and 164,704 kB (slow profile), against main's 164,084 / 157,691 kB, so it is within the run-to-run noise tracked in #96.Shots: 30 of 32 are pixel-equal to main. The 2 import-dialog shots differ only in the test server's random port in the URL.
Unrelated, seen on Modules: Aleppo's detail line ("עברית · 2.0.1 · 1.0 MB") is laid out right to left and its numbers are reordered. That label is not touched here. I'll file it separately.
Remarks:
ℹ️ When the download of a module occurs, the progress bar and the actual numerical data amounts should be on the same row. Additionally, a little bit of filler space could be added. Put into a separate could issue.
⚠️ When downloading a module, the cancel button seems to shift alignment compared to the install button in a notable way. This may be caused by the addition of the new row of the download bar shifting percentage or spacing calculations in the layout. Unsure on my end if this is a new regression.
All other checklist items pass.
Thanks, phone check passed.
RowButtononly moves them into one file. The jump comes from two things already on main. The button is as wide as its label ("Cancel" is narrower than "Install"), and the row grows by the progress lines, so the vertically centred button moves down. Filed as #105 (Could, raise it if you'd like it sooner) with a fixed-width, top-aligned fix.🤖 Generated with Claude Code
Gate approval on
f5dd50a470.f5dd50aover origin/main).WIP: Shared QML controls in qml/controls/ (#91)to Shared QML controls in qml/controls/ (#91)