diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-10 08:46:31 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-10 08:46:31 +0200 |
| commit | 320189af0baa392bff7ed89fe17ac5d06455454d (patch) | |
| tree | 20246c1aaa74c37178958a12b34aa2298333ff47 /src/cidschemehandler.cpp | |
| parent | ecd363cd439442029229f45aa6db7d760cc41e1a (diff) | |
| download | qtmaildir-320189af0baa392bff7ed89fe17ac5d06455454d.tar.gz qtmaildir-320189af0baa392bff7ed89fe17ac5d06455454d.zip | |
refactor(view): stop the view painting, and hit-test the reply count
ThreadListView::paintEvent and its band arithmetic are deleted. The view existed
to paint a strip across five columns; with one column and one delegate painting
the whole card there is nothing to span, and the two faults that arithmetic kept
producing go with it: a deleted row cut in half, and every other row showing a
bare stripe.
What survives is the expander hit-test, because a delegate gets no click of its
own without an editor. It now asks CardDelegate for the rect rather than
recomputing it, so the drawn target and the clickable one cannot drift. The
siblingAtColumn(0) dance is gone: with one column, the index already is column 0.
Item 51 closes here rather than separately. A card is exactly viewport width, so
the view has no horizontal scroll range for a click to scroll into, and the test
asserts that directly.
Two rendering tests had to change how they measure, not merely which index they
name. The indent test asserted on visualRect, which now reports the SAME rect
for a thread and its reply by design, since setIndentation(0) leaves the indent
to CardLayout: it reads contentLeft off the layout instead. And the expander
test reported zero ink over a card the delegate paints 2183 pixels into, because
viewport()->render() returned a blank image, exactly as CLAUDE.md warns; it now
paints the delegate into an image directly and carries a guard proving the probe
can see ink before it reports finding none. Both were mutation-checked.
Two tests are deleted rather than ported. Both existed to prove the row-wide
strip spanned columns a delegate could not reach, which is a property of code
that no longer exists.
Diffstat (limited to 'src/cidschemehandler.cpp')
0 files changed, 0 insertions, 0 deletions
