diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-13 19:35:15 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-13 19:35:15 +0200 |
| commit | 59f5161500ef670421cbba9665bd4aadbbb9ad30 (patch) | |
| tree | 1e27e7bf854ee4127f1e1101b662df1b99561c72 /src/requestinterceptor.cpp | |
| parent | 14842cd136e45c551dde4f276af1176bfdf22023 (diff) | |
| download | qtmaildir-59f5161500ef670421cbba9665bd4aadbbb9ad30.tar.gz qtmaildir-59f5161500ef670421cbba9665bd4aadbbb9ad30.zip | |
feat(queries): right-align the More queries menu, and keep the row when nothing is pinned
The saved-query buttons are the row's content and read as a set; the overflow
menu is a control over that set, so it belongs apart from them rather than
trailing the last button. Moving the stretch above it pushes it to the right
edge.
Doing that exposed a latent defect in the same function. The row hid itself when
its layout held nothing but the stretch, which was written as a count of one and
happened to be right only because the stretch went last. With the stretch moved
the count changes, and the condition as written would have hidden a row holding
only the menu: a config with saved queries but none pinned would have had no
route to any of them, the menu buried along with the row. The check now counts
the content added before the stretch and treats an unpinned query as content in
its own right.
Both are mutation-checked. Putting the stretch back at the end fails the
alignment test, and restoring the old hide condition fails the new one, which
asserts the row survives with nothing but unpinned queries in it. The alignment
is asserted on the layout's own ordering rather than on x coordinates, since a
geometry assertion would also pass for a row that merely ran out of width.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'src/requestinterceptor.cpp')
0 files changed, 0 insertions, 0 deletions
