diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-04 19:54:40 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-04 19:54:40 +0200 |
| commit | bd1b907ba22464bb869bcc10cc9327ed74c44791 (patch) | |
| tree | c593b55f9a5fd4912104c33cddf59f894c9308aa /CMakeLists.txt | |
| parent | a1f11aa861136fca3ec464e0a6268abeed1d8109 (diff) | |
| download | qtmaildir-bd1b907ba22464bb869bcc10cc9327ed74c44791.tar.gz qtmaildir-bd1b907ba22464bb869bcc10cc9327ed74c44791.zip | |
feat(ui): make Delete a toggle, and expire transient status messages
Items 16 and 33.
Delete now removes the `deleted` tag when every selected thread already
carries it, so pressing it twice puts a thread back. One direction for
the whole selection, never per row: toggling each independently would
leave a single keystroke with the selection in two states, which is
worse than either outcome.
Status messages are classified rather than blanket-timed, which is the
substance of item 33. Events expire after six seconds and fall back to
the last query's thread count: "Sync complete", "Nothing to undo", the
skip notice, the per-action "Archive: 3 threads". State does not expire:
"Searching...", "Syncing...", the selection count, and "Sync failed
(exit N)", because an error must not vanish before it is read.
A test caught a mistake in that routing. Making the per-action message
transient armed the timer during select-all, since tagSelected() runs on
a selection onSelectionChanged() had just described, and the count would
then be replaced while it was still true. Writing the count now cancels
any transient still counting down.
QStatusBar::showMessage() would give the same behaviour but the label is
added with addWidget() beside permanent widgets, so adopting it means
reworking that arrangement. One timer beside the label is the smaller
change.
Both fixes verified by reverting them and watching the tests fail.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'CMakeLists.txt')
0 files changed, 0 insertions, 0 deletions
