diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-09 10:08:45 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-09 10:08:45 +0200 |
| commit | 190b6276f09495269d3dd869cf2d9d6bc6883681 (patch) | |
| tree | 1775baf57ee7bc0e38e7de0a98ebc16855707063 /tests/test_config.cpp | |
| parent | 7ed455d04ee1eb689d533333968cb8e97166aeba (diff) | |
| download | qtmaildir-190b6276f09495269d3dd869cf2d9d6bc6883681.tar.gz qtmaildir-190b6276f09495269d3dd869cf2d9d6bc6883681.zip | |
fix(ui): give Archive its own icon
Item 59, reported by the user against 0.12.0. Archive and Mark all read
both used `mail-mark-read`, so with the toolbar following a desktop set
to icon-only the two buttons were indistinguishable, despite doing
different things: archive removes `inbox` from the selection, mark all
read removes `unread` from the whole view.
Introduced by item 56 in the same session. `archive` had that name from
before, when only eight actions carried icons, and item 56 assigned it
to `mark_all_read` as well without checking the table for duplicates.
`mail-archive` is also the more accurate name, since `mail-mark-read`
describes read state rather than archiving.
The test asserts the class rather than the reported pair: a hand-written
table of twenty-four names has more plausible duplicates in it, so
noTwoActionsShareAnIcon compares every action against every other. It
compares cacheKey() rather than the theme name, because two different
names resolving to the same art are equally ambiguous on screen, and it
guards on every action having an icon first, since on a theme that
resolves nothing the comparison loop would never run and pass vacuously.
Mutation-checked with a different collision.
Item 56's own probe is what let this through: it verified every name
resolves to non-null art, which is true of two names resolving to the
same art. Resolving and being distinguishable are separate properties.
The replacement was picked by rendering both at 24px and comparing the
images.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'tests/test_config.cpp')
0 files changed, 0 insertions, 0 deletions
