Layout.fillWidth inside plain Row is a silent no-op (status row spacing broken) #18
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Problem
In
statusRow(a plainRowfrom QtQuick, notRowLayout):Layout.fillWidthis an attached property that only works insideRowLayout,ColumnLayout, orGridLayout. Inside a plainRowit is a silent no-op. The spacer never expands, so the exit-node text is not pushed to the right as intended.Impact
The status row appears crowded with no visual gap between IP and exit-node text. The intended right-alignment silently fails with no warning or error.
FYI from cross-model audit (claude-sonnet-4-6):
statusRowmixesanchors.left/rightwith an explicity: Theme.spacingM. While currently functional, this mixed positioning model (anchor-based horizontal + absolute vertical) is fragile. Any future change of the parent to aRowLayout/ColumnLayoutwould silently override theybinding.See also #19 (conflicting anchors.fill + anchors.verticalCenter on peer-list delegate Row).
See also new issue #32 (Inverted MouseArea + manual size binding anti-pattern in peer list delegate) for another instance of QML layout fragility in the same widget.
FYI from cross-model audit (claude-sonnet-4-6):
statusRowmixesanchors.left/rightwith an explicity: Theme.spacingM. While currently functional, this mixed positioning model (anchor-based horizontal + absolute vertical) is fragile. Any future change of the parent to aRowLayout/ColumnLayoutwould silently override theybinding.See also #19, #23, #32 — related QML layout/MouseArea fragility.
Layout.fillWidth in Row is no-op; removed or replaced with proper spacing. Merged to vibes.
Resolved via merge
07982c2. The plugin is confirmed working by @jtmorris. Human code review required before merging to testing.